NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

utils.py (1754B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\lib\jinja2\testsuite\utils.py
      2 import gc
      3 import unittest
      4 import pickle
      5 from jinja2.testsuite import JinjaTestCase
      6 from jinja2.utils import LRUCache, escape, object_type_repr
      7 
      8 class LRUCacheTestCase(JinjaTestCase):
      9 
     10     def test_simple(self):
     11         d = LRUCache(3)
     12         d['a'] = 1
     13         d['b'] = 2
     14         d['c'] = 3
     15         d['a']
     16         d['d'] = 4
     17 
     18     def test_pickleable(self):
     19         cache = LRUCache(2)
     20         cache['foo'] = 42
     21         cache['bar'] = 23
     22         cache['foo']
     23         for protocol in range(3):
     24             copy = pickle.loads(pickle.dumps(cache, protocol))
     25 
     26 
     27 class HelpersTestCase(JinjaTestCase):
     28 
     29     def test_object_type_repr(self):
     30 
     31         class X(object):
     32             pass
     33 
     34         self.assert_equal(object_type_repr(42), 'int object')
     35         self.assert_equal(object_type_repr([]), 'list object')
     36         self.assert_equal(object_type_repr(X()), 'jinja2.testsuite.utils.X object')
     37         self.assert_equal(object_type_repr(None), 'None')
     38         self.assert_equal(object_type_repr(Ellipsis), 'Ellipsis')
     39 
     40 
     41 class MarkupLeakTestCase(JinjaTestCase):
     42 
     43     def test_markup_leaks(self):
     44         counts = set()
     45         for count in xrange(20):
     46             for item in xrange(1000):
     47                 escape('foo')
     48                 escape('<foo>')
     49                 escape(u'foo')
     50                 escape(u'<foo>')
     51 
     52             counts.add(len(gc.get_objects()))
     53 
     54 
     55 def suite():
     56     suite = unittest.TestSuite()
     57     suite.addTest(unittest.makeSuite(LRUCacheTestCase))
     58     suite.addTest(unittest.makeSuite(HelpersTestCase))
     59     if not hasattr(escape, 'func_code'):
     60         suite.addTest(unittest.makeSuite(MarkupLeakTestCase))
     61     return suite