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