def test_string(self): self.assertEqual(posix.escape_line('foobar'), shell_list([shell_literal(r'foobar')])) with mock.patch('bfg9000.shell.posix.platform_info', return_value=self.FakePlatform('posix')): self.assertEqual(posix.escape_line(r'foo\bar'), shell_list([shell_literal(r'foo\bar')])) with mock.patch('bfg9000.shell.posix.platform_info', return_value=self.FakePlatform('windows')): self.assertEqual(posix.escape_line(r'foo\bar'), shell_list([shell_literal(r'foo\\bar')]))
def test_string(self): class FakePlatform(object): def __init__(self, family): self.family = family with mock.patch('bfg9000.shell.posix.platform_info', return_value=FakePlatform('posix')): self.assertEqual(posix.escape_line(r'foo\bar'), shell_list([shell_literal(r'foo\bar')])) with mock.patch('bfg9000.shell.posix.platform_info', return_value=FakePlatform('windows')): self.assertEqual(posix.escape_line(r'foo\bar'), shell_list([shell_literal(r'foo\\bar')]))
def test_jbos(self): self.assertEqual( posix.escape_line(jbos('foo', literal('bar'))), shell_list([jbos(shell_literal('foo'), literal('bar'))])) s = jbos(r'foo\bar', literal(r'baz\quux')) with mock.patch('bfg9000.shell.posix.platform_info', return_value=self.FakePlatform('posix')): self.assertEqual( posix.escape_line(s), shell_list( [jbos(shell_literal(r'foo\bar'), literal(r'baz\quux'))])) with mock.patch('bfg9000.shell.posix.platform_info', return_value=self.FakePlatform('windows')): self.assertEqual( posix.escape_line(s), shell_list( [jbos(shell_literal(r'foo\\bar'), literal(r'baz\quux'))]))
def test_iterable(self): self.assertEqual(posix.escape_line(['foo', 'bar']), ['foo', 'bar']) gen = (i for i in ['foo', 'bar']) self.assertEqual(posix.escape_line(gen), gen) self.assertEqual(posix.escape_line(gen, listify=True), ['foo', 'bar'])
def test_path(self): self.assertEqual(posix.escape_line(Path('foo')), shell_list([Path('foo')]))