~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_globbing.py

Add a NEWS entry and prepare submission.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2010 Canonical Ltd
 
1
# Copyright (C) 2006 Canonical Ltd
2
2
# -*- coding: utf-8 -*-
3
3
#
4
4
# This program is free software; you can redistribute it and/or modify
17
17
 
18
18
from bzrlib.globbing import (
19
19
    Globster,
20
 
    ExceptionGlobster,
21
20
    _OrderedGlobster,
22
21
    normalize_pattern
23
22
    )
308
307
            self.assertEqual(patterns[x],globster.match(filename))
309
308
        self.assertEqual(None,globster.match('foobar.300'))
310
309
 
311
 
class TestExceptionGlobster(TestCase):
312
 
 
313
 
    def test_exclusion_patterns(self):
314
 
        """test that exception patterns are not matched"""
315
 
        patterns = [ u'*', u'!./local', u'!./local/**/*', u'!RE:\.z.*',u'!!./.zcompdump' ]
316
 
        globster = ExceptionGlobster(patterns)
317
 
        self.assertEqual(u'*', globster.match('tmp/foo.txt'))
318
 
        self.assertEqual(None, globster.match('local'))
319
 
        self.assertEqual(None, globster.match('local/bin/wombat'))
320
 
        self.assertEqual(None, globster.match('.zshrc'))
321
 
        self.assertEqual(None, globster.match('.zfunctions/fiddle/flam'))
322
 
        self.assertEqual(u'!!./.zcompdump', globster.match('.zcompdump'))
323
 
 
324
 
    def test_exclusion_order(self):
325
 
        """test that ordering of exclusion patterns does not matter"""
326
 
        patterns = [ u'static/**/*.html', u'!static/**/versionable.html']
327
 
        globster = ExceptionGlobster(patterns)
328
 
        self.assertEqual(u'static/**/*.html', globster.match('static/foo.html'))
329
 
        self.assertEqual(None, globster.match('static/versionable.html'))
330
 
        self.assertEqual(None, globster.match('static/bar/versionable.html'))
331
 
        globster = ExceptionGlobster(reversed(patterns))
332
 
        self.assertEqual(u'static/**/*.html', globster.match('static/foo.html'))
333
 
        self.assertEqual(None, globster.match('static/versionable.html'))
334
 
        self.assertEqual(None, globster.match('static/bar/versionable.html'))
335
310
 
336
311
class TestOrderedGlobster(TestCase):
337
312