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 test = require("./out/build/Release/napitest") 16var assert = require("assert"); 17 18describe('AsyncCallback<string/number>', function () { 19 function asynFun1(err, ret) { 20 assert.strictEqual(err.code, 0) 21 assert.deepStrictEqual(ret, []) 22 } 23 function def1(ret) { 24 assert.deepStrictEqual(ret, []) 25 } 26 27 it('test fun1', function () { 28 test.fun1('a', asynFun1) 29 test.fun1('a').then(def1) 30 }); 31 32 it('test fun1', function () { 33 let promiseObj = test.fun1('a'); 34 promiseObj.then(ret => { def1(ret) }) 35 }); 36 37 function asynFun2(err, ret) { 38 assert.strictEqual(err.code, 0) 39 assert.deepStrictEqual(ret, []) 40 } 41 42 function def2(ret) { 43 assert.deepStrictEqual(ret, []); 44 } 45 46 it('test fun2', function () { 47 test.fun2([2, 3], asynFun2); 48 test.fun2([2, 3]).then(def2); 49 }); 50 51 it('test fun2', function () { 52 let promiseObj = test.fun2([2, 3]); 53 promiseObj.then(ret => { def2(ret) }); 54 }); 55}); 56 57describe('AsyncCallback<boolean>', function () { 58 function asynFun3(err, ret) { 59 assert.strictEqual(err.code, 0) 60 assert.deepStrictEqual(ret, []) 61 } 62 63 function def3(ret) { 64 assert.deepStrictEqual(ret, []); 65 } 66 it('test fun3', function () { 67 test.fun3([true, false], asynFun3); 68 test.fun3([true, false]).then(def3); 69 }); 70 71 it('test fun3', function () { 72 let promiseObj = test.fun3([true, false]); 73 promiseObj.then(ret => { def3(ret) }); 74 }); 75}); 76 77describe('array<basic>', function () { 78 it('test testArray', function () { 79 let ret = test.testArray(['kkk', 'hhh']); 80 assert.deepStrictEqual(ret, []); 81 }); 82 83 it('test testArray1', function () { 84 let ret = test.testArray1([15, 18]); 85 assert.deepStrictEqual(ret, []); 86 }); 87 88 it('test testArray2', function () { 89 let ret = test.testArray2([true, false]); 90 assert.deepStrictEqual(ret, []); 91 }); 92}); 93 94describe('Array<interface>/map<array>', function () { 95 it('test fun4', function () { 96 let ret = test.fun4(['kkk', 'hhh'], 97 [{ 'name': 'kkk', 'age': 18 }, { 'name': 'kkk', 'age': 18 }]); 98 assert.deepStrictEqual(ret, []); 99 }); 100 101 it('test fun5', function () { 102 let ret = test.fun5([12, 18], 103 [{ 'name': 'kkk', 'age': 18 }, { 'name': 'kkk', 'age': 18 }]); 104 assert.deepStrictEqual(ret, []); 105 }); 106 107 it('test fun6', function () { 108 let ret = test.fun6([true, false], 109 [{ 'name': 'kkk', 'age': 18 }, { 'name': 'kkk', 'age': 18 }]); 110 assert.deepStrictEqual(ret, []); 111 }); 112 113 it('test fun7', function () { 114 let ret = test.fun7(['hhh', 'ooo'], 115 { 'name': ['aaa', 'bbb'], 'age': ['ccc', 'ddd'] }); 116 assert.strictEqual(ret, 0); 117 }); 118 119 it('test fun8', function () { 120 let ret = test.fun8([13, 15], 121 { 'name': [125, 126], 'age': [145, 146] }); 122 assert.strictEqual(ret, 0); 123 }); 124 125 it('test fun9', function () { 126 let ret = test.fun9([false, true], 127 { 'name': [true, false], 'age': [false, true] }); 128 assert.strictEqual(ret, 0); 129 }); 130 131 it('test fun11', function () { 132 let ret = test.fun11({ 'name': ['aaa', 'bbb'], 'age': ['ccc', 'ddd'] }); 133 assert.strictEqual(ret, 0); 134 }); 135 136 it('test fun12', function () { 137 let ret = test.fun12({ 'name': [111, 222], 'age': [333, 444] }); 138 assert.strictEqual(ret, ''); 139 }); 140 141 it('test fun13', function () { 142 let ret = test.fun13({ 'name': [true, true], 'age': [false, false] }); 143 assert.deepStrictEqual(ret, false); 144 }); 145}); 146 147describe('map<array>', function () { 148 function cb1(ret) { 149 assert.deepStrictEqual(ret, []) 150 } 151 152 it('test fun14', function () { 153 test.fun14(['aaa', 'bbb', 'ccc'], cb1); 154 }); 155 156 function cb2(ret) { 157 assert.deepStrictEqual(ret, []) 158 } 159 160 it('test fun15', function () { 161 test.fun15([12, 15, 18], cb2); 162 }); 163 164 function cb3(ret) { 165 assert.deepStrictEqual(ret, []) 166 } 167 168 it('test fun16', function () { 169 test.fun16([true, true, false], cb3); 170 }); 171 172 function cb4(ret) { 173 assert.deepStrictEqual(ret, []) 174 } 175 176 it('test fun17', function () { 177 test.fun17(cb4); 178 }); 179 180 it('test fun21', function () { 181 let ret = test.fun21('sdfghjk', 182 [{ 'key': [15, 18], 'value': ['aa', 'bb'], 'isExit': [true, true] }, 183 { 'key': [15, 18], 'value': ['aa', 'bb'], 'isExit': [true, true] }]); 184 assert.strictEqual(typeof ret, 'object'); 185 }); 186}); 187