Chromium Code Reviews| Index: mojo/public/js/bindings/struct_unittests.js |
| diff --git a/mojo/public/js/bindings/struct_unittests.js b/mojo/public/js/bindings/struct_unittests.js |
| index d4a568ccf41f8bde7995025345535ed3d791a2fa..2583a86da16a7f55c522c4251209e48b189b44ed 100644 |
| --- a/mojo/public/js/bindings/struct_unittests.js |
| +++ b/mojo/public/js/bindings/struct_unittests.js |
| @@ -26,8 +26,7 @@ define([ |
| expect(new testStructs.RectPair({second: r}).first).toBeNull(); |
| var nr = new testStructs.NamedRegion(); |
| - // TODO(hansmuller): nr.name should be null, see crbug.com/417039. |
| - expect(nr.name).toBe(""); |
| + expect(nr.name).toBeNull(); |
| expect(nr.rects).toBeNull(); |
| expect(nr).toEqual(new testStructs.NamedRegion({})); |
| @@ -42,6 +41,39 @@ define([ |
| expect(e).toEqual(new testStructs.EmptyStruct({foo:123})); |
| } |
| + function testDefaultFieldValues() { |
| + var s = new testStructs.DefaultFieldValues(); |
| + expect(s.f0).toEqual(false); |
| + |
| + // f1 - f9, number type fields |
| + for (var i = 1; i <= 8; i++) |
| + expect(s["f" + i]).toEqual(0); |
| + |
| + // f10,11 strings, f12-17 handles, f18-f21 arrays, f22,23 structs |
| + for (var i = 10; i <= 23; i++) |
| + expect(s["f" + i]).toBeNull(); |
| + } |
| + |
| + function testExplicitFieldValues() { |
|
yzshen1
2014/09/24 22:49:25
nit: because we usually refer to "explicit field v
hansmuller
2014/09/24 23:33:11
OK. I've called the two structs and test functions
|
| + var s = new testStructs.ExplicitFieldValues(); |
| + expect(s.f0).toEqual(true); |
| + |
| + // f1 - f11, number type fields |
| + for (var i = 1; i <= 11; i++) |
| + expect(s["f" + i]).toEqual(100); |
| + |
| + // f12,13 "foo" |
| + for (var i = 12; i <= 13; i++) |
| + expect(s["f" + i]).toEqual("foo"); |
| + |
| + // f14,15 a default instance of Rect |
| + var r = new rect.Rect(); |
| + expect(s.f14).toEqual(r); |
| + expect(s.f15).toEqual(r); |
| + } |
| + |
| testConstructors(); |
| + testDefaultFieldValues(); |
| + testExplicitFieldValues(); |
| this.result = "PASS"; |
| }); |