1
0
mirror of https://github.com/nvbn/thefuck.git synced 2025-02-21 20:38:54 +00:00

#471: Use parametrized tests

This commit is contained in:
nvbn 2016-03-04 00:20:33 +03:00
parent 77ad68b04b
commit 4f5b382df4

View File

@ -1,47 +1,37 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import pytest
from thefuck.rules.ln_no_hard_link import match, get_new_command from thefuck.rules.ln_no_hard_link import match, get_new_command
from tests.utils import Command from tests.utils import Command
error = "hard link not allowed for directory"
def test_match():
err = "hard link not allowed for directory"
assert not match(Command())
cmd1 = Command("ln barDir barLink", stderr="ln: barDir: {}".format(err))
assert match(cmd1)
cmd2 = Command("sudo ln a b", stderr="ln: a: {}".format(err))
assert match(cmd2)
cmd3 = Command("ln a b", stderr="... hard link")
assert not match(cmd3)
cmd4 = Command("sudo ln a b", stderr="... hard link")
assert not match(cmd4)
cmd5 = Command("a b", stderr=err)
assert not match(cmd5)
cmd6 = Command("sudo ln -nbi a b", stderr="ln: a: {}".format(err))
assert match(cmd6)
def test_get_new_command(): @pytest.mark.parametrize('script, stderr', [
cmd1 = Command("ln barDir barLink") ("ln barDir barLink", "ln: barDir: {}"),
assert get_new_command(cmd1) == "ln -s barDir barLink" ("sudo ln a b", "ln: a: {}"),
("sudo ln -nbi a b", "ln: a: {}")])
def test_match(script, stderr):
command = Command(script, stderr=stderr.format(error))
assert match(command)
cmd2 = Command("sudo ln barDir barLink")
assert get_new_command(cmd2) == "sudo ln -s barDir barLink"
cmd3 = Command("sudo ln -nbi a b") @pytest.mark.parametrize('script, stderr', [
assert get_new_command(cmd3) == "sudo ln -s -nbi a b" ('', ''),
("ln a b", "... hard link"),
("sudo ln a b", "... hard link"),
("a b", error)])
def test_assert_not_match(script, stderr):
command = Command(script, stderr=stderr)
assert not match(command)
cmd4 = Command("ln -nbi a b && ls")
assert get_new_command(cmd4) == "ln -s -nbi a b && ls"
cmd5 = Command("ln a ln") @pytest.mark.parametrize('script, result', [
assert get_new_command(cmd5) == "ln -s a ln" ("ln barDir barLink", "ln -s barDir barLink"),
("sudo ln barDir barLink", "sudo ln -s barDir barLink"),
cmd6 = Command("sudo ln a ln") ("sudo ln -nbi a b", "sudo ln -s -nbi a b"),
assert get_new_command(cmd6) == "sudo ln -s a ln" ("ln -nbi a b && ls", "ln -s -nbi a b && ls"),
("ln a ln", "ln -s a ln"),
("sudo ln a ln", "sudo ln -s a ln")])
def test_get_new_command(script, result):
command = Command(script)
assert get_new_command(command) == result