Annotation of embedaddon/php/ext/standard/tests/array/sizeof_object1.phpt, revision 1.1.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>