def test_class_combinations_2(): # In this case, our style has both class 'a' and 'b'. # The style that is defined the latest get priority. style = Style([ ("a b", "#ff0000"), ("b", "#00ff00"), ("a", "#0000ff"), ]) expected = Attrs( color="00ff00", bgcolor="", bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False, ) assert style.get_attrs_for_style_str("class:a class:b") == expected assert style.get_attrs_for_style_str("class:a,b") == expected assert style.get_attrs_for_style_str("class:a,b,c") == expected # Defining 'a' latest should give priority to 'a'. expected = Attrs( color="0000ff", bgcolor="", bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False, ) assert style.get_attrs_for_style_str("class:b class:a") == expected assert style.get_attrs_for_style_str("class:b,a") == expected
def test_class_combinations_1(): # In this case, our style has both class 'a' and 'b'. # Given that the style for 'a b' is defined at the end, that one is used. style = Style([ ("a", "#0000ff"), ("b", "#00ff00"), ("a b", "#ff0000"), ]) expected = Attrs( color="ff0000", bgcolor="", bold=False, underline=False, strike=False, italic=False, blink=False, reverse=False, hidden=False, ) assert style.get_attrs_for_style_str("class:a class:b") == expected assert style.get_attrs_for_style_str("class:a,b") == expected assert style.get_attrs_for_style_str("class:a,b,c") == expected # Changing the order shouldn't matter. assert style.get_attrs_for_style_str("class:b class:a") == expected assert style.get_attrs_for_style_str("class:b,a") == expected
def test_class_combinations_2(): # In this case, our style has both class 'a' and 'b'. # The style that is defined the latest get priority. style = Style([ ('a b', '#ff0000'), ('b', '#00ff00'), ('a', '#0000ff'), ]) expected = Attrs(color='00ff00', bgcolor='', bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False) assert style.get_attrs_for_style_str('class:a class:b') == expected assert style.get_attrs_for_style_str('class:a,b') == expected assert style.get_attrs_for_style_str('class:a,b,c') == expected # Defining 'a' latest should give priority to 'a'. expected = Attrs(color='0000ff', bgcolor='', bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False) assert style.get_attrs_for_style_str('class:b class:a') == expected assert style.get_attrs_for_style_str('class:b,a') == expected
def test_class_combinations_1(): # In this case, our style has both class 'a' and 'b'. # Given that the style for 'a b' is defined at the end, that one is used. style = Style([ ('a', '#0000ff'), ('b', '#00ff00'), ('a b', '#ff0000'), ]) expected = Attrs(color='ff0000', bgcolor='', bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False) assert style.get_attrs_for_style_str('class:a class:b') == expected assert style.get_attrs_for_style_str('class:a,b') == expected assert style.get_attrs_for_style_str('class:a,b,c') == expected # Changing the order shouldn't matter. assert style.get_attrs_for_style_str('class:b class:a') == expected assert style.get_attrs_for_style_str('class:b,a') == expected
def test_substyles(): style = Style([ ("a.b", "#ff0000 bold"), ("a", "#0000ff"), ("b", "#00ff00"), ("b.c", "#0000ff italic"), ]) # Starting with a.* expected = Attrs( color="0000ff", bgcolor="", bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False, ) assert style.get_attrs_for_style_str("class:a") == expected expected = Attrs( color="ff0000", bgcolor="", bold=True, underline=False, italic=False, blink=False, reverse=False, hidden=False, ) assert style.get_attrs_for_style_str("class:a.b") == expected assert style.get_attrs_for_style_str("class:a.b.c") == expected # Starting with b.* expected = Attrs( color="00ff00", bgcolor="", bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False, ) assert style.get_attrs_for_style_str("class:b") == expected assert style.get_attrs_for_style_str("class:b.a") == expected expected = Attrs( color="0000ff", bgcolor="", bold=False, underline=False, italic=True, blink=False, reverse=False, hidden=False, ) assert style.get_attrs_for_style_str("class:b.c") == expected assert style.get_attrs_for_style_str("class:b.c.d") == expected
def test_substyles(): style = Style([ ('a.b', '#ff0000 bold'), ('a', '#0000ff'), ('b', '#00ff00'), ('b.c', '#0000ff italic'), ]) # Starting with a.* expected = Attrs(color='0000ff', bgcolor='', bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False) assert style.get_attrs_for_style_str('class:a') == expected expected = Attrs(color='ff0000', bgcolor='', bold=True, underline=False, italic=False, blink=False, reverse=False, hidden=False) assert style.get_attrs_for_style_str('class:a.b') == expected assert style.get_attrs_for_style_str('class:a.b.c') == expected # Starting with b.* expected = Attrs(color='00ff00', bgcolor='', bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False) assert style.get_attrs_for_style_str('class:b') == expected assert style.get_attrs_for_style_str('class:b.a') == expected expected = Attrs(color='0000ff', bgcolor='', bold=False, underline=False, italic=True, blink=False, reverse=False, hidden=False) assert style.get_attrs_for_style_str('class:b.c') == expected assert style.get_attrs_for_style_str('class:b.c.d') == expected
def test_class_combinations_2(): # In this case, our style has both class 'a' and 'b'. # The style that is defined the latest get priority. style = Style([ ('a b', '#ff0000'), ('b', '#00ff00'), ('a', '#0000ff'), ]) expected = Attrs(color='00ff00', bgcolor='', bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False) assert style.get_attrs_for_style_str('class:a class:b') == expected assert style.get_attrs_for_style_str('class:a,b') == expected assert style.get_attrs_for_style_str('class:a,b,c') == expected # Defining 'a' latest should give priority to 'a'. expected = Attrs(color='0000ff', bgcolor='', bold=False, underline=False, italic=False, blink=False, reverse=False, hidden=False) assert style.get_attrs_for_style_str('class:b class:a') == expected assert style.get_attrs_for_style_str('class:b,a') == expected