blob: 44a4b7b692982f7af890a2502e0a6698cc6025b7 [file] [log] [blame]
<?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;
private $cached_string;
function get_first() {
// Since std::string_view contains a pointer into a string, the string
// cannot be a temporary in order to avoid undefined behaviour.
$this->cached_string = parent::get_first() . " world!";
return $this->cached_string;
}
function process_text($string) {
parent::process_text($string);
$this->smem = "hello";
}
}
$b = new B("hello");
check::equal($b->get(0), "hello", "get(0) failed");
check::equal($b->get_first(), "hello world!", "get_first failed");
check::equal($b->call_get_first(), "hello world!", "call_get_first failed");
$b->call_process_func();
check::equal($b->smem, "hello", "smem failed");
check::done();