Esempio n. 1
0
    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')]))
Esempio n. 2
0
    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')]))
Esempio n. 3
0
    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'))]))
Esempio n. 4
0
 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'])
Esempio n. 5
0
 def test_path(self):
     self.assertEqual(posix.escape_line(Path('foo')),
                      shell_list([Path('foo')]))