Adding upstream version 3.0.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
1c8b56a4f5
commit
554424e00a
6822 changed files with 5440542 additions and 0 deletions
147
libgimp/tests/test-color-parser.py
Normal file
147
libgimp/tests/test-color-parser.py
Normal file
|
@ -0,0 +1,147 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
EPSILON=1e-6
|
||||
|
||||
def DBL(c):
|
||||
return c / 255.0
|
||||
|
||||
samples = [
|
||||
{ 'str': "#000000",
|
||||
'fail': False,
|
||||
'red': 0.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "#FFff00",
|
||||
'fail': False,
|
||||
'red': 1.0,
|
||||
'green': 1.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "#6495ed",
|
||||
'fail': False,
|
||||
'red': DBL(100),
|
||||
'green': DBL(149),
|
||||
'blue': DBL(237),
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "#fff",
|
||||
'fail': False,
|
||||
'red': 1.0,
|
||||
'green': 1.0,
|
||||
'blue': 1.0,
|
||||
'alpha': 1.0 },
|
||||
#{ 'str': "#64649595eded",
|
||||
#'fail': False,
|
||||
#'red': 1.0,
|
||||
#'green': 1.0,
|
||||
#'blue': 0.0,
|
||||
#'alpha': 1.0 },
|
||||
{ 'str': "rgb(0,0,0)",
|
||||
'fail': False,
|
||||
'red': 0.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "rgb(100,149,237)",
|
||||
'fail': False,
|
||||
'red': DBL(100),
|
||||
'green': DBL(149),
|
||||
'blue': DBL(237),
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "rgba(100%,0,100%,0.5)",
|
||||
'fail': False,
|
||||
'red': 1.0,
|
||||
'green': 0.0,
|
||||
'blue': 1.0,
|
||||
'alpha': 0.5 },
|
||||
{ 'str': "rgb(100%,149,20%)",
|
||||
'fail': False,
|
||||
'red': 1.0,
|
||||
'green': DBL(149),
|
||||
'blue': 0.2,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "rgb(foobar)",
|
||||
'fail': True,
|
||||
'red': 0.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "rgb(100,149,237",
|
||||
'fail': True,
|
||||
'red': 0.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "rED",
|
||||
'fail': False,
|
||||
'red': 1.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "cornflowerblue",
|
||||
'fail': False,
|
||||
'red': DBL(100),
|
||||
'green': DBL(149),
|
||||
'blue': DBL(237),
|
||||
'alpha': 1.0 },
|
||||
{ 'str': " red",
|
||||
'fail': False,
|
||||
'red': 1.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "red ",
|
||||
'fail': False,
|
||||
'red': 1.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "red",
|
||||
'fail': False,
|
||||
'red': 1.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 1.0 },
|
||||
{ 'str': "red blue",
|
||||
'fail': True,
|
||||
'red': 0.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 0.0 },
|
||||
{ 'str': "transparent",
|
||||
'fail': False,
|
||||
'red': 0.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 0.0 },
|
||||
{ 'str': "23foobar",
|
||||
'fail': True,
|
||||
'red': 0.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 0.0 },
|
||||
{ 'str': "",
|
||||
'fail': True,
|
||||
'red': 0.0,
|
||||
'green': 0.0,
|
||||
'blue': 0.0,
|
||||
'alpha': 0.0 }
|
||||
]
|
||||
|
||||
for sample in samples:
|
||||
color = Gimp.color_parse_css(sample['str'])
|
||||
print(color)
|
||||
if sample['fail']:
|
||||
gimp_assert('Parsing "{}" should fail.'.format(sample['str']), color is None)
|
||||
else:
|
||||
gimp_assert('Parsing "{}" should generate a color.'.format(sample['str']), color is not None)
|
||||
|
||||
r, g, b, a = color.get_rgba_with_space(Babl.format("R'G'B'A double"))
|
||||
gimp_assert('"{}" generated ({}, {}, {}, {}) - expected ({}, {}, {}, {}).'.format(sample['str'],
|
||||
r, g, b, a,
|
||||
sample['red'],
|
||||
sample['green'],
|
||||
sample['blue'],
|
||||
sample['alpha']),
|
||||
abs(r - sample['red']) < EPSILON and abs(g - sample['green']) < EPSILON and
|
||||
abs(b - sample['blue']) < EPSILON and abs(a - sample['alpha']) < EPSILON)
|
Loading…
Add table
Add a link
Reference in a new issue