1b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// Protocol Buffers - Google's data interchange format 2b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// Copyright 2008 Google Inc. All rights reserved. 3b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// https://developers.google.com/protocol-buffers/ 4b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// 5b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// Redistribution and use in source and binary forms, with or without 6b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// modification, are permitted provided that the following conditions are 7b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// met: 8b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// 9b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// * Redistributions of source code must retain the above copyright 10b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// notice, this list of conditions and the following disclaimer. 11b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// * Redistributions in binary form must reproduce the above 12b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// copyright notice, this list of conditions and the following disclaimer 13b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// in the documentation and/or other materials provided with the 14b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// distribution. 15b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// * Neither the name of Google Inc. nor the names of its 16b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// contributors may be used to endorse or promote products derived from 17b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// this software without specific prior written permission. 18b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// 19b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 31b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammergoog.setTestOnly(); 32b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 33b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammergoog.require('goog.testing.asserts'); 34b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 35b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// CommonJS-LoadFromFile: google-protobuf 36b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammergoog.require('jspb.debug'); 37b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 38b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer// CommonJS-LoadFromFile: test_pb 39b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammergoog.require('proto.jspb.test.HasExtensions'); 40b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammergoog.require('proto.jspb.test.IsExtension'); 41b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammergoog.require('proto.jspb.test.Simple1'); 42b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 43b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 44b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 45b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammerdescribe('debugTest', function() { 46b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer it('testSimple1', function() { 47b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer if (COMPILED) { 48b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer return; 49b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer } 50b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer var message = new proto.jspb.test.Simple1(); 51b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer message.setAString('foo'); 52b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer assertObjectEquals({ 53b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer $name: 'proto.jspb.test.Simple1', 54b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'aString': 'foo', 55b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'aRepeatedStringList': [] 56b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer }, jspb.debug.dump(message)); 57b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 58b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer message.setABoolean(true); 59b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer message.setARepeatedStringList(['1', '2']); 60b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 61b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer assertObjectEquals({ 62b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer $name: 'proto.jspb.test.Simple1', 63b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'aString': 'foo', 64b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'aRepeatedStringList': ['1', '2'], 65b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'aBoolean': true 66b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer }, jspb.debug.dump(message)); 67b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 68b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer message.setAString(undefined); 69b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 70b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer assertObjectEquals({ 71b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer $name: 'proto.jspb.test.Simple1', 72b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'aRepeatedStringList': ['1', '2'], 73b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'aBoolean': true 74b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer }, jspb.debug.dump(message)); 75b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer }); 76b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 77b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 78b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer it('testExtensions', function() { 79b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer if (COMPILED) { 80b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer return; 81b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer } 82b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer var extension = new proto.jspb.test.IsExtension(); 83b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer extension.setExt1('ext1field'); 84b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer var extendable = new proto.jspb.test.HasExtensions(); 85b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer extendable.setStr1('v1'); 86b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer extendable.setStr2('v2'); 87b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer extendable.setStr3('v3'); 88b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer extendable.setExtension(proto.jspb.test.IsExtension.extField, extension); 89b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 90b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer assertObjectEquals({ 91b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer '$name': 'proto.jspb.test.HasExtensions', 92b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'str1': 'v1', 93b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'str2': 'v2', 94b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'str3': 'v3', 95b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer '$extensions': { 96b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'extField': { 97b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer '$name': 'proto.jspb.test.IsExtension', 98b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'ext1': 'ext1field' 99b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer }, 100b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 'repeatedSimpleList': [] 101b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer } 102b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer }, jspb.debug.dump(extendable)); 103b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer }); 104b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer 105b0575e93e4c39dec69365b850088a1eb7f82c5b3Tamas Berghammer}); 106