92
94
self.assertAsTokens([(True, u'x x'), (True, u'y y')],
93
95
u'"x x" \'y y\'', single_quotes_allowed=True)
97
def test_n_backslashes_handling(self):
98
# https://bugs.launchpad.net/bzr/+bug/528944
99
# actually we care about the doubled backslashes when they're
100
# represents UNC paths.
101
# But in fact there is too much weird corner cases
102
# (see https://bugs.launchpad.net/tortoisebzr/+bug/569050)
103
# so to reproduce every bit of windows command-line handling
104
# could be not worth of efforts?
105
self.requireFeature(backslashdir_feature)
106
self.assertAsTokens([(True, r'\\host\path')], r'"\\host\path"')
107
self.assertAsTokens([(False, r'\\host\path')], r'\\host\path')
108
# handling of " after the 2n and 2n+1 backslashes
109
# inside and outside the quoted string
110
self.assertAsTokens([(True, r'\\'), (False, r'*.py')], r'"\\\\" *.py')
111
self.assertAsTokens([(True, r'\\" *.py')], r'"\\\\\" *.py"')
112
self.assertAsTokens([(True, r'\\ *.py')], r'\\\\" *.py"')
113
self.assertAsTokens([(False, r'\\"'), (False, r'*.py')],
115
self.assertAsTokens([(True, u'\\\\')], u'"\\\\')