Annotation of embedaddon/php/ext/standard/tests/array/sizeof_object1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test sizeof() function : object functionality - object with Countable interface
! 3: --SKIPIF--
! 4: <?php
! 5: // Skip the test case if Standard PHP Library(spl) is not installed
! 6: if( !extension_loaded('spl'))
! 7: {
! 8: die('skip spl is not installed');
! 9: }
! 10: ?>
! 11: --FILE--
! 12: <?php
! 13: /* Prototype : int sizeof($mixed var[, int $mode])
! 14: * Description: Counts an elements in an array. If Standard PHP library is installed,
! 15: * it will return the properties of an object.
! 16: * Source code: ext/standard/basic_functions.c
! 17: * Alias to functions: count()
! 18: */
! 19:
! 20: echo "*** Testing sizeof() : object functionality ***\n";
! 21:
! 22: echo "-- Testing sizeof() with an object which implements Countable interface --\n";
! 23: class sizeof_class implements Countable
! 24: {
! 25: public $member1;
! 26: private $member2;
! 27: protected $member3;
! 28:
! 29: public function count()
! 30: {
! 31: return 3; // return the count of member variables in the object
! 32: }
! 33: }
! 34:
! 35: $obj = new sizeof_class();
! 36:
! 37: echo "-- Testing sizeof() in default mode --\n";
! 38: var_dump( sizeof($obj) );
! 39: echo "-- Testing sizeof() in COUNT_NORMAL mode --\n";
! 40: var_dump( sizeof($obj, COUNT_NORMAL) );
! 41: echo "-- Testing sizeof() in COUNT_RECURSIVE mode --\n";
! 42: var_dump( sizeof($obj, COUNT_RECURSIVE) );
! 43:
! 44: echo "Done";
! 45: ?>
! 46: --EXPECTF--
! 47: *** Testing sizeof() : object functionality ***
! 48: -- Testing sizeof() with an object which implements Countable interface --
! 49: -- Testing sizeof() in default mode --
! 50: int(3)
! 51: -- Testing sizeof() in COUNT_NORMAL mode --
! 52: int(3)
! 53: -- Testing sizeof() in COUNT_RECURSIVE mode --
! 54: int(3)
! 55: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>