/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_cmdline.py

  • Committer: Robert Collins
  • Date: 2010-07-04 06:22:11 UTC
  • mto: This revision was merged to the branch mainline in revision 5332.
  • Revision ID: robertc@robertcollins.net-20100704062211-tk9hw6bnsn5x47fm
``bzrlib.lsprof.profile`` will no longer silently generate bad threaded
profiles when concurrent profile requests are made. Instead the profile
requests will be serialised. Reentrant requests will now deadlock.
(Robert Collins)

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'"\\\\')
 
116