diff options
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.html | 423 |
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> |