%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; // Flags: --expose-gc const common = require('../../common'); const assert = require('assert'); // Testing api calls for function const test_function = require(`./build/${common.buildType}/test_function`); function func1() { return 1; } assert.strictEqual(test_function.TestCall(func1), 1); function func2() { console.log('hello world!'); return null; } assert.strictEqual(test_function.TestCall(func2), null); function func3(input) { return input + 1; } assert.strictEqual(test_function.TestCall(func3, 1), 2); function func4(input) { return func3(input); } assert.strictEqual(test_function.TestCall(func4, 1), 2); assert.strictEqual(test_function.TestName.name, 'Name'); assert.strictEqual(test_function.TestNameShort.name, 'Name_'); let tracked_function = test_function.MakeTrackedFunction(common.mustCall()); assert(!!tracked_function); tracked_function = null; global.gc(); assert.deepStrictEqual(test_function.TestCreateFunctionParameters(), { envIsNull: 'Invalid argument', nameIsNull: 'napi_ok', cbIsNull: 'Invalid argument', resultIsNull: 'Invalid argument' }); assert.throws( () => test_function.TestBadReturnExceptionPending(), { code: 'throwing exception', name: 'Error' } );