blob: 46458c10b32a5e77566e075c3c3b416c66ea4d37 [file] [log] [blame]
Peter Marton3c4e3682018-03-01 16:05:19 -08001// Protocol Buffers - Google's data interchange format
2// Copyright 2016 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
33
34
35var googleProtobuf = require('google-protobuf');
36var asserts = require('closure_asserts_commonjs');
37var global = Function('return this')();
38
39// Bring asserts into the global namespace.
40googleProtobuf.object.extend(global, asserts);
41
42var test9_pb = require('./test9_pb');
Peter Marton13f94b42018-03-26 16:07:45 -070043var test10_pb = require('./test10_pb');
Peter Marton3c4e3682018-03-01 16:05:19 -080044
45describe('Strict test suite', function() {
46 it('testImportedMessage', function() {
Peter Marton13f94b42018-03-26 16:07:45 -070047 var simple1 = new test9_pb.jspb.exttest.strict.nine.Simple9()
48 var simple2 = new test9_pb.jspb.exttest.strict.nine.Simple9()
Peter Marton3c4e3682018-03-01 16:05:19 -080049 assertObjectEquals(simple1.toObject(), simple2.toObject());
50 });
51
52 it('testGlobalScopePollution', function() {
Peter Marton13f94b42018-03-26 16:07:45 -070053 assertObjectEquals(global.jspb.exttest, undefined);
54 });
55
56 describe('with imports', function() {
57 it('testImportedMessage', function() {
58 var simple1 = new test10_pb.jspb.exttest.strict.ten.Simple10()
59 var simple2 = new test10_pb.jspb.exttest.strict.ten.Simple10()
60 assertObjectEquals(simple1.toObject(), simple2.toObject());
61 });
62
63 it('testGlobalScopePollution', function() {
64 assertObjectEquals(global.jspb.exttest, undefined);
65 });
Peter Marton3c4e3682018-03-01 16:05:19 -080066 });
67});