aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/proto2/objectserializer_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/proto2/objectserializer_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/proto2/objectserializer_test.html423
1 files changed, 0 insertions, 423 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/proto2/objectserializer_test.html b/contexts/data/lib/closure-library/closure/goog/proto2/objectserializer_test.html
deleted file mode 100644
index 00ada9a..0000000
--- a/contexts/data/lib/closure-library/closure/goog/proto2/objectserializer_test.html
+++ /dev/null
@@ -1,423 +0,0 @@
-<!DOCTYPE html>
-<html>
-<!--
-Copyright 2008 The Closure Library Authors. All Rights Reserved.
-
-Use of this source code is governed by the Apache License, Version 2.0.
-See the COPYING file for details.
--->
-<!--
--->
-<head>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<title>Closure Unit Tests - goog.proto2 - objectserializer.js</title>
-<script src="../base.js"></script>
-<script>
- goog.require('goog.proto2.ObjectSerializer');
- goog.require('goog.testing.jsunit');
- goog.require('proto2.TestAllTypes');
-</script>
-</head>
-<body>
-<script>
-
-function testSerialization() {
- var message = new proto2.TestAllTypes();
-
- // Set the fields.
- // Singular.
- message.setOptionalInt32(101);
- message.setOptionalInt64('102');
- message.setOptionalUint32(103);
- message.setOptionalUint64('104');
- message.setOptionalSint32(105);
- message.setOptionalSint64('106');
- message.setOptionalFixed32(107);
- message.setOptionalFixed64('108');
- message.setOptionalSfixed32(109);
- message.setOptionalSfixed64('110');
- message.setOptionalFloat(111.5);
- message.setOptionalDouble(112.5);
- message.setOptionalBool(true);
- message.setOptionalString('test');
- message.setOptionalBytes('abcd');
-
- var group = new proto2.TestAllTypes.OptionalGroup();
- group.setA(111);
-
- message.setOptionalgroup(group);
-
- var nestedMessage = new proto2.TestAllTypes.NestedMessage();
- nestedMessage.setB(112);
-
- message.setOptionalNestedMessage(nestedMessage);
-
- message.setOptionalNestedEnum(proto2.TestAllTypes.NestedEnum.FOO);
-
- // Repeated.
- message.addRepeatedInt32(201);
- message.addRepeatedInt32(202);
-
- // Serialize to a simplified object.
- var simplified = new goog.proto2.ObjectSerializer().serialize(message);
-
- // Assert that everything serialized properly.
- assertEquals(101, simplified[1]);
- assertEquals('102', simplified[2]);
- assertEquals(103, simplified[3]);
- assertEquals('104', simplified[4]);
- assertEquals(105, simplified[5]);
- assertEquals('106', simplified[6]);
- assertEquals(107, simplified[7]);
- assertEquals('108', simplified[8]);
- assertEquals(109, simplified[9]);
- assertEquals('110', simplified[10]);
- assertEquals(111.5, simplified[11]);
- assertEquals(112.5, simplified[12]);
- assertEquals(true, simplified[13]);
- assertEquals('test', simplified[14]);
- assertEquals('abcd', simplified[15]);
-
- assertEquals(111, simplified[16][17]);
- assertEquals(112, simplified[18][1]);
- assertEquals(proto2.TestAllTypes.NestedEnum.FOO, simplified[21]);
-
- assertEquals(201, simplified[31][0]);
- assertEquals(202, simplified[31][1]);
-
- // Serialize to a simplified object (with key as name).
- simplified = new goog.proto2.ObjectSerializer(
- goog.proto2.ObjectSerializer.KeyOption.NAME).serialize(message);
-
- // Assert that everything serialized properly.
- assertEquals(101, simplified['optional_int32']);
- assertEquals('102', simplified['optional_int64']);
- assertEquals(103, simplified['optional_uint32']);
- assertEquals('104', simplified['optional_uint64']);
- assertEquals(105, simplified['optional_sint32']);
- assertEquals('106', simplified['optional_sint64']);
- assertEquals(107, simplified['optional_fixed32']);
- assertEquals('108', simplified['optional_fixed64']);
- assertEquals(109, simplified['optional_sfixed32']);
- assertEquals('110', simplified['optional_sfixed64']);
- assertEquals(111.5, simplified['optional_float']);
- assertEquals(112.5, simplified['optional_double']);
- assertEquals(true, simplified['optional_bool']);
- assertEquals('test', simplified['optional_string']);
- assertEquals('abcd', simplified['optional_bytes']);
-
- assertEquals(111, simplified['optionalgroup']['a']);
- assertEquals(112, simplified['optional_nested_message']['b']);
-
- assertEquals(proto2.TestAllTypes.NestedEnum.FOO,
- simplified['optional_nested_enum']);
-
- assertEquals(201, simplified['repeated_int32'][0]);
- assertEquals(202, simplified['repeated_int32'][1]);
-}
-
-
-function testSerializationOfUnknown() {
- var message = new proto2.TestAllTypes();
-
- // Set the fields.
- // Known.
- message.setOptionalInt32(101);
- message.setOptionalInt64('102');
- message.addRepeatedInt32(201);
- message.addRepeatedInt32(202);
-
- // Unknown.
- message.setUnknown(1000, 301);
- message.setUnknown(1001, 302);
-
- // Serialize.
- var simplified = new goog.proto2.ObjectSerializer().serialize(message);
-
- assertEquals(101, simplified['1']);
- assertEquals('102', simplified['2']);
-
- assertEquals(201, simplified['31'][0]);
- assertEquals(202, simplified['31'][1]);
-
- assertEquals(301, simplified['1000']);
- assertEquals(302, simplified['1001']);
-}
-
-function testDeserializationOfUnknown() {
- var simplified = {
- 1: 101,
- 2: '102',
- 1000: 103,
- 1001: 104
- };
-
- var serializer = new goog.proto2.ObjectSerializer();
-
- var message = serializer.deserialize(
- proto2.TestAllTypes.getDescriptor(), simplified);
-
- assertNotNull(message);
- assertTrue(message.hasOptionalInt32());
- assertTrue(message.hasOptionalInt64());
-
- assertEquals(101, message.getOptionalInt32());
- assertEquals('102', message.getOptionalInt64());
-
- var count = 0;
-
- message.forEachUnknown(function(tag, value) {
- if (tag == 1000) {
- assertEquals(103, value);
- }
-
- if (tag == 1001) {
- assertEquals(104, value);
- }
-
- ++count;
- });
-
- assertEquals(2, count);
-};
-
-function testDeserializationRepeated() {
- var simplified = {
- 31: [101, 102],
- 41: [201.5, 202.5, 203.5],
- 42: [],
- 43: [ true, false ],
- 44: [ 'he', 'llo' ],
- 46: [ { 47: [101] } , { 47: [102] } ],
- 48: [ { 1: 201 }, { 1: 202 } ]
- }
-
- var serializer = new goog.proto2.ObjectSerializer();
-
- var message = serializer.deserialize(
- proto2.TestAllTypes.getDescriptor(), simplified);
-
- assertNotNull(message);
-
- // Ensure the fields are set as expected.
- assertTrue(message.hasRepeatedInt32());
- assertTrue(message.hasRepeatedFloat());
-
- assertFalse(message.hasRepeatedDouble());
-
- assertTrue(message.hasRepeatedBool());
- assertTrue(message.hasRepeatedgroup());
- assertTrue(message.hasRepeatedNestedMessage());
-
- // Ensure the counts match.
- assertEquals(2, message.repeatedInt32Count());
- assertEquals(3, message.repeatedFloatCount());
-
- assertEquals(0, message.repeatedDoubleCount());
-
- assertEquals(2, message.repeatedBoolCount());
- assertEquals(2, message.repeatedStringCount());
- assertEquals(2, message.repeatedgroupCount());
- assertEquals(2, message.repeatedNestedMessageCount());
-
- // Ensure the values match.
- assertEquals(101, message.getRepeatedInt32(0));
- assertEquals(102, message.getRepeatedInt32(1));
-
- assertEquals(201.5, message.getRepeatedFloat(0));
- assertEquals(202.5, message.getRepeatedFloat(1));
- assertEquals(203.5, message.getRepeatedFloat(2));
-
- assertEquals(true, message.getRepeatedBool(0));
- assertEquals(false, message.getRepeatedBool(1));
-
- assertEquals('he', message.getRepeatedString(0));
- assertEquals('llo', message.getRepeatedString(1));
-
- assertEquals(101, message.getRepeatedgroup(0).getA(0));
- assertEquals(102, message.getRepeatedgroup(1).getA(0));
-
- assertEquals(201, message.getRepeatedNestedMessage(0).getB());
- assertEquals(202, message.getRepeatedNestedMessage(1).getB());
-}
-
-function testDeserialization() {
- var simplified = {
- 1: 101,
- 2: '102',
- 3: 103,
- 4: '104',
- 5: 105,
- 6: '106',
- 7: 107,
- 8: '108',
- 9: 109,
- 10: '110',
- 11: 111.5,
- 12: 112.5,
- 13: true,
- 14: 'test',
- 15: 'abcd',
- 16: { 17 : 113 },
- 18: { 1 : 114 },
- 21: proto2.TestAllTypes.NestedEnum.FOO
- };
-
- var serializer = new goog.proto2.ObjectSerializer();
-
- var message = serializer.deserialize(
- proto2.TestAllTypes.getDescriptor(), simplified);
-
- assertNotNull(message);
-
- assertTrue(message.hasOptionalInt32());
- assertTrue(message.hasOptionalInt64());
- assertTrue(message.hasOptionalUint32());
- assertTrue(message.hasOptionalUint64());
- assertTrue(message.hasOptionalSint32());
- assertTrue(message.hasOptionalSint64());
- assertTrue(message.hasOptionalFixed32());
- assertTrue(message.hasOptionalFixed64());
- assertTrue(message.hasOptionalSfixed32());
- assertTrue(message.hasOptionalSfixed64());
- assertTrue(message.hasOptionalFloat());
- assertTrue(message.hasOptionalDouble());
- assertTrue(message.hasOptionalBool());
- assertTrue(message.hasOptionalString());
- assertTrue(message.hasOptionalBytes());
- assertTrue(message.hasOptionalgroup());
- assertTrue(message.hasOptionalNestedMessage());
- assertTrue(message.hasOptionalNestedEnum());
-
- assertEquals(1, message.optionalInt32Count());
- assertEquals(1, message.optionalInt64Count());
- assertEquals(1, message.optionalUint32Count());
- assertEquals(1, message.optionalUint64Count());
- assertEquals(1, message.optionalSint32Count());
- assertEquals(1, message.optionalSint64Count());
- assertEquals(1, message.optionalFixed32Count());
- assertEquals(1, message.optionalFixed64Count());
- assertEquals(1, message.optionalSfixed32Count());
- assertEquals(1, message.optionalSfixed64Count());
- assertEquals(1, message.optionalFloatCount());
- assertEquals(1, message.optionalDoubleCount());
- assertEquals(1, message.optionalBoolCount());
- assertEquals(1, message.optionalStringCount());
- assertEquals(1, message.optionalBytesCount());
- assertEquals(1, message.optionalgroupCount());
- assertEquals(1, message.optionalNestedMessageCount());
- assertEquals(1, message.optionalNestedEnumCount());
-
- assertEquals(101, message.getOptionalInt32());
- assertEquals('102', message.getOptionalInt64());
- assertEquals(103, message.getOptionalUint32());
- assertEquals('104', message.getOptionalUint64());
- assertEquals(105, message.getOptionalSint32());
- assertEquals('106', message.getOptionalSint64());
- assertEquals(107, message.getOptionalFixed32());
- assertEquals('108', message.getOptionalFixed64());
- assertEquals(109, message.getOptionalSfixed32());
- assertEquals('110', message.getOptionalSfixed64());
- assertEquals(111.5, message.getOptionalFloat());
- assertEquals(112.5, message.getOptionalDouble());
- assertEquals(true, message.getOptionalBool());
- assertEquals('test', message.getOptionalString());
- assertEquals('abcd', message.getOptionalBytes());
- assertEquals(113, message.getOptionalgroup().getA());
- assertEquals(114, message.getOptionalNestedMessage().getB());
-
- assertEquals(proto2.TestAllTypes.NestedEnum.FOO,
- message.getOptionalNestedEnum());
-}
-
-function testDeserializationNumbersOrStrings() {
- // 64-bit types may have been serialized as numbers or strings.
- // Deserialization should be able to handle either.
-
- var simplifiedWithNumbers = {
- 50: 5000,
- 51: 5100,
- 52: [ 5200, 5201 ],
- 53: [ 5300, 5301 ]
- };
-
- var simplifiedWithStrings = {
- 50: '5000',
- 51: '5100',
- 52: [ '5200', '5201' ],
- 53: [ '5300', '5301' ]
- };
-
- var serializer = new goog.proto2.ObjectSerializer();
-
- var message = serializer.deserialize(
- proto2.TestAllTypes.getDescriptor(), simplifiedWithNumbers);
-
- assertNotNull(message);
-
- assertEquals(5000, message.getOptionalInt64Number());
- assertEquals('5100', message.getOptionalInt64String());
- assertEquals(5200, message.getRepeatedInt64Number(0));
- assertEquals(5201, message.getRepeatedInt64Number(1));
- assertEquals('5300', message.getRepeatedInt64String(0));
- assertEquals('5301', message.getRepeatedInt64String(1));
-
- assertArrayEquals([5200, 5201], message.repeatedInt64NumberArray());
- assertArrayEquals(['5300', '5301'], message.repeatedInt64StringArray());
-
- message = serializer.deserialize(
- proto2.TestAllTypes.getDescriptor(), simplifiedWithStrings);
-
- assertNotNull(message);
-
- assertEquals(5000, message.getOptionalInt64Number());
- assertEquals('5100', message.getOptionalInt64String());
- assertEquals(5200, message.getRepeatedInt64Number(0));
- assertEquals(5201, message.getRepeatedInt64Number(1));
- assertEquals('5300', message.getRepeatedInt64String(0));
- assertEquals('5301', message.getRepeatedInt64String(1));
-
- assertArrayEquals([5200, 5201], message.repeatedInt64NumberArray());
- assertArrayEquals(['5300', '5301'], message.repeatedInt64StringArray());
-}
-
-function testDeserializationConversionProhibited() {
- // 64-bit types may have been serialized as numbers or strings.
- // But 32-bit types must be serialized as numbers.
- // Test deserialization fails on 32-bit numbers as strings.
-
- var simplified = {
- 1: '1000' // optionalInt32
- };
- var serializer = new goog.proto2.ObjectSerializer();
-
- assertThrows('Should have an assertion failure in deserialization',
- function() {
- serializer.deserialize(proto2.TestAllTypes.getDescriptor(), simplified);
- });
-}
-
-function testDefaultValueNumbersOrStrings() {
- // 64-bit types may have been serialized as numbers or strings.
- // The default values should have the correct type.
-
- var serializer = new goog.proto2.ObjectSerializer();
- var message = serializer.deserialize(proto2.TestAllTypes.getDescriptor(), {});
-
- assertNotNull(message);
-
- // Default when using Number is a number, and precision is lost.
- var value = message.getOptionalInt64NumberOrDefault();
- assertTrue('Expecting a number', typeof value === 'number');
- assertEquals(1000000000000000000, value);
- assertEquals(1000000000000000001, value);
- assertEquals(1000000000000000002, value);
- assertEquals('1000000000000000000', String(value)); // Value is rounded!
-
- // When using a String, the value is preserved.
- assertEquals('1000000000000000001',
- message.getOptionalInt64StringOrDefault());
-}
-</script>
-</body>
-</html>