2
2
3
3
use v5.12;
4
4
use warnings;
5
- use Test::More tests => 82 ;
5
+ use Test::More tests => 93 ;
6
6
7
7
BEGIN { unshift @INC , ' lib' , ' ../lib' }
8
8
my $module = ' Graphics::Toolkit::Color::Space::Instance::RGB' ;
@@ -11,7 +11,7 @@ my $def = eval "require $module";
11
11
is( not ($@ ), 1, ' could load the module' );
12
12
is( ref $def , ' Graphics::Toolkit::Color::Space' , ' got right return value by loading module' );
13
13
is( $def -> name, ' RGB' , ' color space has right name' );
14
- is( $def -> dimensions , 3, ' color space has 3 dimensions ' );
14
+ is( $def -> axis , 3, ' color space has 3 axis ' );
15
15
16
16
is( ref $def -> in_range([0,0,0]), ' ARRAY' , ' check RGB values works on lower bound values' );
17
17
is( ref $def -> in_range([255,255,255]), ' ARRAY' , ' check RGB values works on upper bound values' );
@@ -51,84 +51,95 @@ is( $rgb->[0], 0, 'too low red value is clamp up');
51
51
is( $rgb -> [1], 10, ' in range green value is not touched' );
52
52
is( $rgb -> [2], 255, ' too large blue value is clamp down' );
53
53
54
- is( $def -> format([0,0,0], ' hex' ), ' #000000' , ' converted black from rgb to hex' );
55
- is( uc $def -> format([255,255,255],' HEX' ), ' #FFFFFF' , ' converted white from rgb to hex' );
56
- is( uc $def -> format([ 10, 20, 30],' hex' ), ' #0A141E' , ' converted random color from rgb to hex' );
57
-
58
- $rgb = $def -> deformat(' #332200' );
59
- is( @$rgb , 3, ' could deformat hex string' );
60
- is( $rgb -> [0], 51, ' red is correctly tranlated from hex' );
61
- is( $rgb -> [1], 34, ' green is correctly tranlated from hex' );
62
- is( $rgb -> [2], 0, ' blue is correctly tranlated from hex' );
63
-
64
- $rgb = $def -> deformat(' #DEF' );
65
- is( int @$rgb , 3, ' could deformat short hex string' );
66
- is( $rgb -> [0], 221, ' converted (short form) hex to RGB red is correct' );
67
- is( $rgb -> [1], 238, ' converted (short form) hex to RGB green is correct' );
68
- is( $rgb -> [2], 255, ' converted (short form) hex to RGB blue is correct' );
69
-
70
- $rgb = $def -> deformat([ 33, 44, 55]);
71
- is( int @$rgb , 3, ' number triplet in ARRAY is recognized by ARRAY' );
54
+ is( $def -> format([0,0,0], ' hex_string' ), ' #000000' , ' converted black from rgb to hex' );
55
+ is( uc $def -> format([255,255,255],' HEX_string' ), ' #FFFFFF' , ' converted white from rgb to hex' );
56
+ is( uc $def -> format([ 10, 20, 30],' hex_strinG' ), ' #0A141E' , ' converted random color from rgb to hex' );
57
+
58
+ my ($vals , $name ) = $def -> deformat(' #332200' );
59
+ is( ref $vals , ' ARRAY' , ' could deformat hex string' );
60
+ is( $name , ' hex_string' , ' could deformat hex string' );
61
+ is( @$vals , 3, ' right amount of values' );
62
+ is( $vals -> [0], 51, ' red is correctly tranlated from hex' );
63
+ is( $vals -> [1], 34, ' green is correctly tranlated from hex' );
64
+ is( $vals -> [2], 0, ' blue is correctly tranlated from hex' );
65
+
66
+ ($rgb , $name ) = $def -> deformat(' #DEF' );
67
+ is( ref $rgb , ' ARRAY' , ' could deformat short hex string' );
68
+ is( int @$rgb , 3, ' right amount of values' );
69
+ is( $name , ' hex_string' , ' could deformat hex string' );
70
+ is( $rgb -> [0], 221, ' converted (short form) hex to RGB red is correct' );
71
+ is( $rgb -> [1], 238, ' converted (short form) hex to RGB green is correct' );
72
+ is( $rgb -> [2], 255, ' converted (short form) hex to RGB blue is correct' );
73
+
74
+ ($rgb , $name ) = $def -> deformat([ 33, 44, 55]);
75
+ is( $name , ' array' , ' could deformat ARRAY ref (RGB special)' );
76
+ is( ref $rgb , ' ARRAY' , ' got value tuple' );
77
+ is( int @$rgb , 3, ' number triplet in ARRAY is recognized by ARRAY' );
72
78
is( $rgb -> [0], 33, ' red is transported' );
73
79
is( $rgb -> [1], 44, ' green is transported' );
74
80
is( $rgb -> [2], 55, ' blue is transported' );
75
81
76
- $rgb = $def -> deformat([rgb => 11, 22, 256]);
77
- is( int @$rgb , 3, ' deformat lc named ARRAY: got 3 values' );
82
+ ($rgb , $name ) = $def -> deformat([rgb => 11, 22, 256]);
83
+ is( $name , ' named_array' , ' could deformat named array' );
84
+ is( ref $rgb , ' ARRAY' , ' deformat lc named ARRAY' );
85
+ is( int @$rgb , 3, ' got 3 values' );
78
86
is( $rgb -> [0], 11, ' red is correct' );
79
87
is( $rgb -> [1], 22, ' green got transported' );
80
88
is( $rgb -> [2], 256, ' blue value does not get clamped' );
81
89
82
90
$rgb = $def -> deformat([' CMY' , 11, 22, 33]);
83
91
is( $rgb -> [0], undef , ' OO deformat reacts only to right name' );
84
92
85
- $rgb = $def -> deformat(' RGB: -1, 256, 3.3 ' );
93
+ ($rgb , $name ) = $def -> deformat(' RGB: -1, 256, 3.3 ' );
94
+ is( $name , ' named_string' , ' could deformat named string' );
86
95
is( int @$rgb , 3, ' deformat STRING format: got 3 values' );
87
96
is( $rgb -> [0], -1, ' to small red is not clamped up' );
88
97
is( $rgb -> [1], 256, ' too large green is not clamped down' );
89
98
is( $rgb -> [2], 3.3, ' blue decimals do not get clamped' );
90
99
91
100
92
-
93
- $rgb = $def -> deformat( ' rgb:0,1,2 ' );
101
+ ( $rgb , $name ) = $def -> deformat( ' rgb:0,1,2 ' );
102
+ is( $name , ' named_string ' , ' could deformat named string without spaces ' );
94
103
is( int @$rgb , 3, ' deformat STRING format without spaces and lc name: got 3 values' );
95
- is( $rgb -> [0], 0, ' red is zero' );
96
- is( $rgb -> [1], 1, ' green is one' );
97
- is( $rgb -> [2], 2, ' blue is two' );
104
+ is( $rgb -> [0], 0, ' red is zero' );
105
+ is( $rgb -> [1], 1, ' green is one' );
106
+ is( $rgb -> [2], 2, ' blue is two' );
98
107
99
108
$rgb = $def -> deformat(' cmy: 1,2,3.3' );
100
109
is( $rgb -> [0], undef , ' OO deformat STRING reacts only to right space name' );
110
+ is( $def -> format([0,256,3.3], ' named_string' ), ' rgb: 0, 256, 3.3' , ' formated rgb triplet into value string' );
101
111
102
- is( $def -> format([0,256,3.3], ' string' ), ' rgb: 0, 256, 3.3' , ' formated rgb triplet into value string' );
103
112
104
- $rgb = $def -> deformat(' rgb( -1 , 2.3, 4444)' );
105
- is( int @$rgb , 3, ' deformat css STRING formatwith all hurdles: got 3 values' );
106
- is( $rgb -> [0], -1, ' red is -1' );
113
+ ($rgb , $name ) = $def -> deformat(' rgb( -1 , 2.3, 4444)' );
114
+ is( $name , ' css_string' , ' could deformat css string' );
115
+ is( int @$rgb , 3, ' got 3 values' );
116
+ is( $rgb -> [0], -1, ' red is -1' );
107
117
is( $rgb -> [1], 2.3, ' green is one' );
108
118
is( $rgb -> [2], 4444, ' blue is two' );
109
119
110
120
is( $def -> format([-1,2.3,4444], ' css_string' ), ' rgb(-1,2.3,4444)' , ' formated rgb triplet into css string' );
111
121
112
- $rgb = $def -> format([0,256,3.3], ' array ' );
113
- is( ref $rgb , ' ARRAY' , ' formated into ARRAY' );
122
+ $rgb = $def -> format([0,256,3.3], ' named_array ' );
123
+ is( ref $rgb , ' ARRAY' , ' formated into named ARRAY' );
114
124
is( @$rgb , 4, ' named RGB tuple has 4 elements' );
115
- is( $rgb -> [0], ' rgb ' , ' tuple color name space' );
116
- is( $rgb -> [1], 0, ' red in minimal' );
117
- is( $rgb -> [2], 256, ' green is too large' );
118
- is( $rgb -> [3], 3.3, ' blue still has decimal' );
125
+ is( $rgb -> [0], ' RGB ' , ' tuple color name space' );
126
+ is( $rgb -> [1], 0, ' red in minimal' );
127
+ is( $rgb -> [2], 256, ' green is too large' );
128
+ is( $rgb -> [3], 3.3, ' blue still has decimal' );
119
129
120
- is( $def -> format([10,20,30], ' hex ' ), ' #0a141e' , ' formated rgb triplet into hex string' );
130
+ is( $def -> format([10,20,30], ' hex_string ' ), ' #0a141e' , ' formated rgb triplet into hex string' );
121
131
122
132
my $d = $def -> delta([0,44,256],[256,88,0]);
123
133
is( int @$d , 3, ' delta vector has right length' );
124
134
is( $d -> [0], 256, ' delta in R component' );
125
135
is( $d -> [1], 44, ' delta in G component' );
126
136
is( $d -> [2], -256, ' delta in B component' );
127
137
128
- $rgb = $def -> denormalize( [0.3, 0.4, 0.5], [[0, 255],[0,255],[0,255]] );
129
- is( int @$rgb , 3, ' denormalized triplet' );
138
+ $rgb = $def -> denormalize( [0.3, 0.4, 0.5], 255, 0 );
139
+ is( int @$rgb , 3, ' denormalized triplet, got 3 values ' );
130
140
is( $rgb -> [0], 77, ' right red value' );
131
141
is( $rgb -> [1], 102, ' right green value' );
132
142
is( $rgb -> [2], 128, ' right blue value' );
143
+ exit 0;
133
144
134
145
exit 0;
0 commit comments