#!/usr/bin/perl -w -T
use
SATest; sa_t_init(
"html_colors"
);
sub
try
{
my
(
$data
,
$want
) =
@_
;
my
$rgb
= Mail::SpamAssassin::HTML::name_to_rgb(
$data
);
if
(
$want
ne
$rgb
) {
print
"color mismatch: $data -> $rgb but wanted $want\n"
;
return
0;
}
return
1;
}
ok(
try
(
'black'
,
'#000000'
));
ok(
try
(
'white'
,
'#ffffff'
));
ok(
try
(
'peachpuff'
,
'#ffdab9'
));
ok(
try
(
'#abcdef'
,
'#abcdef'
));
ok(
try
(
'123456'
,
'invalid'
));
ok(
try
(
' peachpuff'
,
'#ffdab9'
));
ok(
try
(
'#peachpuff'
,
'invalid'
));
ok(
try
(
'#0f0'
,
'#00ff00'
));
ok(
try
(
'0f0f'
,
'invalid'
));
ok(
try
(
'#1234567890abcde1234567890abcde'
,
'#123456'
));
ok(
try
(
'6db6ec49efd278cd0bc92d1e5e072d68'
,
'invalid'
));
ok(
try
(
'#f'
,
'#ff0000'
));
ok(
try
(
'zft'
,
'invalid'
));
ok(
try
(
'#789'
,
'#778899'
));
ok(
try
(
'#zftygn'
,
'invalid'
));
ok(
try
(
'zqbttv'
,
'invalid'
));
ok(
try
(
'fffffff'
,
'invalid'
));
ok(
try
(
'fffff39'
,
'invalid'
));
ok(
try
(
'fffffg'
,
'invalid'
));
ok(
try
(
'fffff'
,
'invalid'
));
ok(
try
(
'fxfefu'
,
'invalid'
));
ok(
try
(
'fafufb'
,
'invalid'
));
ok(
try
(
'fofcff'
,
'invalid'
));
ok(
try
(
'#black'
,
'invalid'
));
ok(
try
(
'rgb(100%,100%,100%)'
,
'#ffffff'
));
ok(
try
(
'rgb(100,100,100)'
,
'#646464'
));
ok(
try
(
'rgb(33%,33%,33%)'
,
'#545454'
));
ok(
try
(
'rgb(255,100,100)'
,
'#ff6464'
));