def test_change_fore_with_trailing_colours(): ml = Metaline("foo bar", RunLengthList([(0, "foo"), (7, "bar")]), RunLengthList([(0, "bar")])) ml.change_fore(0, 3, "baz") assert ml.fores.items() == [(0, "baz"), (3, "foo"), (7, "bar")]
def test_changes_fg_right_at_end(self): metaline = Metaline("foobar", RunLengthList([(0, "FOO")]), None) metaline.change_fore(1, 6, "BAR") assert metaline.fores.items() == [(0, "FOO"), (1, "BAR"), (6, "FOO")]
def test_changes_fg_normally(self): metaline = Metaline("foobar", RunLengthList([(0, "FOO")]), None) metaline.change_fore(1, 3, "BAR") assert metaline.fores.items() == [(0, "FOO"), (1, "BAR"), (3, "FOO")]
def test_preserves_engulfed_colour_starts(self): metaline = Metaline("foobar", RunLengthList([(0, "FOO"), (2, "BAR")]), None) metaline.change_fore(1, 3, "BAZ") assert metaline.fores.items() == [(0, "FOO"), (1, "BAZ"), (3, "BAR")]
def test_Metaline_change_fg_sets_colour(): m = Metaline("foo", RunLengthList([(0, None)]), None) m.change_fore(0, 5, "foo") assert m.fores.items() == [(0, "foo"), (5, None)]