<s> """<STR_LIT>""" <EOL> from __future__ import unicode_literals <EOL> import pytest <EOL> from . . color3 import parse_color_string , hsl_to_rgb <EOL> @ pytest . mark . parametrize ( ( '<STR_LIT>' , '<STR_LIT>' ) , [ <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT:4>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT:#>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( - <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT> / <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:1> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ( '<STR_LIT>' , None ) , <EOL> ] ) <EOL> def test_color ( css_source , expected_result ) : <EOL> result = parse_color_string ( css_source ) <EOL> if isinstance ( result , tuple ) : <EOL> for got , expected in zip ( result , expected_result ) : <EOL> assert abs ( got - expected ) < <NUM_LIT> <EOL> for i , attr in enumerate ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) : <EOL> assert getattr ( result , attr ) == result [ i ] <EOL> else : <EOL> assert result == expected_result <EOL> @ pytest . mark . parametrize ( ( '<STR_LIT>' , '<STR_LIT>' ) , [ <EOL> ( ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:100> ) , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:100> ) , ( <NUM_LIT:1> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:50> ) , ( <NUM_LIT:0.5> , <NUM_LIT:0.5> , <NUM_LIT:0.5> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:50> ) , ( <NUM_LIT:0.5> , <NUM_LIT:0.5> , <NUM_LIT:0.5> ) ) , <EOL> ( ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( ( <NUM_LIT:0> , <NUM_LIT:100> , <NUM_LIT:50> ) , ( <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT:100> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT:100> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> ) ) , <EOL> ( ( - <NUM_LIT> , <NUM_LIT:100> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT:0> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT:100> , <NUM_LIT> ) , ( <NUM_LIT:0> , <NUM_LIT:0.5> , <NUM_LIT:0> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT:100> , <NUM_LIT> ) , ( <NUM_LIT:0.5> , <NUM_LIT:1> , <NUM_LIT:1> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT:100> , <NUM_LIT> ) , ( <NUM_LIT:0.5> , <NUM_LIT:0.5> , <NUM_LIT:1> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT:50> , <NUM_LIT:50> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ( ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) , ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) ) , <EOL> ] ) <EOL> def test_hsl ( hsl , expected_rgb ) : <EOL> for got , expected in zip ( hsl_to_rgb ( * hsl ) , expected_rgb ) : <EOL> assert abs ( got - expected ) < <NUM_LIT> </s>
