~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_glob_matcher.py

  • Committer: John Arbash Meinel
  • Date: 2006-01-07 18:24:35 UTC
  • mto: (1685.1.1 bzr-encoding)
  • mto: This revision was merged to the branch mainline in revision 1752.
  • Revision ID: john@arbash-meinel.com-20060107182435-d691991f144332cb
glob [!abc] should not match directory seperators

Show diffs side-by-side

added added

removed removed

Lines of Context:
47
47
 
48
48
    def test_sequence(self):
49
49
        self.assertEqual('a[abcd]$', glob_to_re('a[abcd]'))
50
 
        self.assertEqual('a[^abcd]$', glob_to_re('a[!abcd]'))
 
50
        self.assertEqual('a[^abcd/\\\\]$', glob_to_re('a[!abcd]'))
51
51
        self.assertEqual('a[\\^b]$' , glob_to_re('a[^b]'))
52
 
        self.assertEqual('a[^^]$', glob_to_re('a[!^]'))
 
52
        self.assertEqual('a[^^/\\\\]$', glob_to_re('a[!^]'))
53
53
 
54
54
 
55
55
class GlobMatching(TestCase):
68
68
            self.failIf(matcher(fname), 'glob %s should not match %s' % (glob, fname))
69
69
 
70
70
    def test_no_globs(self):
71
 
        self.assertMatching('a', ['a'], ['b', 'a ', ' a'])
72
 
        self.assertMatching('foo[', ['foo['], ['[', 'foo', '[foo'])
 
71
        check = self.assertMatching
 
72
        check('a', ['a'], ['b', 'a ', ' a'])
 
73
        check('foo[', ['foo['], ['[', 'foo', '[foo'])
73
74
 
74
75
    def test_star(self):
75
 
        self.assertMatching('a*', ['a', 'ab', 'abc', 'a.txt'],
76
 
                                  ['a/', 'a/a', 'foo/a', 'a\\'])
 
76
        check = self.assertMatching
 
77
        check('a*', ['a', 'ab', 'abc', 'a.txt'],
 
78
                    ['a/', 'a/a', 'foo/a', 'a\\'])
77
79
        # TODO jam 20060107 Some would say '*a' should not match .a
78
 
        self.assertMatching('*a', ['a', 'ba', 'bca', '.a', 'c.a'],
79
 
                                  ['/a', 'a/a', 'foo/a', '\\a', 'a\\a'])
 
80
        check('*a', ['a', 'ba', 'bca', '.a', 'c.a'],
 
81
                    ['/a', 'a/a', 'foo/a', '\\a', 'a\\a'])
80
82
 
81
83
    def test_starstar(self):
82
 
        self.assertMatching('a**', ['a', 'ab', 'abc', 'a/', 'a/a', 'a\\'],
83
 
                                   ['foo/a', 'b/a'])
84
 
        self.assertMatching('**a', ['a', 'ba', 'bca', '/a', '.a', './.a'],
85
 
                                   ['booty/ab', 'bca/b'])
 
84
        check = self.assertMatching
 
85
        check('a**', ['a', 'ab', 'abc', 'a/', 'a/a', 'a\\'],
 
86
                     ['foo/a', 'b/a'])
 
87
        check('**a', ['a', 'ba', 'bca', '/a', '.a', './.a'],
 
88
                     ['booty/ab', 'bca/b'])
 
89
 
 
90
    def test_sequence(self):
 
91
        check = self.assertMatching
 
92
        check('a[abcd]', ['aa', 'ab', 'ac', 'ad'],
 
93
                         ['a', 'baa', 'ae', 'a/', 'abc', 'aab'])
 
94
        check('a[!abcd]', ['ae', 'af', 'aq'],
 
95
                          ['a', 'a/', 'ab', 'ac', 'ad', 'abc'])
 
96
        check('a[^b]', ['ab', 'a^'], ['a', 'ac'])
 
97
        check('a[!^]', ['ab', 'ac'], ['a', 'a^', 'a/'])
86
98