def parsecolor(mode, *components): """ Helper function to parse colors specified by their individual component values using the CSS3 color parser. """ s = ', '.join([str(a) for a in components]) if mode: s = mode + '(' + s + ')' return _ctx.color(*color_to_rgba(s))
def test_valid(self): r, g, b, a = color_to_rgba("aquamarine") c = rgba_to_color(r, g, b, a, format="rgb") self.assertEquals("rgb(127, 255, 212)", c) r, g, b, a = color_to_rgba("000") c = rgba_to_color(r, g, b, a, format="hex") self.assertEquals("#000000", c) r, g, b, a = color_to_rgba(" 000") c = rgba_to_color(r, g, b, a, format="hex") self.assertEquals("#000000", c) r, g, b, a = color_to_rgba("#123") c = rgba_to_color(r, g, b, a, format="hex") self.assertEquals("#112233", c) r, g, b, a = color_to_rgba(" #123") c = rgba_to_color(r, g, b, a, format="hex") self.assertEquals("#112233", c) r, g, b, a = color_to_rgba("#deadbe") c = rgba_to_color(r, g, b, a, format="hex") self.assertEquals("#deadbe", c) r, g, b, a = color_to_rgba("#DEaDbE") c = rgba_to_color(r, g, b, a, format="hex") self.assertEquals("#deadbe", c) r, g, b, a = color_to_rgba("deadbe") c = rgba_to_color(r, g, b, a, format="hex") self.assertEquals("#deadbe", c) r, g, b, a = color_to_rgba("deADBE") c = rgba_to_color(r, g, b, a, format="hex") self.assertEquals("#deadbe", c) r, g, b, a = color_to_rgba("rgb(11, 22, 44)") c = rgba_to_color(r, g, b, a, format="rgb") self.assertEquals("rgb(11, 22, 44)", c) r, g, b, a = color_to_rgba("rgb(000011, 022, 00044)") c = rgba_to_color(r, g, b, a, format="rgb") self.assertEquals("rgb(11, 22, 44)", c) r, g, b, a = color_to_rgba("rgba(256, -1, 79, .4)") c = rgba_to_color(r, g, b, a, format="rgba") self.assertEquals("rgba(255, 0, 79, 0.400)", c) r, g, b, a = color_to_rgba("rgb(11%, 22%, 44%)") c = rgba_to_color(r, g, b, a, format="rgb_p") self.assertEquals("rgb(11%, 22%, 44%)", c) r, g, b, a = color_to_rgba("rgba(11%, 122%, -44%, -100)") c = rgba_to_color(r, g, b, a, format="rgba_p") self.assertEquals("rgba(11%, 100%, 0%, 0.000)", c) r, g, b, a = color_to_rgba(" rgba( 11%, 122%, -44%, -100 ) ") c = rgba_to_color(r, g, b, a, format="rgba_p") self.assertEquals("rgba(11%, 100%, 0%, 0.000)", c) r, g, b, a = color_to_rgba("hsl(130, 30%, +80%)") c = rgba_to_color(r, g, b, a, format="hsl") self.assertEquals("hsl(130, 30%, 80%)", c) r, g, b, a = color_to_rgba("hsla(+99, 12%, 74%, +.33)") c = rgba_to_color(r, g, b, a, format="hsla") self.assertEquals("hsla(99, 12%, 74%, 0.330)", c) r, g, b, a = color_to_rgba(" hsla( +000099 , 000012% , 074% , .330000 ) ") c = rgba_to_color(r, g, b, a, format="hsla") self.assertEquals("hsla(99, 12%, 74%, 0.330)", c)
def test_valid(self): r, g, b, a = color_to_rgba('aquamarine') c = rgba_to_color(r, g, b, a, format='rgb') self.assertEquals('rgb(127, 255, 212)', c) r, g, b, a = color_to_rgba('000') c = rgba_to_color(r, g, b, a, format='hex') self.assertEquals('#000000', c) r, g, b, a = color_to_rgba(' 000') c = rgba_to_color(r, g, b, a, format='hex') self.assertEquals('#000000', c) r, g, b, a = color_to_rgba('#123') c = rgba_to_color(r, g, b, a, format='hex') self.assertEquals('#112233', c) r, g, b, a = color_to_rgba(' #123') c = rgba_to_color(r, g, b, a, format='hex') self.assertEquals('#112233', c) r, g, b, a = color_to_rgba('#deadbe') c = rgba_to_color(r, g, b, a, format='hex') self.assertEquals('#deadbe', c) r, g, b, a = color_to_rgba('#DEaDbE') c = rgba_to_color(r, g, b, a, format='hex') self.assertEquals('#deadbe', c) r, g, b, a = color_to_rgba('deadbe') c = rgba_to_color(r, g, b, a, format='hex') self.assertEquals('#deadbe', c) r, g, b, a = color_to_rgba('deADBE') c = rgba_to_color(r, g, b, a, format='hex') self.assertEquals('#deadbe', c) r, g, b, a = color_to_rgba('rgb(11, 22, 44)') c = rgba_to_color(r, g, b, a, format='rgb') self.assertEquals('rgb(11, 22, 44)', c) r, g, b, a = color_to_rgba('rgb(000011, 022, 00044)') c = rgba_to_color(r, g, b, a, format='rgb') self.assertEquals('rgb(11, 22, 44)', c) r, g, b, a = color_to_rgba('rgba(256, -1, 79, .4)') c = rgba_to_color(r, g, b, a, format='rgba') self.assertEquals('rgba(255, 0, 79, 0.400)', c) r, g, b, a = color_to_rgba('rgb(11%, 22%, 44%)') c = rgba_to_color(r, g, b, a, format='rgb_p') self.assertEquals('rgb(11%, 22%, 44%)', c) r, g, b, a = color_to_rgba('rgba(11%, 122%, -44%, -100)') c = rgba_to_color(r, g, b, a, format='rgba_p') self.assertEquals('rgba(11%, 100%, 0%, 0.000)', c) r, g, b, a = color_to_rgba( ' rgba( 11%, 122%, -44%, -100 ) ') c = rgba_to_color(r, g, b, a, format='rgba_p') self.assertEquals('rgba(11%, 100%, 0%, 0.000)', c) r, g, b, a = color_to_rgba('hsl(130, 30%, +80%)') c = rgba_to_color(r, g, b, a, format='hsl') self.assertEquals('hsl(130, 30%, 80%)', c) r, g, b, a = color_to_rgba('hsla(+99, 12%, 74%, +.33)') c = rgba_to_color(r, g, b, a, format='hsla') self.assertEquals('hsla(99, 12%, 74%, 0.330)', c) r, g, b, a = color_to_rgba( ' hsla( +000099 , 000012% , 074% , .330000 ) ') c = rgba_to_color(r, g, b, a, format='hsla') self.assertEquals('hsla(99, 12%, 74%, 0.330)', c)