#1 Add history of last commands, allow fuck more than once
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import pytest
|
||||
from mock import patch, Mock
|
||||
from thefuck.history import History
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def process(monkeypatch):
|
||||
Process = Mock()
|
||||
Process.return_value.parent.return_value.pid = 1
|
||||
monkeypatch.setattr('thefuck.history.Process', Process)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def db(monkeypatch):
|
||||
class DBMock(dict):
|
||||
def __init__(self):
|
||||
super(DBMock, self).__init__()
|
||||
self.sync = Mock()
|
||||
|
||||
def __call__(self, *args, **kwargs):
|
||||
return self
|
||||
|
||||
db = DBMock()
|
||||
monkeypatch.setattr('thefuck.history.shelve.open', db)
|
||||
return db
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('process')
|
||||
class TestHistory(object):
|
||||
def test_set(self, db):
|
||||
history = History()
|
||||
history.update(last_script='ls',
|
||||
last_fixed_script=None)
|
||||
assert db == {'1-last_script': 'ls',
|
||||
'1-last_fixed_script': None}
|
||||
|
||||
def test_get(self, db):
|
||||
history = History()
|
||||
db['1-last_script'] = 'cd ..'
|
||||
assert history.last_script == 'cd ..'
|
||||
|
||||
def test_get_without_value(self, db):
|
||||
history = History()
|
||||
assert history.last_script is None
|
||||
Reference in New Issue
Block a user