1
0
mirror of https://github.com/nvbn/thefuck.git synced 2024-10-06 02:41:10 +01:00
thefuck/tests/rules/test_ln_no_hard_link.py

38 lines
1.2 KiB
Python
Raw Normal View History

2016-03-02 22:19:22 +00:00
# -*- coding: utf-8 -*-
2016-03-03 21:20:33 +00:00
import pytest
2016-03-02 16:48:20 +00:00
from thefuck.rules.ln_no_hard_link import match, get_new_command
from thefuck.types import Command
2016-03-02 16:48:20 +00:00
2016-03-03 21:20:33 +00:00
error = "hard link not allowed for directory"
@pytest.mark.parametrize('script, output', [
2016-03-03 21:20:33 +00:00
("ln barDir barLink", "ln: barDir: {}"),
("sudo ln a b", "ln: a: {}"),
("sudo ln -nbi a b", "ln: a: {}")])
def test_match(script, output):
command = Command(script, output.format(error))
2016-03-03 21:20:33 +00:00
assert match(command)
@pytest.mark.parametrize('script, output', [
2016-03-03 21:20:33 +00:00
('', ''),
("ln a b", "... hard link"),
("sudo ln a b", "... hard link"),
("a b", error)])
def test_not_match(script, output):
command = Command(script, output)
2016-03-03 21:20:33 +00:00
assert not match(command)
@pytest.mark.parametrize('script, result', [
("ln barDir barLink", "ln -s barDir barLink"),
("sudo ln barDir barLink", "sudo ln -s barDir barLink"),
("sudo ln -nbi a b", "sudo ln -s -nbi a b"),
("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, '')
2016-03-03 21:20:33 +00:00
assert get_new_command(command) == result