Annotation of embedaddon/php/ext/standard/tests/general_functions/var_export_basic6.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test var_export() function with valid objects
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : mixed var_export(mixed var [, bool return])
! 6: * Description: Outputs or returns a string representation of a variable
! 7: * Source code: ext/standard/var.c
! 8: * Alias to functions:
! 9: */
! 10:
! 11: echo "*** Testing var_export() with valid objects ***\n";
! 12:
! 13: // class with no members
! 14: class foo
! 15: {
! 16: // no members
! 17: }
! 18:
! 19: // abstract class
! 20: abstract class abstractClass
! 21: {
! 22: abstract protected function getClassName();
! 23: public function printClassName () {
! 24: echo $this->getClassName() . "\n";
! 25: }
! 26: }
! 27: // implement abstract class
! 28: class concreteClass extends abstractClass
! 29: {
! 30: protected function getClassName() {
! 31: return "concreteClass";
! 32: }
! 33: }
! 34:
! 35: // interface class
! 36: interface iValue
! 37: {
! 38: public function setVal ($name, $val);
! 39: public function dumpVal ();
! 40: }
! 41: // implement the interface
! 42: class Value implements iValue
! 43: {
! 44: private $vars = array ();
! 45:
! 46: public function setVal ( $name, $val ) {
! 47: $this->vars[$name] = $val;
! 48: }
! 49:
! 50: public function dumpVal () {
! 51: var_export ( $vars );
! 52: }
! 53: }
! 54:
! 55: // a gereral class
! 56: class myClass
! 57: {
! 58: var $foo_object;
! 59: public $public_var;
! 60: public $public_var1;
! 61: private $private_var;
! 62: protected $protected_var;
! 63:
! 64: function myClass ( ) {
! 65: $this->foo_object = new foo();
! 66: $this->public_var = 10;
! 67: $this->public_var1 = new foo();
! 68: $this->private_var = new foo();
! 69: $this->proected_var = new foo();
! 70: }
! 71: }
! 72:
! 73: // create a object of each class defined above
! 74: $myClass_object = new myClass();
! 75: $foo_object = new foo();
! 76: $Value_object = new Value();
! 77: $concreteClass_object = new concreteClass();
! 78:
! 79: $valid_objects = array(
! 80: "new stdclass" => new stdclass,
! 81: "new foo" => new foo,
! 82: "new concreteClass" => new concreteClass,
! 83: "new Value" => new Value,
! 84: "new myClass" => new myClass,
! 85: "myClass_object" => $myClass_object,
! 86: "myClass_object->foo_object" => $myClass_object->foo_object,
! 87: "myClass_object->public_var1" => $myClass_object->public_var1,
! 88: "foo_object" => $foo_object,
! 89: "Value_object" => $Value_object,
! 90: "concreteClass_object" => $concreteClass_object
! 91: );
! 92: /* Loop to check for above objects with var_export() */
! 93: echo "\n*** Output for objects ***\n";
! 94: foreach($valid_objects as $key => $obj) {
! 95: echo "\n-- Iteration: $key --\n";
! 96: var_export( $obj );
! 97: echo "\n";
! 98: var_export( $obj, FALSE);
! 99: echo "\n";
! 100: var_dump( var_export( $obj, TRUE) );
! 101: echo "\n";
! 102: }
! 103: ?>
! 104: ===DONE===
! 105: --EXPECT--
! 106: *** Testing var_export() with valid objects ***
! 107:
! 108: *** Output for objects ***
! 109:
! 110: -- Iteration: new stdclass --
! 111: stdClass::__set_state(array(
! 112: ))
! 113: stdClass::__set_state(array(
! 114: ))
! 115: string(31) "stdClass::__set_state(array(
! 116: ))"
! 117:
! 118:
! 119: -- Iteration: new foo --
! 120: foo::__set_state(array(
! 121: ))
! 122: foo::__set_state(array(
! 123: ))
! 124: string(26) "foo::__set_state(array(
! 125: ))"
! 126:
! 127:
! 128: -- Iteration: new concreteClass --
! 129: concreteClass::__set_state(array(
! 130: ))
! 131: concreteClass::__set_state(array(
! 132: ))
! 133: string(36) "concreteClass::__set_state(array(
! 134: ))"
! 135:
! 136:
! 137: -- Iteration: new Value --
! 138: Value::__set_state(array(
! 139: 'vars' =>
! 140: array (
! 141: ),
! 142: ))
! 143: Value::__set_state(array(
! 144: 'vars' =>
! 145: array (
! 146: ),
! 147: ))
! 148: string(57) "Value::__set_state(array(
! 149: 'vars' =>
! 150: array (
! 151: ),
! 152: ))"
! 153:
! 154:
! 155: -- Iteration: new myClass --
! 156: myClass::__set_state(array(
! 157: 'foo_object' =>
! 158: foo::__set_state(array(
! 159: )),
! 160: 'public_var' => 10,
! 161: 'public_var1' =>
! 162: foo::__set_state(array(
! 163: )),
! 164: 'private_var' =>
! 165: foo::__set_state(array(
! 166: )),
! 167: 'protected_var' => NULL,
! 168: 'proected_var' =>
! 169: foo::__set_state(array(
! 170: )),
! 171: ))
! 172: myClass::__set_state(array(
! 173: 'foo_object' =>
! 174: foo::__set_state(array(
! 175: )),
! 176: 'public_var' => 10,
! 177: 'public_var1' =>
! 178: foo::__set_state(array(
! 179: )),
! 180: 'private_var' =>
! 181: foo::__set_state(array(
! 182: )),
! 183: 'protected_var' => NULL,
! 184: 'proected_var' =>
! 185: foo::__set_state(array(
! 186: )),
! 187: ))
! 188: string(293) "myClass::__set_state(array(
! 189: 'foo_object' =>
! 190: foo::__set_state(array(
! 191: )),
! 192: 'public_var' => 10,
! 193: 'public_var1' =>
! 194: foo::__set_state(array(
! 195: )),
! 196: 'private_var' =>
! 197: foo::__set_state(array(
! 198: )),
! 199: 'protected_var' => NULL,
! 200: 'proected_var' =>
! 201: foo::__set_state(array(
! 202: )),
! 203: ))"
! 204:
! 205:
! 206: -- Iteration: myClass_object --
! 207: myClass::__set_state(array(
! 208: 'foo_object' =>
! 209: foo::__set_state(array(
! 210: )),
! 211: 'public_var' => 10,
! 212: 'public_var1' =>
! 213: foo::__set_state(array(
! 214: )),
! 215: 'private_var' =>
! 216: foo::__set_state(array(
! 217: )),
! 218: 'protected_var' => NULL,
! 219: 'proected_var' =>
! 220: foo::__set_state(array(
! 221: )),
! 222: ))
! 223: myClass::__set_state(array(
! 224: 'foo_object' =>
! 225: foo::__set_state(array(
! 226: )),
! 227: 'public_var' => 10,
! 228: 'public_var1' =>
! 229: foo::__set_state(array(
! 230: )),
! 231: 'private_var' =>
! 232: foo::__set_state(array(
! 233: )),
! 234: 'protected_var' => NULL,
! 235: 'proected_var' =>
! 236: foo::__set_state(array(
! 237: )),
! 238: ))
! 239: string(293) "myClass::__set_state(array(
! 240: 'foo_object' =>
! 241: foo::__set_state(array(
! 242: )),
! 243: 'public_var' => 10,
! 244: 'public_var1' =>
! 245: foo::__set_state(array(
! 246: )),
! 247: 'private_var' =>
! 248: foo::__set_state(array(
! 249: )),
! 250: 'protected_var' => NULL,
! 251: 'proected_var' =>
! 252: foo::__set_state(array(
! 253: )),
! 254: ))"
! 255:
! 256:
! 257: -- Iteration: myClass_object->foo_object --
! 258: foo::__set_state(array(
! 259: ))
! 260: foo::__set_state(array(
! 261: ))
! 262: string(26) "foo::__set_state(array(
! 263: ))"
! 264:
! 265:
! 266: -- Iteration: myClass_object->public_var1 --
! 267: foo::__set_state(array(
! 268: ))
! 269: foo::__set_state(array(
! 270: ))
! 271: string(26) "foo::__set_state(array(
! 272: ))"
! 273:
! 274:
! 275: -- Iteration: foo_object --
! 276: foo::__set_state(array(
! 277: ))
! 278: foo::__set_state(array(
! 279: ))
! 280: string(26) "foo::__set_state(array(
! 281: ))"
! 282:
! 283:
! 284: -- Iteration: Value_object --
! 285: Value::__set_state(array(
! 286: 'vars' =>
! 287: array (
! 288: ),
! 289: ))
! 290: Value::__set_state(array(
! 291: 'vars' =>
! 292: array (
! 293: ),
! 294: ))
! 295: string(57) "Value::__set_state(array(
! 296: 'vars' =>
! 297: array (
! 298: ),
! 299: ))"
! 300:
! 301:
! 302: -- Iteration: concreteClass_object --
! 303: concreteClass::__set_state(array(
! 304: ))
! 305: concreteClass::__set_state(array(
! 306: ))
! 307: string(36) "concreteClass::__set_state(array(
! 308: ))"
! 309:
! 310: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>