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