@@ -97,25 +97,43 @@ public function testRemovePlugin()
97
97
98
98
public function testUnserializeOnReadItem ()
99
99
{
100
+ $ args = new ArrayObject ([
101
+ 'key ' => 'test ' ,
102
+ 'success ' => true ,
103
+ 'casToken ' => null ,
104
+ ]);
100
105
$ value = serialize (123 );
101
- $ event = new PostEvent ('getItem.post ' , $ this ->_adapter , new ArrayObject () , $ value );
106
+ $ event = new PostEvent ('getItem.post ' , $ this ->_adapter , $ args , $ value );
102
107
$ this ->_plugin ->onReadItemPost ($ event );
103
108
104
- $ this ->assertFalse ($ event ->propagationIsStopped ());
105
- $ this ->assertSame (123 , $ event ->getResult ());
109
+ $ this ->assertFalse ($ event ->propagationIsStopped (), 'Event propagation has been stopped ' );
110
+ $ this ->assertSame (123 , $ event ->getResult (), 'Result was not unserialized ' );
111
+ }
112
+
113
+ public function testDontUnserializeOnReadMissingItem ()
114
+ {
115
+ $ args = new ArrayObject (['key ' => 'test ' ]);
116
+ $ value = null ;
117
+ $ event = new PostEvent ('getItem.post ' , $ this ->_adapter , $ args , $ value );
118
+ $ this ->_plugin ->onReadItemPost ($ event );
119
+
120
+ $ this ->assertFalse ($ event ->propagationIsStopped (), 'Event propagation has been stopped ' );
121
+ $ this ->assertSame ($ value , $ event ->getResult (), 'Missing item was unserialized ' );
106
122
}
107
123
108
124
public function testUnserializeOnReadItems ()
109
125
{
110
126
$ values = ['key1 ' => serialize (123 ), 'key2 ' => serialize (456 )];
111
- $ event = new PostEvent ('getItems.post ' , $ this ->_adapter , new ArrayObject (), $ values );
127
+ $ args = new ArrayObject (['keys ' => array_keys ($ values ) + ['missing ' ]]);
128
+ $ event = new PostEvent ('getItems.post ' , $ this ->_adapter , $ args , $ values );
112
129
113
130
$ this ->_plugin ->onReadItemsPost ($ event );
114
131
115
- $ this ->assertFalse ($ event ->propagationIsStopped ());
132
+ $ this ->assertFalse ($ event ->propagationIsStopped (), ' Event propagation has been stopped ' );
116
133
117
134
$ values = $ event ->getResult ();
118
- $ this ->assertSame (123 , $ values ['key1 ' ]);
119
- $ this ->assertSame (456 , $ values ['key2 ' ]);
135
+ $ this ->assertSame (123 , $ values ['key1 ' ], "Item 'key1' was not unserialized " );
136
+ $ this ->assertSame (456 , $ values ['key2 ' ], "Item 'key2' was not unserialized " );
137
+ $ this ->assertArrayNotHasKey ('missing ' , $ values , 'Missing item should not be present in the result ' );
120
138
}
121
139
}
0 commit comments