diff options
Diffstat (limited to 'tests/php/phpt')
-rw-r--r-- | tests/php/phpt/variables/011-value-casting-operators.phpt (renamed from tests/php/phpt/variables/005-value-casting-operators.phpt-) | 26 | ||||
-rw-r--r-- | tests/php/phpt/variables/012-value-casting-operators-double.phpt | 80 |
2 files changed, 82 insertions, 24 deletions
diff --git a/tests/php/phpt/variables/005-value-casting-operators.phpt- b/tests/php/phpt/variables/011-value-casting-operators.phpt index 5e0fb8e..3fe6817 100644 --- a/tests/php/phpt/variables/005-value-casting-operators.phpt- +++ b/tests/php/phpt/variables/011-value-casting-operators.phpt @@ -3,13 +3,9 @@ Test Php::Value casting operators --DESCRIPTION-- The Php::Value class has casting operators to cast the object to almost every thinkable native type. - -It seems need to replace double on long double - native_value_casting - repeats the behavior of c++ functions TestVariables\value_casting the output of each of these functions should be the same - --SKIPIF-- <?php if (!extension_loaded("extension_for_tests")) print "skip"; ?> --FILEEOF-- @@ -20,7 +16,8 @@ function bool2str($b) { return $b ? "Yes" : "No"; } function native_value_casting($value) { - echo " long:", (int)$value, "\n string:", (string)$value, "\n double:", (double)$value, "\n bool:", bool2str((bool)$value), PHP_EOL; + //echo " long:", (int)$value, "\n string:", (string)$value, "\n double:", (double)$value, "\n bool:", bool2str((bool)$value), PHP_EOL; + echo " long:", (int)$value, "\n string:", (string)$value, "\n bool:", bool2str((bool)$value), PHP_EOL; } @@ -61,114 +58,95 @@ out(0x1A); // hexadecimal number (equivalent to 26 decimal) Test 5555555555555555: long:5555555555555555 string:5555555555555555 - double:5.5555555555556E+15 bool:Yes Test '9223372036854775807': long:9223372036854775807 string:9223372036854775807 - double:9.2233720368548E+18 bool:Yes Test 9223372036854775807: long:9223372036854775807 string:9223372036854775807 - double:9.2233720368548E+18 bool:Yes Test 5: long:5 string:5 - double:5 bool:Yes Test -99999999: long:-99999999 string:-99999999 - double:-99999999 bool:Yes Test '18': long:18 string:18 - double:18 bool:Yes Test '3.14159265359': long:3 string:3.14159265359 - double:3.14159265359 bool:Yes Test 3.14159265359: long:3 string:3.14159265359 - double:3.14159265359 bool:Yes Test 3.5714285714286: long:3 string:3.5714285714286 - double:3.5714285714286 bool:Yes Test ' this is a string ': long:0 string: this is a string - double:0 bool:Yes Test ' 2-nd string ': long:2 string: 2-nd string - double:2 bool:Yes Test 'false': long:0 string:false - double:0 bool:Yes Test false: long:0 string: - double:0 bool:No Test 'true': long:0 string:true - double:0 bool:Yes Test true: long:1 string:1 - double:1 bool:Yes Test 0: long:0 string:0 - double:0 bool:No Test '0': long:0 string:0 - double:0 bool:No Test 83: long:83 string:83 - double:83 bool:Yes Test 26: long:26 string:26 - double:26 bool:Yes diff --git a/tests/php/phpt/variables/012-value-casting-operators-double.phpt b/tests/php/phpt/variables/012-value-casting-operators-double.phpt new file mode 100644 index 0000000..32086ef --- /dev/null +++ b/tests/php/phpt/variables/012-value-casting-operators-double.phpt @@ -0,0 +1,80 @@ +--TEST-- +Test Php::Value casting operators (double) +--DESCRIPTION-- +The Php::Value class has casting operators to cast the object to almost every thinkable native type. + +native_value_casting - repeats the behavior of c++ functions TestVariables\value_casting +the output of each of these functions should be the same +--SKIPIF-- +<?php if (!extension_loaded("extension_for_tests")) print "skip"; ?> +--FILEEOF-- +<?php + + + +function out($v) { + echo 'Test '; + var_export($v); + echo ':', PHP_EOL; + TestVariables\value_cast2double($v); + //echo (double)$v, PHP_EOL;; + //echo PHP_EOL; +} + +out(5555555555555555); +out("999999999999999"); +out(999999999999999); +out(5); +out(-99999999); +out("18"); +out("3.14159265359"); +out(3.14159265359); +out(" this is a string "); +out(" 2-nd string "); +out("false"); +out(false); +out("true"); +out(true); +out(0); +out("0"); +out(0123); // octal number (equivalent to 83 decimal) +out(0x1A); // hexadecimal number (equivalent to 26 decimal) + + +--EXPECT-- +Test 5555555555555555: +5555555555555555 +Test '999999999999999': +999999999999999 +Test 999999999999999: +999999999999999 +Test 5: +5 +Test -99999999: +-99999999 +Test '18': +18 +Test '3.14159265359': +3.14159265359 +Test 3.14159265359: +3.14159265359 +Test ' this is a string ': +0 +Test ' 2-nd string ': +2 +Test 'false': +0 +Test false: +0 +Test 'true': +0 +Test true: +1 +Test 0: +0 +Test '0': +0 +Test 83: +83 +Test 26: +26
\ No newline at end of file |