/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_globbing.py

  • Committer: Richard Wilbur
  • Date: 2016-02-04 19:07:28 UTC
  • mto: This revision was merged to the branch mainline in revision 6618.
  • Revision ID: richard.wilbur@gmail.com-20160204190728-p0zvfii6zase0fw7
Update COPYING.txt from the original http://www.gnu.org/licenses/gpl-2.0.txt  (Only differences were in whitespace.)  Thanks to Petr Stodulka for pointing out the discrepancy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
import re
19
19
 
20
 
from .. import errors, lazy_regex
21
 
from ..globbing import (
 
20
from bzrlib import errors
 
21
from bzrlib.globbing import (
22
22
    Globster,
23
23
    ExceptionGlobster,
24
24
    _OrderedGlobster,
25
25
    normalize_pattern
26
26
    )
27
 
from . import (
 
27
from bzrlib.tests import (
28
28
    TestCase,
29
29
    )
30
30
 
184
184
             [u'foo', u'foo.bar'],
185
185
             [u'.foo', u'foo/bar', u'foo/.bar']),
186
186
            (u'*bar',
187
 
             [u'bar', u'foobar', u'foo\\nbar', u'foo.bar', u'foo/bar',
 
187
             [u'bar', u'foobar', ur'foo\nbar', u'foo.bar', u'foo/bar',
188
188
              u'foo/foobar', u'foo/f.bar', u'.bar', u'foo/.bar'],
189
189
             []),
190
190
            ])
222
222
             [u'foo', u'foo.bar'],
223
223
             [u'.foo', u'foo/bar', u'foo/.bar']),
224
224
            (u'**bar',
225
 
             [u'bar', u'foobar', u'foo\\nbar', u'foo.bar', u'foo/bar',
 
225
             [u'bar', u'foobar', ur'foo\nbar', u'foo.bar', u'foo/bar',
226
226
              u'foo/foobar', u'foo/f.bar', u'.bar', u'foo/.bar'],
227
227
             []),
228
228
            ])
304
304
        This test assumes the globs are broken into regexs containing 99
305
305
        groups.
306
306
        """
307
 
        patterns = [u'*.%03d' % i for i in range(300)]
 
307
        patterns = [ u'*.%03d' % i for i in xrange(0,300) ]
308
308
        globster = Globster(patterns)
309
309
        # test the fence posts
310
 
        for x in (0, 98, 99, 197, 198, 296, 297, 299):
 
310
        for x in (0,98,99,197,198,296,297,299):
311
311
            filename = u'foo.%03d' % x
312
 
            self.assertEqual(patterns[x], globster.match(filename))
313
 
        self.assertEqual(None, globster.match('foobar.300'))
 
312
            self.assertEqual(patterns[x],globster.match(filename))
 
313
        self.assertEqual(None,globster.match('foobar.300'))
314
314
 
315
315
    def test_bad_pattern(self):
316
316
        """Ensure that globster handles bad patterns cleanly."""
317
317
        patterns = [u'RE:[', u'/home/foo', u'RE:*.cpp']
318
318
        g = Globster(patterns)
319
 
        e = self.assertRaises(lazy_regex.InvalidPattern, g.match, 'filename')
 
319
        e = self.assertRaises(errors.InvalidPattern, g.match, 'filename')
320
320
        self.assertContainsRe(e.msg,
321
 
            r"File.*ignore.*contains error.*RE:\[.*RE:\*\.cpp", flags=re.DOTALL)
 
321
            "File.*ignore.*contains error.*RE:\[.*RE:\*\.cpp", flags=re.DOTALL)
322
322
 
323
323
 
324
324
class TestExceptionGlobster(TestCase):
325
325
 
326
326
    def test_exclusion_patterns(self):
327
327
        """test that exception patterns are not matched"""
328
 
        patterns = [ u'*', u'!./local', u'!./local/**/*', u'!RE:\\.z.*', u'!!./.zcompdump' ]
 
328
        patterns = [ u'*', u'!./local', u'!./local/**/*', u'!RE:\.z.*',u'!!./.zcompdump' ]
329
329
        globster = ExceptionGlobster(patterns)
330
330
        self.assertEqual(u'*', globster.match('tmp/foo.txt'))
331
331
        self.assertEqual(None, globster.match('local'))