1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
--TEST--
Test imagecolorallocate() function : usage variations - passing RED, GREEN, BLUE values more than 255
--SKIPIF--
<?php
if(!extension_loaded('gd')) {
die('skip gd extension is not loaded');
}
if(!function_exists('imagecreatetruecolor')) {
die('skip imagecreatetruecolor function is not available');
}
?>
--FILE--
<?php
require __DIR__ . '/func.inc';
/* Prototype : int imagecolorallocate(resource im, int red, int green, int blue)
* Description: Allocate a color for an image
* Source code: ext/gd/gd.c
*/
echo "*** Testing imagecolorallocate() : usage variations ***\n";
$values = array(
//Decimal integera data
"Decimal 256" => 256,
// octal integer data
"Octal 0400" => 0400,
// hexa-decimal integer data
"Hexa-decimal 0x100" => 0x100
);
// loop through each element of the array for blue
foreach($values as $key => $value) {
echo "\n--$key--\n";
//Need to be created every time to get expected return value
$im_palette = imagecreate(200, 200);
$im_true_color = imagecreatetruecolor(200, 200);
trycatch_dump(
fn() => imagecolorallocate($im_palette, $value, 0, 0),
fn() => imagecolorallocate($im_true_color, $value, 0, 0),
fn() => imagecolorallocate($im_palette, 0, $value, 0),
fn() => imagecolorallocate($im_true_color, 0, $value, 0),
fn() => imagecolorallocate($im_palette, 0, 0, $value),
fn() => imagecolorallocate($im_true_color, 0, 0, $value)
);
};
?>
--EXPECT--
*** Testing imagecolorallocate() : usage variations ***
--Decimal 256--
!! [ValueError] Red component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Red component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Green component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Green component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Blue component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Blue component is out of range, must be between 0 and 255 (inclusive)
--Octal 0400--
!! [ValueError] Red component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Red component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Green component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Green component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Blue component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Blue component is out of range, must be between 0 and 255 (inclusive)
--Hexa-decimal 0x100--
!! [ValueError] Red component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Red component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Green component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Green component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Blue component is out of range, must be between 0 and 255 (inclusive)
!! [ValueError] Blue component is out of range, must be between 0 and 255 (inclusive)
|