Title: [208396] trunk
Revision
208396
Author
mmaxfi...@apple.com
Date
2016-11-04 13:09:39 -0700 (Fri, 04 Nov 2016)

Log Message

Implement WebGL2RenderingContext::copyBufferSubData()
https://bugs.webkit.org/show_bug.cgi?id=164008

Reviewed by Dean Jackson.

Source/WebCore:

Similar to previous work regarding WebGL 2 buffers, this method implements
the ability to copy from one buffer to another without the data leaving
the GPU.

Test: fast/canvas/webgl/copyBufferSubData.html

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::copyBufferSubData):
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::associateCopyBufferSubData):
* html/canvas/WebGLBuffer.h:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::copyBufferSubData):

LayoutTests:

* fast/canvas/webgl/copyBufferSubData-expected.txt: Added.
* fast/canvas/webgl/copyBufferSubData.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (208395 => 208396)


--- trunk/LayoutTests/ChangeLog	2016-11-04 19:42:26 UTC (rev 208395)
+++ trunk/LayoutTests/ChangeLog	2016-11-04 20:09:39 UTC (rev 208396)
@@ -1,3 +1,13 @@
+2016-11-04  Myles C. Maxfield  <mmaxfi...@apple.com>
+
+        Implement WebGL2RenderingContext::copyBufferSubData()
+        https://bugs.webkit.org/show_bug.cgi?id=164008
+
+        Reviewed by Dean Jackson.
+
+        * fast/canvas/webgl/copyBufferSubData-expected.txt: Added.
+        * fast/canvas/webgl/copyBufferSubData.html: Added.
+
 2016-11-04  Antti Koivisto  <an...@apple.com>
 
         slotted() pseudo does not work with ID selector

Added: trunk/LayoutTests/fast/canvas/webgl/copyBufferSubData-expected.txt (0 => 208396)


--- trunk/LayoutTests/fast/canvas/webgl/copyBufferSubData-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/canvas/webgl/copyBufferSubData-expected.txt	2016-11-04 20:09:39 UTC (rev 208396)
@@ -0,0 +1,2865 @@
+Make sure that getBufferSubData() doesn't work on WebGL 1 contexts
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[0]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[1]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[2]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS receiver[0] is fullArrayView[0]
+PASS receiver[1] is fullArrayView[1]
+PASS receiver[2] is fullArrayView[1]
+PASS receiver[3] is fullArrayView[3]
+PASS receiver[4] is fullArrayView[4]
+PASS receiver[5] is fullArrayView[5]
+PASS receiver[6] is fullArrayView[6]
+PASS receiver[7] is fullArrayView[7]
+PASS receiver[8] is fullArrayView[8]
+PASS receiver[9] is fullArrayView[9]
+PASS context.getError() is context.NO_ERROR
+PASS context.getError() is context.NO_ERROR
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Property changes on: trunk/LayoutTests/fast/canvas/webgl/copyBufferSubData-expected.txt
___________________________________________________________________

Added: svn:eol-style

+native \ No newline at end of property

Added: svn:keywords

+Author Date Id Rev URL \ No newline at end of property

Added: trunk/LayoutTests/fast/canvas/webgl/copyBufferSubData.html (0 => 208396)


--- trunk/LayoutTests/fast/canvas/webgl/copyBufferSubData.html	                        (rev 0)
+++ trunk/LayoutTests/fast/canvas/webgl/copyBufferSubData.html	2016-11-04 20:09:39 UTC (rev 208396)
@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<canvas id="canvas" width="40" height="40"></canvas>
+<script>
+description("Make sure that getBufferSubData() doesn't work on WebGL 1 contexts");
+
+if (window.internals)
+	internals.setWebGL2Enabled(true);
+
+var arrayBuffer = new ArrayBuffer(40);
+var fullArrayView = new Float32Array(arrayBuffer); // [15, 16, 17, 18, 19, 20, 21, 22, 23, 24], 40 bytes
+var receiver = new Float32Array(20); // 20 floats, 80 bytes
+for (var i = 0; i < 10; ++i)
+	fullArrayView[i] = 15 + i;
+
+var canvas = document.getElementById("canvas");
+var context = canvas.getContext("webgl2");
+
+var targets = [context.ARRAY_BUFFER, context.COPY_READ_BUFFER, context.COPY_WRITE_BUFFER, context.PIXEL_PACK_BUFFER, context.PIXEL_UNPACK_BUFFER, context.TRANSFORM_FEEDBACK_BUFFER, context.UNIFORM_BUFFER];
+targets.forEach(function(i) {
+	targets.forEach(function(j) {
+		if (i != j) {
+			testCopy(i, j);
+		}
+	});
+});
+
+function testCopy(readTarget, writeTarget) {
+	var buffer1 = context.createBuffer();
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.bindBuffer(readTarget, buffer1);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.bufferData(readTarget, arrayBuffer, context.STATIC_DRAW);
+	shouldBe("context.getError()", "context.NO_ERROR");
+
+	var buffer2 = context.createBuffer();
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.bindBuffer(writeTarget, buffer2);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.bufferData(writeTarget, arrayBuffer, context.STATIC_DRAW);
+	shouldBe("context.getError()", "context.NO_ERROR");
+
+	context.copyBufferSubData(readTarget, writeTarget, 0, 4, 4);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.getBufferSubData(writeTarget, 0, receiver, 0, 10);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	shouldBe("receiver[0]", "fullArrayView[0]");
+	shouldBe("receiver[1]", "fullArrayView[0]");
+	for (var i = 2; i < 10; ++i)
+		shouldBe("receiver[" + i + "]", "fullArrayView[" + i + "]");
+
+	context.copyBufferSubData(readTarget, writeTarget, 0, 0, 40);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.getBufferSubData(writeTarget, 0, receiver, 0, 10);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	for (var i = 0; i < 10; ++i)
+		shouldBe("receiver[" + i + "]", "fullArrayView[" + i + "]");
+
+	context.copyBufferSubData(readTarget, writeTarget, 4, 0, 4);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.getBufferSubData(writeTarget, 0, receiver, 0, 10);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	shouldBe("receiver[0]", "fullArrayView[1]");
+	for (var i = 1; i < 10; ++i)
+		shouldBe("receiver[" + i + "]", "fullArrayView[" + i + "]");
+
+	context.copyBufferSubData(readTarget, writeTarget, 0, 0, 40);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.getBufferSubData(writeTarget, 0, receiver, 0, 10);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	for (var i = 0; i < 10; ++i)
+		shouldBe("receiver[" + i + "]", "fullArrayView[" + i + "]");
+
+	context.copyBufferSubData(writeTarget, writeTarget, 4, 8, 4);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.getBufferSubData(writeTarget, 0, receiver, 0, 10);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	shouldBe("receiver[0]", "fullArrayView[0]");
+	shouldBe("receiver[1]", "fullArrayView[1]");
+	shouldBe("receiver[2]", "fullArrayView[1]");
+	for (var i = 3; i < 10; ++i)
+		shouldBe("receiver[" + i + "]", "fullArrayView[" + i + "]");
+
+	context.deleteBuffer(buffer1);
+	shouldBe("context.getError()", "context.NO_ERROR");
+	context.deleteBuffer(buffer2);
+	shouldBe("context.getError()", "context.NO_ERROR");
+}
+
+</script>
+<script src=""
+</body>
+</html>
\ No newline at end of file

Modified: trunk/Source/WebCore/ChangeLog (208395 => 208396)


--- trunk/Source/WebCore/ChangeLog	2016-11-04 19:42:26 UTC (rev 208395)
+++ trunk/Source/WebCore/ChangeLog	2016-11-04 20:09:39 UTC (rev 208396)
@@ -1,3 +1,25 @@
+2016-11-04  Myles C. Maxfield  <mmaxfi...@apple.com>
+
+        Implement WebGL2RenderingContext::copyBufferSubData()
+        https://bugs.webkit.org/show_bug.cgi?id=164008
+
+        Reviewed by Dean Jackson.
+
+        Similar to previous work regarding WebGL 2 buffers, this method implements
+        the ability to copy from one buffer to another without the data leaving
+        the GPU.
+
+        Test: fast/canvas/webgl/copyBufferSubData.html
+
+        * html/canvas/WebGL2RenderingContext.cpp:
+        (WebCore::WebGL2RenderingContext::copyBufferSubData):
+        * html/canvas/WebGLBuffer.cpp:
+        (WebCore::WebGLBuffer::associateCopyBufferSubData):
+        * html/canvas/WebGLBuffer.h:
+        * platform/graphics/GraphicsContext3D.h:
+        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+        (WebCore::GraphicsContext3D::copyBufferSubData):
+
 2016-11-04  Simon Fraser  <simon.fra...@apple.com>
 
         Rename some ScrollingTree/Node-related functions to reduce the number of uses of "update"

Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp (208395 => 208396)


--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp	2016-11-04 19:42:26 UTC (rev 208395)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp	2016-11-04 20:09:39 UTC (rev 208396)
@@ -170,8 +170,49 @@
     WebGLRenderingContextBase::bufferSubData(target, offset, BufferDataSource(slice.get()));
 }
 
-void WebGL2RenderingContext::copyBufferSubData(GC3Denum, GC3Denum, GC3Dint64, GC3Dint64, GC3Dint64)
+void WebGL2RenderingContext::copyBufferSubData(GC3Denum readTarget, GC3Denum writeTarget, GC3Dint64 readOffset, GC3Dint64 writeOffset, GC3Dint64 size)
 {
+    if (isContextLostOrPending())
+        return;
+    if ((readTarget == GraphicsContext3D::ELEMENT_ARRAY_BUFFER && writeTarget != GraphicsContext3D::ELEMENT_ARRAY_BUFFER)
+        || (writeTarget == GraphicsContext3D::ELEMENT_ARRAY_BUFFER && readTarget != GraphicsContext3D::ELEMENT_ARRAY_BUFFER)) {
+        synthesizeGLError(GraphicsContext3D::INVALID_OPERATION, "copyBufferSubData", "Either both targets need to be ELEMENT_ARRAY_BUFFER or neither should be ELEMENT_ARRAY_BUFFER.");
+        return;
+    }
+    if (readOffset < 0 || writeOffset < 0 || size < 0) {
+        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "copyBufferSubData", "offset < 0");
+        return;
+    }
+    WebGLBuffer* readBuffer = validateBufferDataParameters("copyBufferSubData", readTarget, GraphicsContext3D::STATIC_DRAW);
+    WebGLBuffer* writeBuffer = validateBufferDataParameters("copyBufferSubData", writeTarget, GraphicsContext3D::STATIC_DRAW);
+    if (!readBuffer || !writeBuffer) {
+        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "copyBufferSubData", "Invalid readTarget or writeTarget");
+        return;
+    }
+
+    Checked<GC3Dintptr, RecordOverflow> checkedReadOffset(readOffset);
+    Checked<GC3Dintptr, RecordOverflow> checkedWriteOffset(writeOffset);
+    Checked<GC3Dsizeiptr, RecordOverflow> checkedSize(size);
+    if (checkedReadOffset.hasOverflowed() || checkedWriteOffset.hasOverflowed() || checkedSize.hasOverflowed()) {
+        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "copyBufferSubData", "Offset or size is too big");
+        return;
+    }
+
+    if (!this->isErrorGeneratedOnOutOfBoundsAccesses()) {
+        if (!writeBuffer->associateCopyBufferSubData(*readBuffer, checkedReadOffset.unsafeGet(), checkedWriteOffset.unsafeGet(), checkedSize.unsafeGet())) {
+            this->synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "copyBufferSubData", "offset out of range");
+            return;
+        }
+    }
+
+    m_context->moveErrorsToSyntheticErrorList();
+#if PLATFORM(MAC) || PLATFORM(IOS)
+    m_context->copyBufferSubData(readTarget, writeTarget, checkedReadOffset.unsafeGet(), checkedWriteOffset.unsafeGet(), checkedSize.unsafeGet());
+#endif
+    if (m_context->moveErrorsToSyntheticErrorList()) {
+        // The bufferSubData function failed. Tell the buffer it doesn't have the data it thinks it does.
+        writeBuffer->disassociateBufferData();
+    }
 }
 
 void WebGL2RenderingContext::getBufferSubData(GC3Denum target, long long srcByteOffset, RefPtr<ArrayBufferView>&& dstData, GC3Duint dstOffset, GC3Duint length)

Modified: trunk/Source/WebCore/html/canvas/WebGLBuffer.cpp (208395 => 208396)


--- trunk/Source/WebCore/html/canvas/WebGLBuffer.cpp	2016-11-04 19:42:26 UTC (rev 208395)
+++ trunk/Source/WebCore/html/canvas/WebGLBuffer.cpp	2016-11-04 20:09:39 UTC (rev 208396)
@@ -176,6 +176,51 @@
     return associateBufferSubDataImpl(offset, array->baseAddress(), array->byteLength());
 }
 
+bool WebGLBuffer::associateCopyBufferSubData(const WebGLBuffer& readBuffer, GC3Dintptr readOffset, GC3Dintptr writeOffset, GC3Dsizeiptr size)
+{
+    if (readOffset < 0 || writeOffset < 0 || size < 0)
+        return false;
+
+    if (size) {
+        Checked<GC3Dintptr, RecordOverflow> checkedReadBufferOffset(readOffset);
+        Checked<GC3Dsizeiptr, RecordOverflow> checkedDataLength(size);
+        Checked<GC3Dintptr, RecordOverflow> checkedReadBufferMax = checkedReadBufferOffset + checkedDataLength;
+        if (checkedReadBufferMax.hasOverflowed() || readOffset > readBuffer.byteLength() || checkedReadBufferMax.unsafeGet() > readBuffer.byteLength())
+            return false;
+
+        Checked<GC3Dintptr, RecordOverflow> checkedWriteBufferOffset(writeOffset);
+        Checked<GC3Dintptr, RecordOverflow> checkedWriteBufferMax = checkedWriteBufferOffset + checkedDataLength;
+        if (checkedWriteBufferMax.hasOverflowed() || writeOffset > m_byteLength || checkedWriteBufferMax.unsafeGet() > m_byteLength)
+            return false;
+    }
+
+    switch (m_target) {
+    case GraphicsContext3D::ELEMENT_ARRAY_BUFFER:
+        clearCachedMaxIndices();
+        if (size) {
+            if (!m_elementArrayBuffer)
+                return false;
+            memcpy(static_cast<unsigned char*>(m_elementArrayBuffer->data()) + writeOffset, static_cast<const unsigned char*>(readBuffer.elementArrayBuffer()->data()) + readOffset, size);
+        }
+        return true;
+    case GraphicsContext3D::ARRAY_BUFFER:
+        return true;
+    default:
+#if ENABLE(WEBGL2)
+        switch (m_target) {
+        case GraphicsContext3D::COPY_READ_BUFFER:
+        case GraphicsContext3D::COPY_WRITE_BUFFER:
+        case GraphicsContext3D::PIXEL_PACK_BUFFER:
+        case GraphicsContext3D::PIXEL_UNPACK_BUFFER:
+        case GraphicsContext3D::TRANSFORM_FEEDBACK_BUFFER:
+        case GraphicsContext3D::UNIFORM_BUFFER:
+            return true;
+        }
+#endif
+        return false;
+    }
+}
+
 void WebGLBuffer::disassociateBufferData()
 {
     m_byteLength = 0;

Modified: trunk/Source/WebCore/html/canvas/WebGLBuffer.h (208395 => 208396)


--- trunk/Source/WebCore/html/canvas/WebGLBuffer.h	2016-11-04 19:42:26 UTC (rev 208395)
+++ trunk/Source/WebCore/html/canvas/WebGLBuffer.h	2016-11-04 20:09:39 UTC (rev 208396)
@@ -46,6 +46,7 @@
     bool associateBufferData(JSC::ArrayBufferView*);
     bool associateBufferSubData(GC3Dintptr offset, JSC::ArrayBuffer*);
     bool associateBufferSubData(GC3Dintptr offset, JSC::ArrayBufferView*);
+    bool associateCopyBufferSubData(const WebGLBuffer& readBuffer, GC3Dintptr readOffset, GC3Dintptr writeOffset, GC3Dsizeiptr);
 
     void disassociateBufferData();
 

Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h (208395 => 208396)


--- trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h	2016-11-04 19:42:26 UTC (rev 208395)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h	2016-11-04 20:09:39 UTC (rev 208396)
@@ -970,6 +970,7 @@
 
     void* mapBufferRange(GC3Denum target, GC3Dintptr offset, GC3Dsizeiptr length, GC3Dbitfield access);
     GC3Dboolean unmapBuffer(GC3Denum target);
+    void copyBufferSubData(GC3Denum readTarget, GC3Denum writeTarget, GC3Dintptr readOffset, GC3Dintptr writeOffset, GC3Dsizeiptr);
 
     GC3Denum checkFramebufferStatus(GC3Denum target);
     void clear(GC3Dbitfield mask);

Modified: trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp (208395 => 208396)


--- trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp	2016-11-04 19:42:26 UTC (rev 208395)
+++ trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp	2016-11-04 20:09:39 UTC (rev 208396)
@@ -563,6 +563,12 @@
     makeContextCurrent();
     return ::glUnmapBuffer(target);
 }
+
+void GraphicsContext3D::copyBufferSubData(GC3Denum readTarget, GC3Denum writeTarget, GC3Dintptr readOffset, GC3Dintptr writeOffset, GC3Dsizeiptr size)
+{
+    makeContextCurrent();
+    ::glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
+}
 #endif
 
 GC3Denum GraphicsContext3D::checkFramebufferStatus(GC3Denum target)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to