• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python
2# Copyright (c) 2012 The Chromium Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6'''Unit test for lazy_re.
7'''
8
9import os
10import sys
11if __name__ == '__main__':
12  sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
13
14import re
15import unittest
16
17from grit import lazy_re
18
19
20class LazyReUnittest(unittest.TestCase):
21
22  def testCreatedOnlyOnDemand(self):
23    rex = lazy_re.compile('bingo')
24    self.assertEqual(None, rex._lazy_re)
25    self.assertTrue(rex.match('bingo'))
26    self.assertNotEqual(None, rex._lazy_re)
27
28  def testJustKwargsWork(self):
29    rex = lazy_re.compile(flags=re.I, pattern='BiNgO')
30    self.assertTrue(rex.match('bingo'))
31
32  def testPositionalAndKwargsWork(self):
33    rex = lazy_re.compile('BiNgO', flags=re.I)
34    self.assertTrue(rex.match('bingo'))
35
36
37if __name__ == '__main__':
38  unittest.main()
39