#1 Add history of last commands, allow fuck more than once

This commit is contained in:
nvbn
2015-05-01 08:38:38 +02:00
parent fb7376f5a5
commit ba601644d6
4 changed files with 110 additions and 20 deletions
+44
View File
@@ -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