• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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