~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_cmdline.py

  • Committer: Vincent Ladeuil
  • Date: 2012-03-09 16:48:55 UTC
  • mto: (6437.23.24 2.5)
  • mto: This revision was merged to the branch mainline in revision 6499.
  • Revision ID: v.ladeuil+lp@free.fr-20120309164855-htdn25hp7x65mmir
Rely on sphinx for texinfo doc generation

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
from bzrlib import (
19
19
    cmdline,
20
 
    tests)
 
20
    tests,
 
21
    )
 
22
from bzrlib.tests.features import backslashdir_feature
21
23
 
22
24
class TestSplitter(tests.TestCase):
23
25
 
91
93
            u'"x x" "y y"')
92
94
        self.assertAsTokens([(True, u'x x'), (True, u'y y')],
93
95
            u'"x x" \'y y\'', single_quotes_allowed=True)
 
96
 
 
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')],
 
114
                            r'\\\\\" *.py')
 
115
        self.assertAsTokens([(True, u'\\\\')], u'"\\\\')