mirror of
https://github.com/nvbn/thefuck.git
synced 2025-04-15 15:20:42 +01:00
commit
122541b7d8
@ -11,8 +11,9 @@ def tar_error(tmpdir):
|
|||||||
path = os.path.join(str(tmpdir), filename)
|
path = os.path.join(str(tmpdir), filename)
|
||||||
|
|
||||||
def reset(path):
|
def reset(path):
|
||||||
|
os.mkdir('d')
|
||||||
with tarfile.TarFile(path, 'w') as archive:
|
with tarfile.TarFile(path, 'w') as archive:
|
||||||
for file in ('a', 'b', 'c'):
|
for file in ('a', 'b', 'c', 'd/e'):
|
||||||
with open(file, 'w') as f:
|
with open(file, 'w') as f:
|
||||||
f.write('*')
|
f.write('*')
|
||||||
|
|
||||||
@ -26,7 +27,8 @@ def tar_error(tmpdir):
|
|||||||
os.chdir(str(tmpdir))
|
os.chdir(str(tmpdir))
|
||||||
reset(path)
|
reset(path)
|
||||||
|
|
||||||
assert(set(os.listdir('.')) == {filename, 'a', 'b', 'c'})
|
assert set(os.listdir('.')) == {filename, 'a', 'b', 'c', 'd'}
|
||||||
|
assert set(os.listdir('./d')) == {'e'}
|
||||||
|
|
||||||
return fixture
|
return fixture
|
||||||
|
|
||||||
@ -53,7 +55,7 @@ def test_match(tar_error, filename, script, fixed):
|
|||||||
def test_side_effect(tar_error, filename, script, fixed):
|
def test_side_effect(tar_error, filename, script, fixed):
|
||||||
tar_error(filename)
|
tar_error(filename)
|
||||||
side_effect(Command(script=script.format(filename)), None)
|
side_effect(Command(script=script.format(filename)), None)
|
||||||
assert(os.listdir('.') == [filename])
|
assert set(os.listdir('.')) == {filename, 'd'}
|
||||||
|
|
||||||
|
|
||||||
@parametrize_filename
|
@parametrize_filename
|
||||||
|
@ -15,12 +15,15 @@ def zip_error(tmpdir):
|
|||||||
archive.writestr('b', '2')
|
archive.writestr('b', '2')
|
||||||
archive.writestr('c', '3')
|
archive.writestr('c', '3')
|
||||||
|
|
||||||
|
archive.writestr('d/e', '4')
|
||||||
|
|
||||||
archive.extractall()
|
archive.extractall()
|
||||||
|
|
||||||
os.chdir(str(tmpdir))
|
os.chdir(str(tmpdir))
|
||||||
reset(path)
|
reset(path)
|
||||||
|
|
||||||
assert(set(os.listdir('.')) == {'foo.zip', 'a', 'b', 'c'})
|
assert set(os.listdir('.')) == {'foo.zip', 'a', 'b', 'c', 'd'}
|
||||||
|
assert set(os.listdir('./d')) == {'e'}
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('script', [
|
@pytest.mark.parametrize('script', [
|
||||||
@ -35,7 +38,7 @@ def test_match(zip_error, script):
|
|||||||
'unzip foo.zip'])
|
'unzip foo.zip'])
|
||||||
def test_side_effect(zip_error, script):
|
def test_side_effect(zip_error, script):
|
||||||
side_effect(Command(script=script), None)
|
side_effect(Command(script=script), None)
|
||||||
assert(os.listdir('.') == ['foo.zip'])
|
assert set(os.listdir('.')) == {'foo.zip', 'd'}
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('script,fixed', [
|
@pytest.mark.parametrize('script,fixed', [
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import os
|
|
||||||
import tarfile
|
import tarfile
|
||||||
|
import os
|
||||||
from thefuck import shells
|
from thefuck import shells
|
||||||
from thefuck.utils import for_app
|
from thefuck.utils import for_app
|
||||||
|
|
||||||
@ -39,4 +39,9 @@ def get_new_command(command):
|
|||||||
def side_effect(old_cmd, command):
|
def side_effect(old_cmd, command):
|
||||||
with tarfile.TarFile(_tar_file(old_cmd.script)[0]) as archive:
|
with tarfile.TarFile(_tar_file(old_cmd.script)[0]) as archive:
|
||||||
for file in archive.getnames():
|
for file in archive.getnames():
|
||||||
os.remove(file)
|
try:
|
||||||
|
os.remove(file)
|
||||||
|
except OSError:
|
||||||
|
# does not try to remove directories as we cannot know if they
|
||||||
|
# already existed before
|
||||||
|
pass
|
||||||
|
@ -34,7 +34,12 @@ def get_new_command(command):
|
|||||||
def side_effect(old_cmd, command):
|
def side_effect(old_cmd, command):
|
||||||
with zipfile.ZipFile(_zip_file(old_cmd), 'r') as archive:
|
with zipfile.ZipFile(_zip_file(old_cmd), 'r') as archive:
|
||||||
for file in archive.namelist():
|
for file in archive.namelist():
|
||||||
os.remove(file)
|
try:
|
||||||
|
os.remove(file)
|
||||||
|
except OSError:
|
||||||
|
# does not try to remove directories as we cannot know if they
|
||||||
|
# already existed before
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
requires_output = False
|
requires_output = False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user