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