| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 function runWithPipe(mojo, test) { | 5 define(["gtest", "core"], function(gtest, core) { |
| 6 var pipe = mojo.core.createMessagePipe(); | 6 runWithPipe(testNop); |
| 7 runWithPipe(testReadAndWriteMessage); |
| 8 this.result = "PASS"; |
| 7 | 9 |
| 8 test(mojo, pipe); | 10 function runWithPipe(test) { |
| 11 var pipe = core.createMessagePipe(); |
| 9 | 12 |
| 10 var result0 = mojo.core.close(pipe.handle0); | 13 test(pipe); |
| 11 mojo.gtest.expectEqual(result0, mojo.core.RESULT_OK, | |
| 12 "result0 is " + result0); | |
| 13 | 14 |
| 14 var result1 = mojo.core.close(pipe.handle1); | 15 var result0 = core.close(pipe.handle0); |
| 15 mojo.gtest.expectEqual(result1, mojo.core.RESULT_OK, | 16 gtest.expectEqual(result0, core.RESULT_OK, |
| 16 "result1 is " + result1); | 17 "result0 is " + result0); |
| 17 } | |
| 18 | 18 |
| 19 function testNop(mojo, pipe) { | 19 var result1 = core.close(pipe.handle1); |
| 20 } | 20 gtest.expectEqual(result1, core.RESULT_OK, |
| 21 | 21 "result1 is " + result1); |
| 22 function testReadAndWriteMessage(mojo, pipe) { | |
| 23 var senderData = new Uint8Array(42); | |
| 24 for (var i = 0; i < senderData.length; ++i) { | |
| 25 senderData[i] = i * i; | |
| 26 } | 22 } |
| 27 | 23 |
| 28 var result = mojo.core.writeMessage( | 24 function testNop(pipe) { |
| 29 pipe.handle0, senderData, [], | 25 } |
| 30 mojo.core.WRITE_MESSAGE_FLAG_NONE); | |
| 31 | 26 |
| 32 mojo.gtest.expectEqual(result, mojo.core.RESULT_OK, | 27 function testReadAndWriteMessage(pipe) { |
| 33 "writeMessage returned RESULT_OK: " + result); | 28 var senderData = new Uint8Array(42); |
| 29 for (var i = 0; i < senderData.length; ++i) { |
| 30 senderData[i] = i * i; |
| 31 } |
| 34 | 32 |
| 35 var receiverData = new Uint8Array(50); | 33 var result = core.writeMessage( |
| 34 pipe.handle0, senderData, [], |
| 35 core.WRITE_MESSAGE_FLAG_NONE); |
| 36 | 36 |
| 37 var mesage = mojo.core.readMessage( | 37 gtest.expectEqual(result, core.RESULT_OK, |
| 38 pipe.handle1, receiverData, 10, | 38 "writeMessage returned RESULT_OK: " + result); |
| 39 mojo.core.READ_MESSAGE_FLAG_NONE) | |
| 40 | 39 |
| 41 mojo.gtest.expectEqual(mesage.result, mojo.core.RESULT_OK, | 40 var receiverData = new Uint8Array(50); |
| 42 "mesage.result is " + mesage.result); | |
| 43 mojo.gtest.expectEqual(mesage.bytesRead, 42, | |
| 44 "mesage.bytesRead is " + mesage.bytesRead); | |
| 45 mojo.gtest.expectEqual(mesage.handles.length, 0, | |
| 46 "mesage.handles.length is " + mesage.handles.length); | |
| 47 | 41 |
| 48 for (var i = 0; i < mesage.bytesRead; ++i) { | 42 var mesage = core.readMessage( |
| 49 mojo.gtest.expectEqual(receiverData[i], (i * i) & 0xFF, | 43 pipe.handle1, receiverData, 10, |
| 50 "receiverData[" + i + "] is " + receiverData[i]); | 44 core.READ_MESSAGE_FLAG_NONE) |
| 45 |
| 46 gtest.expectEqual(mesage.result, core.RESULT_OK, |
| 47 "mesage.result is " + mesage.result); |
| 48 gtest.expectEqual(mesage.bytesRead, 42, |
| 49 "mesage.bytesRead is " + mesage.bytesRead); |
| 50 gtest.expectEqual(mesage.handles.length, 0, |
| 51 "mesage.handles.length is " + mesage.handles.length); |
| 52 |
| 53 for (var i = 0; i < mesage.bytesRead; ++i) { |
| 54 gtest.expectEqual(receiverData[i], (i * i) & 0xFF, |
| 55 "receiverData[" + i + "] is " + receiverData[i]); |
| 56 } |
| 51 } | 57 } |
| 52 } | 58 }); |
| 53 | |
| 54 function main(mojo) { | |
| 55 runWithPipe(mojo, testNop); | |
| 56 runWithPipe(mojo, testReadAndWriteMessage); | |
| 57 } | |
| OLD | NEW |