1// Protocol Buffers - Google's data interchange format 2// Copyright 2008 Google Inc. All rights reserved. 3// https://developers.google.com/protocol-buffers/ 4// 5// Redistribution and use in source and binary forms, with or without 6// modification, are permitted provided that the following conditions are 7// met: 8// 9// * Redistributions of source code must retain the above copyright 10// notice, this list of conditions and the following disclaimer. 11// * Redistributions in binary form must reproduce the above 12// copyright notice, this list of conditions and the following disclaimer 13// in the documentation and/or other materials provided with the 14// distribution. 15// * Neither the name of Google Inc. nor the names of its 16// contributors may be used to endorse or promote products derived from 17// this software without specific prior written permission. 18// 19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 31// Test suite is written using Jasmine -- see http://jasmine.github.io/ 32 33goog.setTestOnly(); 34 35goog.require('goog.testing.asserts'); 36 37// CommonJS-LoadFromFile: test_pb proto.jspb.test 38goog.require('proto.jspb.test.Deeply.Nested.Message'); 39 40// CommonJS-LoadFromFile: test2_pb proto.jspb.test 41goog.require('proto.jspb.test.ForeignNestedFieldMessage'); 42 43describe('Message test suite', function() { 44 // Verify that we can successfully use a field referring to a nested message 45 // from a different .proto file. 46 it('testForeignNestedMessage', function() { 47 var msg = new proto.jspb.test.ForeignNestedFieldMessage(); 48 var nested = new proto.jspb.test.Deeply.Nested.Message(); 49 nested.setCount(5); 50 msg.setDeeplyNestedMessage(nested); 51 assertEquals(5, msg.getDeeplyNestedMessage().getCount()); 52 53 // After a serialization-deserialization round trip we should get back the 54 // same data we started with. 55 var serialized = msg.serializeBinary(); 56 var deserialized = 57 proto.jspb.test.ForeignNestedFieldMessage.deserializeBinary(serialized); 58 assertEquals(5, deserialized.getDeeplyNestedMessage().getCount()); 59 }); 60}); 61