Index: mojo/public/js/union_unittests.js |
diff --git a/mojo/public/js/union_unittests.js b/mojo/public/js/union_unittests.js |
deleted file mode 100644 |
index c3ee29792579bd6028a526e9a67865bee843ddf9..0000000000000000000000000000000000000000 |
--- a/mojo/public/js/union_unittests.js |
+++ /dev/null |
@@ -1,194 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-define([ |
- "gin/test/expect", |
- "mojo/public/interfaces/bindings/tests/test_unions.mojom", |
- "mojo/public/js/codec", |
- "mojo/public/js/validator", |
-], function(expect, |
- unions, |
- codec, |
- validator) { |
- function testConstructors() { |
- var u = new unions.PodUnion(); |
- expect(u.$data).toEqual(null); |
- expect(u.$tag).toBeUndefined(); |
- |
- u.f_uint32 = 32; |
- |
- expect(u.f_uint32).toEqual(32); |
- expect(u.$tag).toEqual(unions.PodUnion.Tags.f_uint32); |
- |
- var u = new unions.PodUnion({f_uint64: 64}); |
- expect(u.f_uint64).toEqual(64); |
- expect(u.$tag).toEqual(unions.PodUnion.Tags.f_uint64); |
- expect(function() {var v = u.f_uint32;}).toThrow(); |
- |
- expect(function() { |
- var u = new unions.PodUnion({ |
- f_uint64: 64, |
- f_uint32: 32, |
- }); |
- }).toThrow(); |
- |
- expect(function() { |
- var u = new unions.PodUnion({ foo: 64 }); }).toThrow(); |
- |
- expect(function() { |
- var u = new unions.PodUnion([1,2,3,4]); }).toThrow(); |
- } |
- |
- function structEncodeDecode(struct) { |
- var structClass = struct.constructor; |
- var builder = new codec.MessageBuilder(1234, structClass.encodedSize); |
- builder.encodeStruct(structClass, struct); |
- |
- var message = builder.finish(); |
- |
- var messageValidator = new validator.Validator(message); |
- var err = structClass.validate(messageValidator, codec.kMessageHeaderSize); |
- expect(err).toEqual(validator.validationError.NONE); |
- |
- var reader = new codec.MessageReader(message); |
- var view = reader.decoder.buffer.dataView; |
- |
- return reader.decodeStruct(structClass); |
- } |
- |
- function testBasicEncoding() { |
- var s = new unions.WrapperStruct({ |
- pod_union: new unions.PodUnion({ |
- f_uint64: 64})}); |
- |
- var decoded = structEncodeDecode(s); |
- expect(decoded).toEqual(s); |
- |
- var s = new unions.WrapperStruct({ |
- pod_union: new unions.PodUnion({ |
- f_bool : true})}); |
- |
- var decoded = structEncodeDecode(s); |
- expect(decoded.pod_union.$tag).toEqual(unions.PodUnion.Tags.f_bool); |
- // Use toEqual() instead of toBeTruthy() to make sure the field type is |
- // actually boolean. |
- expect(decoded.pod_union.f_bool).toEqual(true); |
- |
- var s = new unions.WrapperStruct({ |
- object_union: new unions.ObjectUnion({ |
- f_dummy: new unions.DummyStruct({ |
- f_int8: 8})})}); |
- |
- var decoded = structEncodeDecode(s); |
- expect(decoded).toEqual(s); |
- |
- var s = new unions.WrapperStruct({ |
- object_union: new unions.ObjectUnion({ |
- f_array_int8: [1, 2, 3]})}); |
- |
- var decoded = structEncodeDecode(s); |
- expect(decoded).toEqual(s); |
- |
- var s = new unions.WrapperStruct({ |
- object_union: new unions.ObjectUnion({ |
- f_map_int8: new Map([ |
- ["first", 1], |
- ["second", 2], |
- ])})}); |
- |
- var decoded = structEncodeDecode(s); |
- expect(decoded).toEqual(s); |
- |
- // Encoding a union with no member set is an error. |
- var s = new unions.WrapperStruct({ |
- object_union: new unions.ObjectUnion()}); |
- expect(function() { |
- structEncodeDecode(s); }).toThrow(); |
- } |
- |
- function testUnionsInArrayEncoding() { |
- var s = new unions.SmallStruct({ |
- pod_union_array: [ |
- new unions.PodUnion({f_uint32: 32}), |
- new unions.PodUnion({f_uint64: 64}), |
- ] |
- }); |
- |
- var decoded = structEncodeDecode(s); |
- expect(decoded).toEqual(s); |
- } |
- |
- function testUnionsInMapEncoding() { |
- var s = new unions.SmallStruct({ |
- pod_union_map: new Map([ |
- ["thirty-two", new unions.PodUnion({f_uint32: 32})], |
- ["sixty-four", new unions.PodUnion({f_uint64: 64})], |
- ]) |
- }); |
- |
- var decoded = structEncodeDecode(s); |
- expect(decoded).toEqual(s); |
- } |
- |
- function testNestedUnionsEncoding() { |
- var s = new unions.WrapperStruct({ |
- object_union: new unions.ObjectUnion({ |
- f_pod_union: new unions.PodUnion({f_uint32: 32}) |
- })}); |
- var decoded = structEncodeDecode(s); |
- expect(decoded).toEqual(s); |
- } |
- |
- function structValidate(struct) { |
- var structClass = struct.constructor; |
- var builder = new codec.MessageBuilder(1234, structClass.encodedSize); |
- builder.encodeStruct(structClass, struct); |
- |
- var message = builder.finish(); |
- |
- var messageValidator = new validator.Validator(message); |
- return structClass.validate(messageValidator, codec.kMessageHeaderSize); |
- } |
- |
- function testNullUnionMemberValidation() { |
- var s = new unions.WrapperStruct({ |
- object_union: new unions.ObjectUnion({ |
- f_dummy: null})}); |
- |
- var err = structValidate(s); |
- expect(err).toEqual(validator.validationError.UNEXPECTED_NULL_POINTER); |
- |
- var s = new unions.WrapperStruct({ |
- object_union: new unions.ObjectUnion({ |
- f_nullable: null})}); |
- |
- var err = structValidate(s); |
- expect(err).toEqual(validator.validationError.NONE); |
- } |
- |
- function testNullUnionValidation() { |
- var s = new unions.SmallStructNonNullableUnion({ |
- pod_union: null}); |
- |
- var err = structValidate(s); |
- expect(err).toEqual(validator.validationError.UNEXPECTED_NULL_UNION); |
- |
- var s = new unions.WrapperStruct({ |
- object_union: new unions.ObjectUnion({ |
- f_pod_union: null}) |
- }); |
- |
- var err = structValidate(s); |
- expect(err).toEqual(validator.validationError.UNEXPECTED_NULL_UNION); |
- } |
- |
- testConstructors(); |
- testBasicEncoding(); |
- testUnionsInArrayEncoding(); |
- testUnionsInMapEncoding(); |
- testNestedUnionsEncoding(); |
- testNullUnionMemberValidation(); |
- testNullUnionValidation(); |
- this.result = "PASS"; |
-}); |