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 define([ | 5 define([ |
6 "gin/test/expect", | 6 "gin/test/expect", |
7 "mojo/public/js/bindings/codec", | 7 "mojo/public/js/bindings/codec", |
8 "mojo/public/interfaces/bindings/tests/sample_service.mojom", | 8 "mojo/public/interfaces/bindings/tests/sample_service.mojom", |
9 ], function(expect, codec, sample) { | 9 ], function(expect, codec, sample) { |
10 testBar(); | 10 testBar(); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 foo.extra_bars[i].alpha = 1 * i; | 80 foo.extra_bars[i].alpha = 1 * i; |
81 foo.extra_bars[i].beta = 2 * i; | 81 foo.extra_bars[i].beta = 2 * i; |
82 foo.extra_bars[i].gamma = 3 * i; | 82 foo.extra_bars[i].gamma = 3 * i; |
83 } | 83 } |
84 foo.name = "I am a banana"; | 84 foo.name = "I am a banana"; |
85 // This is supposed to be a handle, but we fake it with an integer. | 85 // This is supposed to be a handle, but we fake it with an integer. |
86 foo.source = 23423782; | 86 foo.source = 23423782; |
87 foo.array_of_array_of_bools = [ | 87 foo.array_of_array_of_bools = [ |
88 [true], [false, true] | 88 [true], [false, true] |
89 ]; | 89 ]; |
| 90 foo.array_of_bools = [ |
| 91 true, false, true, false, true, false, true, true |
| 92 ]; |
| 93 |
90 | 94 |
91 var messageName = 31; | 95 var messageName = 31; |
92 var payloadSize = 280; | 96 var payloadSize = 304; |
93 | 97 |
94 var builder = new codec.MessageBuilder(messageName, payloadSize); | 98 var builder = new codec.MessageBuilder(messageName, payloadSize); |
95 builder.encodeStruct(sample.Foo, foo); | 99 builder.encodeStruct(sample.Foo, foo); |
96 | 100 |
97 var message = builder.finish(); | 101 var message = builder.finish(); |
98 | 102 |
99 var expectedMemory = new Uint8Array([ | 103 var expectedMemory = new Uint8Array([ |
100 /* 0: */ 16, 0, 0, 0, 2, 0, 0, 0, | 104 /* 0: */ 16, 0, 0, 0, 2, 0, 0, 0, |
101 /* 8: */ 31, 0, 0, 0, 0, 0, 0, 0, | 105 /* 8: */ 31, 0, 0, 0, 0, 0, 0, 0, |
102 /* 16: */ 88, 0, 0, 0, 14, 0, 0, 0, | 106 /* 16: */ 96, 0, 0, 0, 15, 0, 0, 0, |
103 /* 24: */ 0xD5, 0xB4, 0x12, 0x02, 0x93, 0x6E, 0x01, 0, | 107 /* 24: */ 0xD5, 0xB4, 0x12, 0x02, 0x93, 0x6E, 0x01, 0, |
104 /* 32: */ 5, 0, 0, 0, 0, 0, 0, 0, | 108 /* 32: */ 5, 0, 0, 0, 0, 0, 0, 0, |
105 /* 40: */ 64, 0, 0, 0, 0, 0, 0, 0, | 109 /* 40: */ 72, 0, 0, 0, 0, 0, 0, 0, |
106 ]); | 110 ]); |
107 // TODO(abarth): Test more of the message's raw memory. | 111 // TODO(abarth): Test more of the message's raw memory. |
108 var actualMemory = new Uint8Array(message.buffer.arrayBuffer, | 112 var actualMemory = new Uint8Array(message.buffer.arrayBuffer, |
109 0, expectedMemory.length); | 113 0, expectedMemory.length); |
110 expect(actualMemory).toEqual(expectedMemory); | 114 expect(actualMemory).toEqual(expectedMemory); |
111 | 115 |
112 var expectedHandles = [ | 116 var expectedHandles = [ |
113 23423782, | 117 23423782, |
114 ]; | 118 ]; |
115 | 119 |
(...skipping 12 matching lines...) Expand all Loading... |
128 expect(foo2.a).toBe(foo.a & 1 ? true : false); | 132 expect(foo2.a).toBe(foo.a & 1 ? true : false); |
129 expect(foo2.b).toBe(foo.b & 1 ? true : false); | 133 expect(foo2.b).toBe(foo.b & 1 ? true : false); |
130 expect(foo2.c).toBe(foo.c & 1 ? true : false); | 134 expect(foo2.c).toBe(foo.c & 1 ? true : false); |
131 | 135 |
132 expect(foo2.bar).toEqual(foo.bar); | 136 expect(foo2.bar).toEqual(foo.bar); |
133 expect(foo2.data).toEqual(foo.data); | 137 expect(foo2.data).toEqual(foo.data); |
134 | 138 |
135 expect(foo2.extra_bars).toEqual(foo.extra_bars); | 139 expect(foo2.extra_bars).toEqual(foo.extra_bars); |
136 expect(foo2.name).toBe(foo.name); | 140 expect(foo2.name).toBe(foo.name); |
137 expect(foo2.source).toEqual(foo.source); | 141 expect(foo2.source).toEqual(foo.source); |
| 142 |
| 143 expect(foo2.array_of_bools).toEqual(foo.array_of_bools); |
138 } | 144 } |
139 | 145 |
140 function testTypes() { | 146 function testTypes() { |
141 function encodeDecode(cls, input, expectedResult, encodedSize) { | 147 function encodeDecode(cls, input, expectedResult, encodedSize) { |
142 var messageName = 42; | 148 var messageName = 42; |
143 var payloadSize = encodedSize || cls.encodedSize; | 149 var payloadSize = encodedSize || cls.encodedSize; |
144 | 150 |
145 var builder = new codec.MessageBuilder(messageName, payloadSize); | 151 var builder = new codec.MessageBuilder(messageName, payloadSize); |
146 builder.encodeStruct(cls, input) | 152 builder.encodeStruct(cls, input) |
147 var message = builder.finish(); | 153 var message = builder.finish(); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 expect(actualMemory.length).toEqual(expectedMemory.length); | 219 expect(actualMemory.length).toEqual(expectedMemory.length); |
214 expect(actualMemory).toEqual(expectedMemory); | 220 expect(actualMemory).toEqual(expectedMemory); |
215 | 221 |
216 var reader = new codec.MessageReader(message); | 222 var reader = new codec.MessageReader(message); |
217 expect(reader.payloadSize).toBe(payloadSize); | 223 expect(reader.payloadSize).toBe(payloadSize); |
218 expect(reader.messageName).toBe(messageName); | 224 expect(reader.messageName).toBe(messageName); |
219 var str2 = reader.decoder.decodeStringPointer(); | 225 var str2 = reader.decoder.decodeStringPointer(); |
220 expect(str2).toEqual(str); | 226 expect(str2).toEqual(str); |
221 } | 227 } |
222 }); | 228 }); |
OLD | NEW |