diff options
Diffstat (limited to 'ext/standard/tests/array/bug35014_64bit.phpt')
| -rw-r--r-- | ext/standard/tests/array/bug35014_64bit.phpt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ext/standard/tests/array/bug35014_64bit.phpt b/ext/standard/tests/array/bug35014_64bit.phpt new file mode 100644 index 000000000..a5b8da8a3 --- /dev/null +++ b/ext/standard/tests/array/bug35014_64bit.phpt @@ -0,0 +1,36 @@ +--TEST-- +Bug #35014 (array_product() always returns 0) (64bit) +--SKIPIF-- +<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> +--INI-- +precision=14 +--FILE-- +<?php +$tests = array( + 'foo', + array(), + array(0), + array(3), + array(3, 3), + array(0.5, 2), + array(99999999, 99999999), + array(8.993, 7443241,988, sprintf("%u", -1)+0.44), + array(2,sprintf("%u", -1)), +); + +foreach ($tests as $v) { + var_dump(array_product($v)); +} +?> +--EXPECTF-- + +Warning: array_product(): The argument should be an array in %s on line %d +NULL +int(0) +int(0) +int(3) +int(9) +float(1) +int(9999999800000001) +float(2.8404260053903E+20) +int(8589934590) |
