Example #1
0
    def test_lines(self):
        b = Buffer('test')
        arglist = []

        def observer(args):
            arglist.append(args)

        b.inserted += observer
        b.deleted += observer

        assert_equal(b.lines, [''])

        b.write('123\n')
        assert_equal(b.lines, ['123', ''])
        assert_equal(len(b.lines), 2)
        assert_equal(arglist, [(0, 0, '123\n', None)])

        del arglist[:]
        b.lines[0] = 'new!'

        assert_equal(arglist, [(0, 0, '123', None), (0, 0, 'new!', None)])

        del arglist[:]
        copy = b.lines[:]
        copy[0] = 'noooo'
        assert_equal(arglist, [])

        assert_equal(b.text, 'new!\n') #sanity
        b.lines.append('nice!')
        assert_equal(b.text, 'new!\nnice!\n')
        assert_equal(arglist, [(1, 0, 'nice!\n', None)])

        del arglist[:]
        b.lines.extend(['an', 'other'])
        assert_equal(b.text, 'new!\nnice!\nan\nother\n')
        assert_equal(arglist, [(2, 0, 'an\n', None), (3, 0, 'other\n', None)])

        previouslines = b.lines[:][1:]
        del arglist[:]
        del b.lines[1:]
        assert_equal(b.text, 'new!\n')
        assert_equal(len(b._lines), 2)
        assert_equal(len(b.lines), 2)
        expected = [
            (1, 0, 'nice!', None),
            (2, 0, 'an', None),
            (3, 0, 'other', None),
            (4, 0, '', None),
        ]
        assert_equal(list(reversed(arglist)), expected)
Example #2
0
 def test_delete_all(self):
     b = Buffer('test')
     b.write('a\n')
     b.delete(0, 0, 'a\n', -1)
     assert_equal(b.text, '')
     b.insert(0, 0, 'a', 0)
     assert_equal(b.text, 'a')
Example #3
0
    def test_delete_3(self):
        b = Buffer('test')
        b.write('1234567890\nabcdefghij\nABCDEFGHIJ')

        b.delete(0, 10, 'abcdefghij\n', -1)
        assert_equal(b.text, '1234567890\nABCDEFGHIJ')

        b.delete(0, 4, '567890\nABCD', -1)
        assert_equal(b.text, '1234EFGHIJ')
Example #4
0
    def test_insert_2(self):
        b = Buffer('test')
        b.insert(0, 0, 'minime', 0)

        b.insert(0, 4, '\n', 1)
        assert_equal(b.text, 'mini\nme')

        b.insert(0, 2, 'mee\nmoo', 1)
        assert_equal(b.text, 'mimee\nmooni\nme')
Example #5
0
 def test_delete_4(self):
     b = Buffer('test')
     assert_equal(b.text, '')
     assert_equal(b.lines, [''])
     b.lines.append('asdf')
     assert_equal(b.text, 'asdf\n')
     assert_equal(b.lines, ['asdf', ''])
     b.delete(0, 0, 'asdf', 0)
     assert_equal(b.text, '\n')
     assert_equal(b.lines, ['', ''])
     b.insert(0, 0, '\n', 1)
     assert_equal(b.text, '\n\n')
     assert_equal(b.lines, ['', '', ''])
     b.delete(1, 0, '\n', -1)
     assert_equal(b.text, '\n')
     assert_equal(b.lines, ['', ''])
Example #6
0
    def test_write(self):
        b = Buffer('test')
        b.write('123')
        assert_equal(b.text, '123')
        assert_equal(b.curpos, 3)
        assert_equal(b.anchor, 3)

        b.write('456\n\n789\n000')
        assert_equal(b.text, '123456\n\n789\n000')

        b = Buffer('test')
        print >> b, 'Hello!'
        assert_equal(b.text, 'Hello!\n')
Example #7
0
    def test_delete_2(self):
        b = Buffer('test')
        b.write('123\n456\n789\n')

        b.delete(1, 1, '56\n789\n', -2)
        assert_equal(b.text, '123\n4')
Example #8
0
    def test_delete(self):
        b = Buffer('test')
        b.write('1234567890\n')

        b.delete(0, 0, '1', 0)
        assert_equal(b.text, '234567890\n')

        b.delete(0, 4, '6', 0)
        assert_equal(b.text, '23457890\n')

        b.delete(0, 7, '0', 0)
        assert_equal(b.text, '2345789\n')

        b.delete(0, 3, '57', 0)
        assert_equal(b.text, '23489\n')

        b.delete(0, 5, '\n', -1)
        assert_equal(b.text, '23489')
Example #9
0
    def test_insert(self):
        b = Buffer('test')
        assert_equal(b.text, '', 'wrong initial text')

        b.insert(0, 0, 'hello', 0)
        assert_equal(b.text, 'hello', 'wrong text after simple insert')

        b.insert(0, 0, 'bye ', 0)
        assert_equal(b.text, 'bye hello', 'wrong text after simple insert')

        b.insert(0, len('bye hello'), '\n', 1)
        assert_equal(b.text, 'bye hello\n', 'wrong text after newline insert')

        b.insert(1, 0, 'newline', 0)
        assert_equal(b.text, 'bye hello\nnewline', 'wrong text after second insert')

        b.insert(0, 3, 'embolimo\nkeimeno\n', 2)
        assert_equal(b.text, 'byeembolimo\nkeimeno\n hello\nnewline')