/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 breezy/tests/test_cmdline.py

  • Committer: Jelmer Vernooij
  • Date: 2017-06-08 23:30:31 UTC
  • mto: This revision was merged to the branch mainline in revision 6690.
  • Revision ID: jelmer@jelmer.uk-20170608233031-3qavls2o7a1pqllj
Update imports.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
    )
22
22
from .features import backslashdir_feature
23
23
 
24
 
 
25
24
class TestSplitter(tests.TestCase):
26
25
 
27
26
    def assertAsTokens(self, expected, line, single_quotes_allowed=False):
43
42
 
44
43
    def test_posix_quotations(self):
45
44
        self.assertAsTokens([(True, u'foo bar')], u"'foo bar'",
46
 
                            single_quotes_allowed=True)
 
45
            single_quotes_allowed=True)
47
46
        self.assertAsTokens([(True, u'foo bar')], u"'fo''o b''ar'",
48
 
                            single_quotes_allowed=True)
 
47
            single_quotes_allowed=True)
49
48
        self.assertAsTokens([(True, u'foo bar')], u'"fo""o b""ar"',
50
 
                            single_quotes_allowed=True)
 
49
            single_quotes_allowed=True)
51
50
        self.assertAsTokens([(True, u'foo bar')], u'"fo"\'o b\'"ar"',
52
 
                            single_quotes_allowed=True)
 
51
            single_quotes_allowed=True)
53
52
 
54
53
    def test_nested_quotations(self):
55
54
        self.assertAsTokens([(True, u'foo"" bar')], u"\"foo\\\"\\\" bar\"")
56
55
        self.assertAsTokens([(True, u'foo\'\' bar')], u"\"foo'' bar\"")
57
56
        self.assertAsTokens([(True, u'foo\'\' bar')], u"\"foo'' bar\"",
58
 
                            single_quotes_allowed=True)
 
57
            single_quotes_allowed=True)
59
58
        self.assertAsTokens([(True, u'foo"" bar')], u"'foo\"\" bar'",
60
 
                            single_quotes_allowed=True)
 
59
            single_quotes_allowed=True)
61
60
 
62
61
    def test_empty_result(self):
63
62
        self.assertAsTokens([], u'')
74
73
 
75
74
    def test_unicode_chars(self):
76
75
        self.assertAsTokens([(False, u'f\xb5\xee'), (False, u'\u1234\u3456')],
77
 
                            u'f\xb5\xee \u1234\u3456')
 
76
                             u'f\xb5\xee \u1234\u3456')
78
77
 
79
78
    def test_newline_in_quoted_section(self):
80
79
        self.assertAsTokens([(True, u'foo\nbar\nbaz\n')], u'"foo\nbar\nbaz\n"')
81
80
        self.assertAsTokens([(True, u'foo\nbar\nbaz\n')], u"'foo\nbar\nbaz\n'",
82
 
                            single_quotes_allowed=True)
 
81
            single_quotes_allowed=True)
83
82
 
84
83
    def test_escape_chars(self):
85
84
        self.assertAsTokens([(False, u'foo\\bar')], u'foo\\bar')
95
94
 
96
95
    def test_multiple_quoted_args(self):
97
96
        self.assertAsTokens([(True, u'x x'), (True, u'y y')],
98
 
                            u'"x x" "y y"')
 
97
            u'"x x" "y y"')
99
98
        self.assertAsTokens([(True, u'x x'), (True, u'y y')],
100
 
                            u'"x x" \'y y\'', single_quotes_allowed=True)
 
99
            u'"x x" \'y y\'', single_quotes_allowed=True)
101
100
 
102
101
    def test_n_backslashes_handling(self):
103
102
        # https://bugs.launchpad.net/bzr/+bug/528944