~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_lazy_regex.py

  • Committer: Andrew Bennetts
  • Date: 2010-07-29 11:17:57 UTC
  • mfrom: (5050.3.17 2.2)
  • mto: This revision was merged to the branch mainline in revision 5365.
  • Revision ID: andrew.bennetts@canonical.com-20100729111757-018h3pcefo7z0dnq
Merge lp:bzr/2.2 into lp:bzr.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006, 2011 Canonical Ltd
 
1
# Copyright (C) 2006 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
41
41
    def _real_re_compile(self, *args, **kwargs):
42
42
        self._actions.append(('_real_re_compile',
43
43
                                               args, kwargs))
44
 
        return super(InstrumentedLazyRegex, self)._real_re_compile(
45
 
            *args, **kwargs)
 
44
        return super(InstrumentedLazyRegex, self)._real_re_compile(*args, **kwargs)
46
45
 
47
46
 
48
47
class TestLazyRegex(tests.TestCase):
117
116
 
118
117
 
119
118
class TestInstallLazyCompile(tests.TestCase):
120
 
    """Tests for lazy compiled regexps.
121
119
 
122
 
    Other tests, and bzrlib in general, count on the lazy regexp compiler
123
 
    being installed, and this is done by loading bzrlib.  So these tests
124
 
    assume it is installed, and leave it installed when they're done.
125
 
    """
 
120
    def setUp(self):
 
121
        super(TestInstallLazyCompile, self).setUp()
 
122
        self.addCleanup(lazy_regex.reset_compile)
126
123
 
127
124
    def test_install(self):
128
 
        # Don't count on it being present
129
125
        lazy_regex.install_lazy_compile()
130
126
        pattern = re.compile('foo')
131
127
        self.assertIsInstance(pattern, lazy_regex.LazyRegex)
132
128
 
133
129
    def test_reset(self):
 
130
        lazy_regex.install_lazy_compile()
134
131
        lazy_regex.reset_compile()
135
 
        self.addCleanup(lazy_regex.install_lazy_compile)
136
132
        pattern = re.compile('foo')
137
 
        self.assertFalse(isinstance(pattern, lazy_regex.LazyRegex),
138
 
            'lazy_regex.reset_compile() did not restore the original'
139
 
            ' compile() function %s' % (type(pattern),))
 
133
        self.failIf(isinstance(pattern, lazy_regex.LazyRegex),
 
134
                    'lazy_regex.reset_compile() did not restore the original'
 
135
                    ' compile() function %s' % (type(pattern),))
140
136
        # but the returned object should still support regex operations
141
137
        m = pattern.match('foo')
142
138
        self.assertEqual('foo', m.group())