def test_Metaline_insert_adjustsindices_beyond_span(): fores = RunLengthList([(0, 'F'), (5, 'B')]) backs = RunLengthList([(0, 'F'), (5, 'B')]) m = Metaline('foobar', fores, backs) m.insert(3, 'baz') assert m.fores.items() == [(0, 'F'), (8, 'B')], m.fores.items() assert m.backs.items() == [(0, 'F'), (8, 'B')], m.backs.items()
def test_Metaline_insert_fg_bg_on_too_long(): fores, backs = RunLengthList([(0, 'foo')]), RunLengthList([(0, 'bar')]) m = Metaline('foo', fores.copy(), backs.copy()) m.insert(2, 'bar') assert m.fores == fores, m.backs == backs
def test_Metaline_insert_inserts_text(): m = Metaline('foobaz', RunLengthList([(0, None)]), RunLengthList([(0, None)])) m.insert(3, 'bar') assert m.line == 'foobarbaz', m.line