Annotation of embedaddon/php/ext/spl/tests/arrayObject_exchangeArray_basic3.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: SPL: ArrayObject::exchangeArray() basic usage with object as underlying data store.
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: class C {
        !             7:        public $pub1 = 'public1';
        !             8: } 
        !             9: 
        !            10: echo "--> exchangeArray() with objects:\n";
        !            11: $original = new C;
        !            12: $ao = new ArrayObject($original);
        !            13: $swapIn = new C;
        !            14: try {
        !            15:        $copy = $ao->exchangeArray($swapIn);
        !            16:        $copy['addedToCopy'] = 'added To Copy';
        !            17: } catch (Exception $e) {
        !            18:        echo "Exception:" . $e->getMessage() . "\n";
        !            19: }
        !            20: $swapIn->addedToSwapIn = 'added To Swap-In';
        !            21: $original->addedToOriginal = 'added To Original';
        !            22: var_dump($ao, $original, $swapIn, $copy);
        !            23: 
        !            24: 
        !            25: echo "\n\n--> exchangeArray() with no arg:\n";
        !            26: unset($original, $ao, $swapIn, $copy);
        !            27: $original = new C;
        !            28: $ao = new ArrayObject($original);
        !            29: try {
        !            30:        $copy = $ao->exchangeArray();
        !            31:        $copy['addedToCopy'] = 'added To Copy';
        !            32: } catch (Exception $e) {
        !            33:        echo "Exception:" . $e->getMessage() . "\n";
        !            34: }
        !            35: $original->addedToOriginal = 'added To Original';
        !            36: var_dump($ao, $original, $copy);
        !            37: 
        !            38: echo "\n\n--> exchangeArray() with bad arg type:\n";
        !            39: unset($original, $ao, $swapIn, $copy);
        !            40: $original = new C;
        !            41: $ao = new ArrayObject($original);
        !            42: try {
        !            43:        $copy = $ao->exchangeArray(null);
        !            44:        $copy['addedToCopy'] = 'added To Copy';
        !            45: } catch (Exception $e) {
        !            46:        echo "Exception:" . $e->getMessage() . "\n";
        !            47: }
        !            48: $original->addedToOriginal = 'added To Original';
        !            49: var_dump($ao, $original, $copy);
        !            50: 
        !            51: ?>
        !            52: --EXPECTF--
        !            53: --> exchangeArray() with objects:
        !            54: object(ArrayObject)#2 (1) {
        !            55:   ["storage":"ArrayObject":private]=>
        !            56:   object(C)#3 (2) {
        !            57:     ["pub1"]=>
        !            58:     string(7) "public1"
        !            59:     ["addedToSwapIn"]=>
        !            60:     string(16) "added To Swap-In"
        !            61:   }
        !            62: }
        !            63: object(C)#1 (2) {
        !            64:   ["pub1"]=>
        !            65:   string(7) "public1"
        !            66:   ["addedToOriginal"]=>
        !            67:   string(17) "added To Original"
        !            68: }
        !            69: object(C)#3 (2) {
        !            70:   ["pub1"]=>
        !            71:   string(7) "public1"
        !            72:   ["addedToSwapIn"]=>
        !            73:   string(16) "added To Swap-In"
        !            74: }
        !            75: array(2) {
        !            76:   ["pub1"]=>
        !            77:   string(7) "public1"
        !            78:   ["addedToCopy"]=>
        !            79:   string(13) "added To Copy"
        !            80: }
        !            81: 
        !            82: 
        !            83: --> exchangeArray() with no arg:
        !            84: 
        !            85: Warning: ArrayObject::exchangeArray() expects exactly 1 parameter, 0 given in %s on line 27
        !            86: object(ArrayObject)#2 (1) {
        !            87:   ["storage":"ArrayObject":private]=>
        !            88:   object(C)#3 (2) {
        !            89:     ["pub1"]=>
        !            90:     string(7) "public1"
        !            91:     ["addedToOriginal"]=>
        !            92:     string(17) "added To Original"
        !            93:   }
        !            94: }
        !            95: object(C)#3 (2) {
        !            96:   ["pub1"]=>
        !            97:   string(7) "public1"
        !            98:   ["addedToOriginal"]=>
        !            99:   string(17) "added To Original"
        !           100: }
        !           101: array(2) {
        !           102:   ["pub1"]=>
        !           103:   string(7) "public1"
        !           104:   ["addedToCopy"]=>
        !           105:   string(13) "added To Copy"
        !           106: }
        !           107: 
        !           108: 
        !           109: --> exchangeArray() with bad arg type:
        !           110: Exception:Passed variable is not an array or object, using empty array instead
        !           111: 
        !           112: Notice: Undefined variable: copy in %s on line 46
        !           113: object(ArrayObject)#3 (1) {
        !           114:   ["storage":"ArrayObject":private]=>
        !           115:   object(C)#2 (2) {
        !           116:     ["pub1"]=>
        !           117:     string(7) "public1"
        !           118:     ["addedToOriginal"]=>
        !           119:     string(17) "added To Original"
        !           120:   }
        !           121: }
        !           122: object(C)#2 (2) {
        !           123:   ["pub1"]=>
        !           124:   string(7) "public1"
        !           125:   ["addedToOriginal"]=>
        !           126:   string(17) "added To Original"
        !           127: }
        !           128: NULL

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>