Esempio n. 1
0
def test_color_alpha_mix():
    assert Color(Color(5, 10, 20, 30), 40) == Color(5, 10, 20, 30 * 40 // 255)
Esempio n. 2
0
def test_color_js_string(test_input, expected):
    assert Color(*test_input).js_string() == expected
Esempio n. 3
0
def test_color_hashable():
    assert isinstance(Color(255), Hashable)
    assert Color(128) == Color(128, 128, 128) == Color(128, 128, 128, 255)
Esempio n. 4
0
def test_color(test_input, expected_rgba):
    c = Color(*test_input)
    assert (c.r, c.g, c.b, c.a) == expected_rgba
Esempio n. 5
0
from collections.abc import Hashable

import pytest

from pura._web_view import _canvas_color, Color


@pytest.mark.parametrize(
    "test_input,expected_rgba",
    [
        ((5, ), (5, 5, 5, 255)),  # gray
        ((5, 30), (5, 5, 5, 30)),  # gray, alpha
        ((5, 10, 20), (5, 10, 20, 255)),  # r, g, b
        ((5, 10, 20, 30), (5, 10, 20, 30)),  # r, g, b, a
        ((Color(5, 10, 20), 30),
         (5, 10, 20, 30)),  # non_alpha_color_obj, alpha
    ])
def test_color(test_input, expected_rgba):
    c = Color(*test_input)
    assert (c.r, c.g, c.b, c.a) == expected_rgba


def test_color_hashable():
    assert isinstance(Color(255), Hashable)
    assert Color(128) == Color(128, 128, 128) == Color(128, 128, 128, 255)


def test_color_alpha_mix():
    assert Color(Color(5, 10, 20, 30), 40) == Color(5, 10, 20, 30 * 40 // 255)

Esempio n. 6
0
def test_color_alpha_overwrite_not_allowed():
    with pytest.raises(ValueError):
        Color(Color(5, 10, 20, 30), 40)
Esempio n. 7
0
import pytest

from pura._web_view import _canvas_color, Color


@pytest.mark.parametrize("test_input,expected_rgba", [
    ((5,), (5, 5, 5, 255)),  # gray
    ((5, 30), (5, 5, 5, 30)),  # gray, alpha
    ((5, 10, 20), (5, 10, 20, 255)),  # r, g, b
    ((5, 10, 20, 30), (5, 10, 20, 30)),  # r, g, b, a
    ((Color(5, 10, 20), 30), (5, 10, 20, 30)),  # non_alpha_color_obj, alpha
])
def test_color(test_input, expected_rgba):
    c = Color(*test_input)
    assert (c.r, c.g, c.b, c.a) == expected_rgba


def test_color_alpha_overwrite_not_allowed():
    with pytest.raises(ValueError):
        Color(Color(5, 10, 20, 30), 40)


@pytest.mark.parametrize("test_input,expected", [
    ((0xaa, 0xbb, 0xcc), '#AABBCC'),
    ((0xaa, 0xbb, 0xcc, 0xdd), '#AABBCCDD'),
    ((0xef,), '#EFEFEF'),
    ((0xef, 0xdd), '#EFEFEFDD'),
])
def test_color_js_string(test_input, expected):
    assert Color(*test_input).js_string() == expected