2015-05-23 16:18:15 +01:00
|
|
|
import pytest
|
|
|
|
from thefuck.rules.open import match, get_new_command
|
|
|
|
from tests.utils import Command
|
|
|
|
|
|
|
|
|
2016-08-11 02:20:12 +01:00
|
|
|
@pytest.fixture
|
|
|
|
def stderr(script):
|
|
|
|
return 'The file {} does not exist.\n'.format(script.split(' ', 1)[1])
|
2015-05-23 16:18:15 +01:00
|
|
|
|
|
|
|
|
2016-08-11 02:20:12 +01:00
|
|
|
@pytest.mark.parametrize('script', [
|
|
|
|
'open foo.com',
|
|
|
|
'open foo.ly',
|
|
|
|
'open foo.org',
|
|
|
|
'open foo.net',
|
|
|
|
'open foo.se',
|
|
|
|
'open foo.io',
|
|
|
|
'xdg-open foo.com',
|
|
|
|
'gnome-open foo.com',
|
|
|
|
'kde-open foo.com'])
|
|
|
|
def test_match(script, stderr):
|
|
|
|
assert match(Command(script, stderr=stderr))
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('script, new_command', [
|
|
|
|
('open foo.com', 'open http://foo.com'),
|
|
|
|
('open foo.ly', 'open http://foo.ly'),
|
|
|
|
('open foo.org', 'open http://foo.org'),
|
|
|
|
('open foo.net', 'open http://foo.net'),
|
|
|
|
('open foo.se', 'open http://foo.se'),
|
|
|
|
('open foo.io', 'open http://foo.io'),
|
|
|
|
('xdg-open foo.io', 'xdg-open http://foo.io'),
|
|
|
|
('gnome-open foo.io', 'gnome-open http://foo.io'),
|
|
|
|
('kde-open foo.io', 'kde-open http://foo.io')])
|
|
|
|
def test_get_new_command(script, new_command, stderr):
|
|
|
|
assert get_new_command(Command(script, stderr=stderr)) == new_command
|