1/* 2* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. 3* Licensed under the Apache License, Version 2.0 (the "License"); 4* you may not use this file except in compliance with the License. 5* You may obtain a copy of the License at 6* 7* http://www.apache.org/licenses/LICENSE-2.0 8* 9* Unless required by applicable law or agreed to in writing, software 10* distributed under the License is distributed on an "AS IS" BASIS, 11* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12* See the License for the specific language governing permissions and 13* limitations under the License. 14*/ 15const { TestClass1, fun5} = require("./out/build/Release/napitest") 16const { fun6, fun7, fun8} = require("./out/build/Release/napitest") 17const test = require("./out/build/Release/napitest") 18var assert = require("assert"); 19 20describe('Object interface', function () { 21 var Radio = { 22 RADIO_UNKNOWN : 0, 23 RADIO_GSM : 1, 24 RADIO_1XRTT : 2, 25 } 26 27 let tc1 = new TestClass1(); 28 // 测试:fun1(v: Object): number; 29 it('test TestClass1 fun1', function () { 30 let ret = tc1.fun1({"age":10,"name":"nameValue"}); 31 assert.strictEqual(ret, 0); 32 ret = tc1.fun1({"age":[10,15],"name":"nameValue"}); 33 assert.strictEqual(ret,0) 34 ret = tc1.fun1({"age":10,"name":{'test':'"nameValue"'}}); 35 assert.strictEqual(ret,0) 36 ret = tc1.fun1({"age":10,"name":{'test':'nameValue','test1':15}}); 37 assert.strictEqual(ret,0) 38 ret = tc1.fun1({"age":10,"name": Radio.RADIO_GSM}); 39 assert.strictEqual(ret,0) 40 }); 41 42 // 测试:fun2(num: number, v: Object): number; 43 it('test TestClass1 fun2', function () { 44 let ret = tc1.fun2(2, {"age":10,"name":"nameValue"}); 45 assert.strictEqual(ret, 0); 46 }); 47 48 // 测试:fun3(num: number, v: Object, Sam: string): number; 49 it('test TestClass1 fun3', function () { 50 let ret = tc1.fun3(2, {"age":10,"name":"nameValue"}, "test4"); 51 assert.strictEqual(ret, 0); 52 }); 53 54 // 测试:fun4(numcc: number): Object; 55 it('test TestClass1 fun4', function () { 56 let ret = tc1.fun4(2); 57 assert.deepStrictEqual(typeof ret, 'object'); 58 }); 59 60 // 测试:fun9(): number; 61 it('test TestClass1 fun9', function () { 62 let ret = tc1.fun9(); 63 assert.strictEqual(ret, 0); 64 }); 65 66}); 67 68describe('Object function', function () { 69 var Radio = { 70 RADIO_UNKNOWN : 0, 71 RADIO_GSM : 1, 72 RADIO_1XRTT : 2, 73 } 74 75 // 测试:function fun5(v1: Object): number; 76 it('test fun5', function () { 77 let ret = fun5({"name":"sam","age":10}); 78 assert.strictEqual(ret, 0); 79 ret = fun5({"name":['Sam','Peter'],"age":10}); 80 assert.strictEqual(ret, 0); 81 ret = fun5({"name":{'test': '11'},"age":10}); 82 assert.strictEqual(ret, 0); 83 ret = fun5({"name":{'test': '11','test1':true},"age":10}); 84 assert.strictEqual(ret, 0); 85 ret = fun5({"name":Radio.RADIO_GSM,"age":10}); 86 assert.strictEqual(ret, 0); 87 }); 88 89 // 测试:function fun6(num1: number, v2: Object): number; 90 it('test fun6', function () { 91 let ret = fun6(2, {"age":10,"name":"nameValue"}); 92 assert.strictEqual(ret, 0); 93 }); 94 95 // 测试:function fun7(num2: number, v3: Object, nike: string): number; 96 it('test fun7', function () { 97 let ret = fun7(2, {"age":10,"name":"nameValue"}, "test4"); 98 assert.strictEqual(ret, 0); 99 }); 100 101 // 测试:function fun8(dd: number): Object; 102 it('test fun8', function () { 103 let ret = fun8(2); 104 assert.deepStrictEqual(typeof ret, 'object'); 105 }); 106});