[php] Add missing runmes for overload_* testcases

This commit is contained in:
Olly Betts 2021-12-22 12:18:40 +13:00
commit 1b22fef8ad
9 changed files with 363 additions and 0 deletions

View file

@ -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();