Ejemplo n.º 1
0
def test_build_color_index(in_, expected):
    """Test function.

    :param str in_: Input string to pass to function.
    :param str expected: Expected return value.
    """
    actual = build_color_index(in_)
    assert actual == expected
Ejemplo n.º 2
0
def test_build_color_index(in_, expected):
    """Test function.

    :param str in_: Input string to pass to function.
    :param str expected: Expected return value.
    """
    actual = build_color_index(in_)
    assert actual == expected
Ejemplo n.º 3
0
def test_find_char_color(in_, pos, expected):
    """Test function.

    :param str in_: Input string to pass to function.
    :param int pos: Character position in non-color string to lookup.
    :param str expected: Expected return value.
    """
    index = build_color_index(in_)
    color_pos = index[pos]
    actual = find_char_color(in_, color_pos)
    assert actual == expected
Ejemplo n.º 4
0
def test_find_char_color(in_, pos, expected):
    """Test function.

    :param str in_: Input string to pass to function.
    :param int pos: Character position in non-color string to lookup.
    :param str expected: Expected return value.
    """
    index = build_color_index(in_)
    color_pos = index[pos]
    actual = find_char_color(in_, color_pos)
    assert actual == expected
Ejemplo n.º 5
0
    def __new__(cls, *args, **kwargs):
        """Parse color markup and instantiate."""
        keep_tags = kwargs.pop('keep_tags', False)

        # Parse string.
        value_markup = args[0] if args else PARENT_CLASS()  # e.g. '{red}test{/red}'
        value_colors, value_no_colors = parse_input(value_markup, ANSICodeMapping.DISABLE_COLORS, keep_tags)
        color_index = build_color_index(value_colors)

        # Instantiate.
        color_args = [cls, value_colors] + list(args[1:])
        instance = PARENT_CLASS.__new__(*color_args, **kwargs)

        # Add additional attributes and return.
        instance.value_colors = value_colors
        instance.value_no_colors = value_no_colors
        instance.has_colors = value_colors != value_no_colors
        instance.color_index = color_index
        return instance
Ejemplo n.º 6
0
    def __new__(cls, *args, **kwargs):
        """Parse color markup and instantiate."""
        keep_tags = kwargs.pop('keep_tags', False)

        # Parse string.
        value_markup = args[0] if args else PARENT_CLASS(
        )  # e.g. '{red}test{/red}'
        value_colors, value_no_colors = parse_input(
            value_markup, ANSICodeMapping.DISABLE_COLORS, keep_tags)
        color_index = build_color_index(value_colors)

        # Instantiate.
        color_args = [cls, value_colors] + list(args[1:])
        instance = PARENT_CLASS.__new__(*color_args, **kwargs)

        # Add additional attributes and return.
        instance.value_colors = value_colors
        instance.value_no_colors = value_no_colors
        instance.has_colors = value_colors != value_no_colors
        instance.color_index = color_index
        return instance