OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/rect.mojom", |
8 "mojo/public/interfaces/bindings/tests/sample_service.mojom", | 9 "mojo/public/interfaces/bindings/tests/sample_service.mojom", |
9 ], function(expect, codec, sample) { | 10 "mojo/public/interfaces/bindings/tests/test_structs.mojom", |
| 11 ], function(expect, codec, rect, sample, structs) { |
10 testBar(); | 12 testBar(); |
11 testFoo(); | 13 testFoo(); |
| 14 testNamedRegion(); |
12 testTypes(); | 15 testTypes(); |
13 testAlign(); | 16 testAlign(); |
14 testUtf8(); | 17 testUtf8(); |
15 this.result = "PASS"; | 18 this.result = "PASS"; |
16 | 19 |
17 function testBar() { | 20 function testBar() { |
18 var bar = new sample.Bar(); | 21 var bar = new sample.Bar(); |
19 bar.alpha = 1; | 22 bar.alpha = 1; |
20 bar.beta = 2; | 23 bar.beta = 2; |
21 bar.gamma = 3; | 24 bar.gamma = 3; |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 expect(foo2.bar).toEqual(foo.bar); | 139 expect(foo2.bar).toEqual(foo.bar); |
137 expect(foo2.data).toEqual(foo.data); | 140 expect(foo2.data).toEqual(foo.data); |
138 | 141 |
139 expect(foo2.extra_bars).toEqual(foo.extra_bars); | 142 expect(foo2.extra_bars).toEqual(foo.extra_bars); |
140 expect(foo2.name).toBe(foo.name); | 143 expect(foo2.name).toBe(foo.name); |
141 expect(foo2.source).toEqual(foo.source); | 144 expect(foo2.source).toEqual(foo.source); |
142 | 145 |
143 expect(foo2.array_of_bools).toEqual(foo.array_of_bools); | 146 expect(foo2.array_of_bools).toEqual(foo.array_of_bools); |
144 } | 147 } |
145 | 148 |
| 149 function createRect(x, y, width, height) { |
| 150 var r = new rect.Rect(); |
| 151 r.x = x; |
| 152 r.y = y; |
| 153 r.width = width; |
| 154 r.height = height; |
| 155 return r; |
| 156 } |
| 157 |
| 158 // Verify that the references to the imported Rect type in test_structs.mojom |
| 159 // are generated correctly. |
| 160 function testNamedRegion() { |
| 161 var r = new structs.NamedRegion(); |
| 162 r.name = "rectangle"; |
| 163 r.rects = new Array(createRect(1, 2, 3, 4), createRect(10, 20, 30, 40)); |
| 164 |
| 165 var builder = new codec.MessageBuilder(1, structs.NamedRegion.encodedSize); |
| 166 builder.encodeStruct(structs.NamedRegion, r); |
| 167 var reader = new codec.MessageReader(builder.finish()); |
| 168 var result = reader.decodeStruct(structs.NamedRegion); |
| 169 |
| 170 expect(result.name).toEqual("rectangle"); |
| 171 expect(result.rects[0]).toEqual(createRect(1, 2, 3, 4)); |
| 172 expect(result.rects[1]).toEqual(createRect(10, 20, 30, 40)); |
| 173 } |
| 174 |
146 function testTypes() { | 175 function testTypes() { |
147 function encodeDecode(cls, input, expectedResult, encodedSize) { | 176 function encodeDecode(cls, input, expectedResult, encodedSize) { |
148 var messageName = 42; | 177 var messageName = 42; |
149 var payloadSize = encodedSize || cls.encodedSize; | 178 var payloadSize = encodedSize || cls.encodedSize; |
150 | 179 |
151 var builder = new codec.MessageBuilder(messageName, payloadSize); | 180 var builder = new codec.MessageBuilder(messageName, payloadSize); |
152 builder.encodeStruct(cls, input) | 181 builder.encodeStruct(cls, input) |
153 var message = builder.finish(); | 182 var message = builder.finish(); |
154 | 183 |
155 var reader = new codec.MessageReader(message); | 184 var reader = new codec.MessageReader(message); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 expect(actualMemory.length).toEqual(expectedMemory.length); | 248 expect(actualMemory.length).toEqual(expectedMemory.length); |
220 expect(actualMemory).toEqual(expectedMemory); | 249 expect(actualMemory).toEqual(expectedMemory); |
221 | 250 |
222 var reader = new codec.MessageReader(message); | 251 var reader = new codec.MessageReader(message); |
223 expect(reader.payloadSize).toBe(payloadSize); | 252 expect(reader.payloadSize).toBe(payloadSize); |
224 expect(reader.messageName).toBe(messageName); | 253 expect(reader.messageName).toBe(messageName); |
225 var str2 = reader.decoder.decodeStringPointer(); | 254 var str2 = reader.decoder.decodeStringPointer(); |
226 expect(str2).toEqual(str); | 255 expect(str2).toEqual(str); |
227 } | 256 } |
228 }); | 257 }); |
OLD | NEW |