1/*
2* Copyright (c) 2023 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")
16const { TestClass1} = require("./out/build/Release/napitest")
17var assert = require("assert");
18
19describe('threadSafe func', function () {
20    // 测试:function fun1(v: string): string;
21    it('createThreadSafeFuncTest1', function () {
22         test.createThreadSafeFuncTest1('Test1', (value, value1) => {
23            return value + value1
24         });
25    });
26
27    /* 测试
28    interface TestClass1 {
29        createThreadSafeFuncClass1(name: string, callback: (value?: number, value1?: number) => number):void
30    }
31    */
32    it('TestClass1 createThreadSafeFuncClass1', function () {
33        let ret = ''
34        let tc = new TestClass1();
35        tc.createThreadSafeFuncClass1('Class1', (value, value1) => {
36         let res = value + value1
37         console.log('value + value1 is: ' + res)
38           return res
39        });
40        assert.deepStrictEqual(ret, '');
41   });
42});
43
44