@@ -250,21 +250,54 @@ public function testCopyChildrenBinaryData()
250
250
251
251
$ this ->ws ->copy ($ src , $ dst );
252
252
$ this ->session ->refresh (true );
253
- $ srcChild = $ this ->session ->getNode ($ src .'/data.bin ' );
254
- $ dstChild = $ this ->session ->getNode ($ dst .'/data.bin ' );
255
253
256
- $ srcProp = $ srcChild ->getProperty ('jcr:data ' );
257
- $ dstProp = $ dstChild ->getProperty ('jcr:data ' );
254
+ //Single value
255
+ $ srcProp = $ this ->session ->getNode ($ src . '/single ' )->getProperty ('jcr:data ' );
256
+ $ dstProp = $ this ->session ->getNode ($ dst . '/single ' )->getProperty ('jcr:data ' );
258
257
259
258
$ this ->assertEquals (\PHPCR \PropertyType::BINARY , $ srcProp ->getType ());
260
259
$ this ->assertEquals (\PHPCR \PropertyType::BINARY , $ dstProp ->getType ());
261
260
262
- $ srcBin = $ srcProp ->getBinary ();
263
- $ dstBin = $ dstProp ->getBinary ();
261
+ $ srcVal = $ srcProp ->getBinary ();
262
+ $ dstVal = $ dstProp ->getBinary ();
264
263
265
- $ this ->assertTrue (is_resource ($ srcBin ), 'Failed to get src binary stream ' );
266
- $ this ->assertTrue (is_resource ($ dstBin ), 'Failed to get dst binary stream ' );
264
+ $ this ->assertTrue (is_resource ($ srcVal ), 'Failed to get src binary stream ' );
265
+ $ this ->assertTrue (is_resource ($ dstVal ), 'Failed to get dst binary stream ' );
267
266
268
- $ this ->assertEquals (stream_get_contents ($ srcBin ), stream_get_contents ($ dstBin ));
267
+ $ this ->assertEquals (stream_get_contents ($ srcVal ), stream_get_contents ($ dstVal ));
268
+ }
269
+
270
+ /**
271
+ * Verifies that transport::copy actually copies binary data of children nodes
272
+ * Multivalue test
273
+ */
274
+ public function testCopyChildrenBinaryDataMultivalue ()
275
+ {
276
+ $ src = '/tests_write_manipulation_copy/testCopyChildrenBinaryDataMultivalue/srcNode ' ;
277
+ $ dst = '/tests_write_manipulation_copy/testCopyChildrenBinaryDataMultivalue/dstNode ' ;
278
+
279
+ $ this ->ws ->copy ($ src , $ dst );
280
+ $ this ->session ->refresh (true );
281
+
282
+ //Multivalue
283
+ $ srcProp = $ this ->session ->getNode ($ src .'/multiple ' )->getProperty ('jcr:data ' );
284
+ $ dstProp = $ this ->session ->getNode ($ dst .'/multiple ' )->getProperty ('jcr:data ' );
285
+
286
+ $ this ->assertEquals (\PHPCR \PropertyType::BINARY , $ srcProp ->getType ());
287
+ $ this ->assertEquals (\PHPCR \PropertyType::BINARY , $ dstProp ->getType ());
288
+
289
+ $ srcVal = $ srcProp ->getValue ();
290
+ $ dstVal = $ dstProp ->getValue ();
291
+
292
+ $ this ->assertTrue (is_array ($ srcVal ), 'Failed to get src value ' );
293
+ $ this ->assertTrue (is_array ($ dstVal ), 'Failed to get dst value ' );
294
+
295
+ $ this ->assertTrue (is_resource ($ srcVal [0 ]));
296
+ $ this ->assertTrue (is_resource ($ srcVal [1 ]));
297
+ $ this ->assertTrue (is_resource ($ dstVal [0 ]));
298
+ $ this ->assertTrue (is_resource ($ dstVal [1 ]));
299
+
300
+ $ this ->assertEquals (stream_get_contents ($ srcVal [0 ]), stream_get_contents ($ dstVal [0 ]));
301
+ $ this ->assertEquals (stream_get_contents ($ srcVal [1 ]), stream_get_contents ($ dstVal [1 ]));
269
302
}
270
303
}
0 commit comments