[php] Add more checks to some PHP testcases

This commit is contained in:
Olly Betts 2021-12-18 14:38:49 +13:00
commit cc5395a669
3 changed files with 28 additions and 2 deletions

View file

@ -2,9 +2,24 @@
require "tests.php";
check::classes(array('Foo','Spam'));
$spam=new Spam();
// No new functions
check::functions(array());
check::classes(array('Foo','Spam'));
// No new vars
check::globals(array());
// We shouldn't be able to instantiate abstract class Foo.
$class = 'Foo';
try {
$obj = eval("new $class();");
check::fail("Should not be able to instantiate abstract class $class");
} catch (Error $e) {
check::equal($e->getMessage(), "Cannot instantiate abstract class $class", "Unexpected exception: {$e->getMessage()}");
}
$spam=new Spam();
check::equal(0,$spam->blah(),"spam object method");
check::done();

View file

@ -10,5 +10,9 @@ check::classes(array('arrays_scope','Bar'));
check::globals(array());
$bar=new bar();
$bar->blah($bar->adata, $bar->bdata, $bar->cdata);
// Like C/C++, SWIG treats `int asize[ASIZE]` as `int*` so there's no checking
// of the passed array size.
$bar->blah($bar->bdata, $bar->cdata, $bar->adata);
check::done();

View file

@ -2,6 +2,13 @@
require "tests.php";
// No new functions
check::functions(array());
// No new classes
check::classes(array());
// No new vars
check::globals(array());
check::equal('1.5',(new ReflectionExtension('php_pragma'))->getVersion(),"1.5==version(php_pragma)");
check::done();