| Index: third_party/WebKit/LayoutTests/mojo/shared-buffer.html
|
| diff --git a/third_party/WebKit/LayoutTests/mojo/shared-buffer.html b/third_party/WebKit/LayoutTests/mojo/shared-buffer.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fa95f9246ca54a9cf5f25b7988a3febc9f19b278
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/mojo/shared-buffer.html
|
| @@ -0,0 +1,70 @@
|
| +<!DOCTYPE html>
|
| +<title>Mojo shared buffer tests</title>
|
| +<script src="../resources/testharness.js"></script>
|
| +<script src="../resources/testharnessreport.js"></script>
|
| +<script>
|
| +
|
| +let kBufferSize = 32;
|
| +
|
| +test(() => {
|
| + let {result, handle} = Mojo.createSharedBuffer(kBufferSize);
|
| + assert_equals(result, Mojo.RESULT_OK);
|
| + assert_true(handle instanceof MojoHandle);
|
| +}, "Create shared buffer");
|
| +
|
| +test(() => {
|
| + let {handle} = Mojo.createSharedBuffer(kBufferSize);
|
| + let {result, buffer} = handle.mapBuffer(0, kBufferSize);
|
| + assert_equals(result, Mojo.RESULT_OK);
|
| + assert_true(buffer instanceof ArrayBuffer);
|
| +}, "Map shared buffer");
|
| +
|
| +test(() => {
|
| + let {handle: handle0} = Mojo.createSharedBuffer(kBufferSize);
|
| + let {result, handle: handle1} = handle0.duplicateBufferHandle();
|
| + assert_equals(result, Mojo.RESULT_OK);
|
| + assert_true(handle1 instanceof MojoHandle);
|
| + assert_not_equals(handle1, handle0);
|
| +}, "Duplicate RW shared buffer handle");
|
| +
|
| +test(() => {
|
| + let {handle: handle0} = Mojo.createSharedBuffer(kBufferSize);
|
| + let {result, handle: handle1} = handle0.duplicateBufferHandle({readOnly: true});
|
| + assert_equals(result, Mojo.RESULT_OK);
|
| + assert_true(handle1 instanceof MojoHandle);
|
| + assert_not_equals(handle1, handle0);
|
| +}, "Duplicate RO shared buffer handle");
|
| +
|
| +test(() => {
|
| + let {handle: handle0} = Mojo.createSharedBuffer(kBufferSize);
|
| + let {buffer: buffer0} = handle0.mapBuffer(0, kBufferSize);
|
| + let array0 = new Uint8Array(buffer0);
|
| +
|
| + let {handle: handle1} = handle0.duplicateBufferHandle({readOnly: true});
|
| + let {buffer: buffer1} = handle1.mapBuffer(0, kBufferSize);
|
| + let array1 = new Uint8Array(buffer1);
|
| +
|
| + assert_not_equals(buffer1, buffer0);
|
| + for (let i = 0; i < kBufferSize; ++i) {
|
| + array0[i] = i;
|
| + assert_equals(array1[i], i);
|
| + }
|
| +}, "Read from RO shared buffer handle");
|
| +
|
| +test(() => {
|
| + let {handle: handle0} = Mojo.createSharedBuffer(kBufferSize);
|
| + let {buffer: buffer0} = handle0.mapBuffer(0, kBufferSize);
|
| + let array0 = new Uint8Array(buffer0);
|
| +
|
| + let {handle: handle1} = handle0.duplicateBufferHandle();
|
| + let {buffer: buffer1} = handle1.mapBuffer(0, kBufferSize);
|
| + let array1 = new Uint8Array(buffer1);
|
| +
|
| + assert_not_equals(buffer1, buffer0);
|
| + for (let i = 0; i < kBufferSize; ++i) {
|
| + array1[i] = i;
|
| + assert_equals(array0[i], i);
|
| + }
|
| +}, "Write to RW shared buffer handle");
|
| +
|
| +</script>
|
|
|