Exemplo n.º 1
0
    def test_cache_usage(self):
        """Pattern cache is initialized and used correctly."""
        self.dispatcher = OSCDispatcher([], self, 512)
        ci = self.dispatcher._get_pattern.cache_info
        self.assertEqual(ci().maxsize, 512)
        self.assertEqual(ci().currsize, 0)

        patterns = [(r'/foo$', 'i', 'handler1'), (r'/bar$', 'f', 'handler2')]
        self.dispatcher.add_patterns(patterns)

        self.dispatcher('/foo', (), 'i')
        self.assertEqual(ci().hits, 0)
        self.dispatcher('/bar', (2, ), 'f')
        self.assertEqual(ci().hits, 0)
        self.dispatcher('/foo', (), 'i')
        self.assertEqual(ci().hits, 1)
Exemplo n.º 2
0
    def test_cache_store(self):
        """Matched patterns are store in cache."""
        self.dispatcher = OSCDispatcher([], self, 512)
        ci = self.dispatcher._get_pattern.cache_info
        self.assertEqual(ci().maxsize, 512)
        self.assertEqual(ci().currsize, 0)

        patterns = [(r'/foo$', 'i', 'handler1'), (r'/bar$', 'f', 'handler2')]
        self.dispatcher.add_patterns(patterns)

        self.dispatcher('/foo', (), 'i')
        self.assertEqual(ci().currsize, 1)
        self.dispatcher('/bar', (2, ), 'f')
        self.assertEqual(ci().currsize, 2)
        self.dispatcher('/foo', (), 'i')
        self.assertEqual(ci().currsize, 2)
        self.dispatcher('/foo', (), 'f')
        self.assertEqual(ci().currsize, 2)
        self.dispatcher('/baz', (), '')
        self.assertEqual(ci().currsize, 2)
Exemplo n.º 3
0
 def setUp(self):
     self.dispatchlog = []
     self.dispatcher = OSCDispatcher(patterns=[], search_ns=self)