diff options
Diffstat (limited to 'Examples/test-suite/php/overload_bool_runme.php')
-rw-r--r-- | Examples/test-suite/php/overload_bool_runme.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Examples/test-suite/php/overload_bool_runme.php b/Examples/test-suite/php/overload_bool_runme.php new file mode 100644 index 000000000..e477330ef --- /dev/null +++ b/Examples/test-suite/php/overload_bool_runme.php @@ -0,0 +1,42 @@ +<?php +require "tests.php"; + +# Overloading bool, int, string +check::equal(overloaded(true), "bool", "wrong!"); +check::equal(overloaded(false), "bool", "wrong!"); + +check::equal(overloaded(0), "int", "wrong!"); +check::equal(overloaded(1), "int", "wrong!"); +check::equal(overloaded(2), "int", "wrong!"); + +check::equal(overloaded("1234"), "string", "wrong!"); + +# Test bool masquerading as int +check::equal(intfunction(true), "int", "wrong!"); +check::equal(intfunction(false), "int", "wrong!"); + +# Test int masquerading as bool +check::equal(boolfunction(1), "true", "wrong!"); +check::equal(boolfunction(0), "false", "wrong!"); + +############################################# + +# Overloading bool, int, string +check::equal(overloaded_ref(true), "bool", "wrong!"); +check::equal(overloaded_ref(false), "bool", "wrong!"); + +check::equal(overloaded_ref(0), "int", "wrong!"); +check::equal(overloaded_ref(1), "int", "wrong!"); +check::equal(overloaded_ref(2), "int", "wrong!"); + +check::equal(overloaded_ref("1234"), "string", "wrong!"); + +# Test bool masquerading as int +check::equal(intfunction_ref(true), "int", "wrong!"); +check::equal(intfunction_ref(false), "int", "wrong!"); + +# Test int masquerading as bool +check::equal(boolfunction(1), "true", "wrong!"); +check::equal(boolfunction(0), "false", "wrong!"); + +check::done(); |