OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE html> | |
2 <title>Mojo shared buffer tests</title> | |
3 <script src="../resources/testharness.js"></script> | |
4 <script src="../resources/testharnessreport.js"></script> | |
5 <script> | |
6 | |
7 let kBufferSize = 32; | |
8 | |
9 test(() => { | |
10 let {result, handle} = Mojo.createSharedBuffer(kBufferSize); | |
11 assert_equals(result, Mojo.RESULT_OK); | |
12 assert_true(handle instanceof MojoHandle); | |
13 }, "Create shared buffer"); | |
14 | |
15 test(() => { | |
16 let {handle} = Mojo.createSharedBuffer(kBufferSize); | |
17 let {result, buffer} = handle.mapBuffer(0, kBufferSize); | |
18 assert_equals(result, Mojo.RESULT_OK); | |
19 assert_true(buffer instanceof ArrayBuffer); | |
20 }, "Map shared buffer"); | |
21 | |
22 test(() => { | |
23 let {handle: handle0} = Mojo.createSharedBuffer(kBufferSize); | |
24 let {result, handle: handle1} = handle0.clone(); | |
yzshen1
2017/03/01 23:11:46
Clone is not a great name in that it sounds like a
alokp
2017/03/01 23:58:34
I was following the C++ API: https://cs.chromium.o
yzshen1
2017/03/02 17:41:07
I would vote for "duplicate" to be consistent with
| |
25 assert_equals(result, Mojo.RESULT_OK); | |
26 assert_true(handle1 instanceof MojoHandle); | |
27 }, "Clone RW shared buffer handle"); | |
28 | |
29 test(() => { | |
30 let {handle: handle0} = Mojo.createSharedBuffer(kBufferSize); | |
31 let {result, handle: handle1} = handle0.clone({readOnly: true}); | |
32 assert_equals(result, Mojo.RESULT_OK); | |
33 assert_true(handle1 instanceof MojoHandle); | |
34 }, "Clone RO shared buffer handle"); | |
35 | |
36 test(() => { | |
37 let {handle: handle0} = Mojo.createSharedBuffer(kBufferSize); | |
38 let {buffer: buffer0} = handle0.mapBuffer(0, kBufferSize); | |
39 let array0 = new Uint8Array(buffer0); | |
40 | |
41 let {handle: handle1} = handle0.clone({readOnly: true}); | |
42 let {buffer: buffer1} = handle1.mapBuffer(0, kBufferSize); | |
jbroman
2017/03/01 23:29:37
nit: Consider verifying that handle1 != handle0 an
alokp
2017/03/01 23:58:34
Done. Added "handle1 != handle0" checks to clone t
| |
43 let array1 = new Uint8Array(buffer1); | |
44 | |
45 for (let i = 0; i < kBufferSize; ++i) { | |
46 array0[i] = i; | |
47 assert_equals(array1[i], i); | |
48 } | |
49 }, "Read from RO shared buffer handle"); | |
50 | |
51 test(() => { | |
52 let {handle: handle0} = Mojo.createSharedBuffer(kBufferSize); | |
53 let {buffer: buffer0} = handle0.mapBuffer(0, kBufferSize); | |
54 let array0 = new Uint8Array(buffer0); | |
55 | |
56 let {handle: handle1} = handle0.clone(); | |
57 let {buffer: buffer1} = handle1.mapBuffer(0, kBufferSize); | |
58 let array1 = new Uint8Array(buffer1); | |
59 | |
60 for (let i = 0; i < kBufferSize; ++i) { | |
61 array1[i] = i; | |
62 assert_equals(array0[i], i); | |
63 } | |
64 }, "Write to RW shared buffer handle"); | |
65 | |
66 </script> | |
OLD | NEW |