1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
--TEST--
Test get_declared_traits() function : basic functionality
--FILE--
<?php
/* Prototype : proto array get_declared_traits()
* Description: Returns an array of all declared traits.
* Source code: Zend/zend_builtin_functions.c
* Alias to functions:
*/
echo "*** Testing get_declared_traits() : basic functionality ***\n";
trait MyTrait {}
// Zero arguments
echo "\n-- Testing get_declared_traits() function with Zero arguments --\n";
var_dump(get_declared_traits());
foreach (get_declared_traits() as $trait) {
if (!trait_exists($trait)) {
echo "Error: $trait is not a valid trait.\n";
}
}
echo "\n-- Ensure trait is listed --\n";
var_dump(in_array('MyTrait', get_declared_traits()));
echo "\n-- Ensure userspace interfaces are not listed --\n";
interface I {}
var_dump(in_array( 'I', get_declared_traits()));
echo "\n-- Ensure userspace classes are not listed --\n";
class MyClass {}
var_dump(in_array( 'MyClass', get_declared_traits()));
echo "Done";
?>
--EXPECTF--
*** Testing get_declared_traits() : basic functionality ***
-- Testing get_declared_traits() function with Zero arguments --
array(%d) {
%a
}
-- Ensure trait is listed --
bool(true)
-- Ensure userspace interfaces are not listed --
bool(false)
-- Ensure userspace classes are not listed --
bool(false)
Done
|