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