示例#1
0
    def test_width_awareness(self):
        s = Chunk('asdf')
        self.assertEqual(
            Chunk('ab\u0300c').splitter().request(3), (3, Chunk('ab\u0300c')))
        self.assertEqual(
            Chunk('ab\u0300c').splitter().request(2), (2, Chunk('ab\u0300')))

        s = Chunk('ab\u0300c').splitter()
        self.assertEqual(s.request(1), (1, Chunk('a')))
        self.assertEqual(s.request(2), (2, Chunk('b\u0300c')))

        c = Chunk('aEbc')
        self.assertEqual(c.splitter().request(4), (4, Chunk('aEb')))
        s = c.splitter()
        self.assertEqual(s.request(2), (2, Chunk('a ')))
        self.assertEqual(s.request(2), (2, Chunk('E')))
        self.assertEqual(s.request(2), (2, Chunk('bc')))
        self.assertEqual(s.request(2), None)
示例#2
0
    def test_width_awareness(self):
        s = Chunk("asdf")
        self.assertEqual(
            Chunk("ab\u0300c").splitter().request(3), (3, Chunk("ab\u0300c")))
        self.assertEqual(
            Chunk("ab\u0300c").splitter().request(2), (2, Chunk("ab\u0300")))

        s = Chunk("ab\u0300c").splitter()
        self.assertEqual(s.request(1), (1, Chunk("a")))
        self.assertEqual(s.request(2), (2, Chunk("b\u0300c")))

        c = Chunk("aEbc")
        self.assertEqual(c.splitter().request(4), (4, Chunk("aEb")))
        s = c.splitter()
        self.assertEqual(s.request(2), (2, Chunk("a ")))
        self.assertEqual(s.request(2), (2, Chunk("E")))
        self.assertEqual(s.request(2), (2, Chunk("bc")))
        self.assertEqual(s.request(2), None)
示例#3
0
    def test_reusing_same_splitter(self):
        c = Chunk('asdf', {'fg': 32})
        s1 = c.splitter()
        self.assertEqual(s1.request(3), (3, Chunk('asd', {'fg': 32})))
        s1.reinit(c)
        self.assertEqual(s1.request(3), (3, Chunk('asd', {'fg': 32})))
        s1.reinit(c)
        self.assertEqual(s1.request(3), (3, Chunk('asd', {'fg': 32})))

        c2 = Chunk('abcdef', {})
        s1.reinit(c2)
        self.assertEqual(s1.request(3), (3, Chunk('abc')))
示例#4
0
    def test_reusing_same_splitter(self):
        c = Chunk("asdf", {"fg": 32})
        s1 = c.splitter()
        self.assertEqual(s1.request(3), (3, Chunk("asd", {"fg": 32})))
        s1.reinit(c)
        self.assertEqual(s1.request(3), (3, Chunk("asd", {"fg": 32})))
        s1.reinit(c)
        self.assertEqual(s1.request(3), (3, Chunk("asd", {"fg": 32})))

        c2 = Chunk("abcdef", {})
        s1.reinit(c2)
        self.assertEqual(s1.request(3), (3, Chunk("abc")))