예제 #1
0
 def test_quote(self):
     self.assertEqual(windows.split('foo "bar baz"'), ['foo', 'bar baz'])
     self.assertEqual(windows.split('foo"bar baz"'), ['foobar baz'])
     self.assertEqual(windows.split(r'foo "c:\path\\"'),
                      ['foo', 'c:\\path\\'])
     self.assertEqual(windows.split('foo "it\'s \\"good\\""'),
                      ['foo', 'it\'s "good"'])
예제 #2
0
    def test_complex(self):
        p = self.execpath
        (test_exe, driver_exe, mid_driver_exe, mid_test_exe, inner_driver_exe,
         inner_test_exe) = self.make_complex()

        cmd, deps = self._build_commands()
        self.assertEqual(deps, [test_exe, mid_test_exe, inner_test_exe])

        self.assertEqual(cmd, [
            [test_exe],
            [driver_exe, literal(
                '"' + p('mid_driver') + ' ' + p('mid_test') + r' \"' +
                p('inner_driver') + r' \\\"' + p('inner_test') +
                ' --foo' + r'\\\"\""'
            )],
        ])

        arg = wshell.split(cmd[1][1].string)
        self.assertEqual(arg, [
            p('mid_driver') + ' ' + p('mid_test') + ' "' + p('inner_driver') +
            r' \"' + p('inner_test') + ' --foo' + r'\""'
        ])

        arg = wshell.split(arg[0])
        self.assertEqual(arg, [
            p('mid_driver'),
            p('mid_test'),
            p('inner_driver') + ' "' + p('inner_test') + ' --foo' + '"'
        ])

        arg = wshell.split(arg[2])
        self.assertEqual(arg, [
            p('inner_driver'),
            p('inner_test') + ' --foo'
        ])
예제 #3
0
 def test_type(self):
     self.assertEqual(windows.split('foo bar baz', type=tuple),
                      ('foo', 'bar', 'baz'))
예제 #4
0
 def test_backslash(self):
     self.assertEqual(windows.split(r'C:\path\to\file'),
                      [r'C:\path\to\file'])
예제 #5
0
 def test_multiple(self):
     self.assertEqual(windows.split('foo bar baz'), ['foo', 'bar', 'baz'])
예제 #6
0
 def test_single(self):
     self.assertEqual(windows.split('foo'), ['foo'])
     self.assertEqual(windows.split(' foo'), ['foo'])
     self.assertEqual(windows.split('foo '), ['foo'])
     self.assertEqual(windows.split(' foo '), ['foo'])