from . import VT100Test class AttrTest(VT100Test): def test_colors(self): assert self.vt.fgcolor() is None assert self.vt.bgcolor() is None self.process("foo\033[31mbar") assert self.vt.cell(0, 0).contents() == "f" assert self.vt.cell(0, 0).fgcolor() is None assert self.vt.cell(0, 0).bgcolor() is None assert self.vt.cell(0, 3).contents() == "b" assert self.vt.cell(0, 3).fgcolor() == 1 assert self.vt.cell(0, 3).bgcolor() is None assert self.vt.fgcolor() == 1 assert self.vt.bgcolor() is None self.process("\033[2D\033[45mab") assert self.vt.cell(0, 4).contents() == "a" assert self.vt.cell(0, 4).fgcolor() == 1 assert self.vt.cell(0, 4).bgcolor() == 5 assert self.vt.fgcolor() == 1 assert self.vt.bgcolor() == 5 self.process("\033[m") assert self.vt.fgcolor() is None assert self.vt.bgcolor() is None self.process("\033[15;15Hfoo\033[31mbar\033[m") assert self.vt.cell(14, 14).contents() == "f" assert self.vt.cell(14, 14).fgcolor() is None assert self.vt.cell(14, 14).bgcolor() is None assert self.vt.cell(14, 17).contents() == "b" assert self.vt.cell(14, 17).fgcolor() == 1 assert self.vt.cell(14, 17).bgcolor() is None assert self.vt.fgcolor() is None assert self.vt.bgcolor() is None self.process("\033[2D\033[45mab") assert self.vt.cell(14, 18).contents() == "a" assert self.vt.cell(14, 18).fgcolor() is None assert self.vt.cell(14, 18).bgcolor() == 5 assert self.vt.fgcolor() is None assert self.vt.bgcolor() == 5 self.process("\033[m\033[2J\033[H") self.process("a\033[38;5;123mb\033[48;5;158mc") assert self.vt.fgcolor() == 123 assert self.vt.bgcolor() == 158 assert self.vt.cell(0, 0).fgcolor() is None assert self.vt.cell(0, 0).bgcolor() is None assert self.vt.cell(0, 1).fgcolor() == 123 assert self.vt.cell(0, 1).bgcolor() is None assert self.vt.cell(0, 2).fgcolor() == 123 assert self.vt.cell(0, 2).bgcolor() == 158 self.process("\033[38;2;50;75;100md\033[48;2;125;150;175me") assert self.vt.fgcolor() == (50, 75, 100) assert self.vt.bgcolor() == (125, 150, 175) assert self.vt.cell(0, 3).fgcolor() == (50, 75, 100) assert self.vt.cell(0, 3).bgcolor() == 158 assert self.vt.cell(0, 4).fgcolor() == (50, 75, 100) assert self.vt.cell(0, 4).bgcolor() == (125, 150, 175) self.process("\033[m\033[2J\033[H") self.process("\033[32;47mfoo") assert self.vt.fgcolor() == 2 assert self.vt.bgcolor() == 7 assert self.vt.cell(0, 1).fgcolor() == 2 assert self.vt.cell(0, 1).bgcolor() == 7 def test_attrs(self): assert not self.vt.bold() assert not self.vt.italic() assert not self.vt.underline() assert not self.vt.inverse() self.process("f\033[1mo\033[3mo\033[4mo\033[7mo") assert self.vt.bold() assert self.vt.italic() assert self.vt.underline() assert self.vt.inverse() assert not self.vt.cell(0, 0).bold() assert not self.vt.cell(0, 0).italic() assert not self.vt.cell(0, 0).underline() assert not self.vt.cell(0, 0).inverse() assert self.vt.cell(0, 1).bold() assert not self.vt.cell(0, 1).italic() assert not self.vt.cell(0, 1).underline() assert not self.vt.cell(0, 1).inverse() assert self.vt.cell(0, 2).bold() assert self.vt.cell(0, 2).italic() assert not self.vt.cell(0, 2).underline() assert not self.vt.cell(0, 2).inverse() assert self.vt.cell(0, 3).bold() assert self.vt.cell(0, 3).italic() assert self.vt.cell(0, 3).underline() assert not self.vt.cell(0, 3).inverse() assert self.vt.cell(0, 4).bold() assert self.vt.cell(0, 4).italic() assert self.vt.cell(0, 4).underline() assert self.vt.cell(0, 4).inverse() self.process("\033[m") assert not self.vt.bold() assert not self.vt.italic() assert not self.vt.underline() assert not self.vt.inverse() self.process("\033[2J\033[H") self.process("\033[1;4mf") assert self.vt.bold() assert not self.vt.italic() assert self.vt.underline() assert not self.vt.inverse() assert self.vt.cell(0, 0).bold() assert not self.vt.cell(0, 0).italic() assert self.vt.cell(0, 0).underline() assert not self.vt.cell(0, 0).inverse() self.process("\033[22mo\033[24mo") assert not self.vt.bold() assert not self.vt.italic() assert not self.vt.underline() assert not self.vt.inverse() assert not self.vt.cell(0, 1).bold() assert not self.vt.cell(0, 1).italic() assert self.vt.cell(0, 1).underline() assert not self.vt.cell(0, 1).inverse() assert not self.vt.cell(0, 2).bold() assert not self.vt.cell(0, 2).italic() assert not self.vt.cell(0, 2).underline() assert not self.vt.cell(0, 2).inverse() self.process("\033[1;3;4;7mo") assert self.vt.bold() assert self.vt.italic() assert self.vt.underline() assert self.vt.inverse() assert self.vt.cell(0, 3).bold() assert self.vt.cell(0, 3).italic() assert self.vt.cell(0, 3).underline() assert self.vt.cell(0, 3).inverse()