diff options
Diffstat (limited to 'Examples/test-suite/php')
-rw-r--r-- | Examples/test-suite/php/cpp17_string_view_runme.php | 44 | ||||
-rw-r--r-- | Examples/test-suite/php/director_string_view_runme.php | 34 |
2 files changed, 78 insertions, 0 deletions
diff --git a/Examples/test-suite/php/cpp17_string_view_runme.php b/Examples/test-suite/php/cpp17_string_view_runme.php new file mode 100644 index 000000000..5f756bb36 --- /dev/null +++ b/Examples/test-suite/php/cpp17_string_view_runme.php @@ -0,0 +1,44 @@ +<?php + +require "tests.php"; + +# Checking expected use of %typemap(in) std::string_view {} +cpp17_string_view::test_value("Fee"); + +# Checking expected result of %typemap(out) std::string_view {} +check::equal(cpp17_string_view::test_value("Fi"), "Fi", "Test 1"); + +# Checking expected use of %typemap(in) const std::string_view & {} +cpp17_string_view::test_const_reference("Fo"); + +# Checking expected result of %typemap(out) const std::string_view& {} +check::equal(cpp17_string_view::test_const_reference("Fum"), "Fum", "Test 3"); + +# Input and output typemaps for pointers and non-const references to +# std::string_view are *not* supported; the following tests confirm +# that none of these cases are slipping through. + +$stringPtr = cpp17_string_view::test_pointer_out(); + +cpp17_string_view::test_pointer($stringPtr); + +$stringPtr = cpp17_string_view::test_const_pointer_out(); + +cpp17_string_view::test_const_pointer($stringPtr); + +$stringPtr = cpp17_string_view::test_reference_out(); + +cpp17_string_view::test_reference($stringPtr); + +// Global variables +check::equal(ConstGlobalString_get(), "const global string", "ConstGlobalString test"); + +// Member variables +$myStructure = new Structure(); +check::equal($myStructure->ConstMemberString, "const member string", "ConstMemberString test"); + +check::equal(Structure::ConstStaticMemberString(), "const static member string", "ConstStaticMemberString test"); + +cpp17_string_view::test_const_reference_returning_void("foo"); + +check::done(); diff --git a/Examples/test-suite/php/director_string_view_runme.php b/Examples/test-suite/php/director_string_view_runme.php new file mode 100644 index 000000000..ae3c10d11 --- /dev/null +++ b/Examples/test-suite/php/director_string_view_runme.php @@ -0,0 +1,34 @@ +<?php + +require "tests.php"; + +// No new functions +check::functions(array()); +// New classes +check::classes(array('A')); +// No new vars +check::globals(array()); + +class B extends A { + public $smem; + + function get_first() { + return parent::get_first() . " world!"; + } + + function process_text($string) { + parent::process_text($string); + $this->smem = "hello"; + } +} + +$b = new B("hello"); + +$b->get(0); +check::equal($b->get_first(),"hello world!", "get_first failed"); + +$b->call_process_func(); + +check::equal($b->smem, "hello", "smem failed"); + +check::done(); |