packages/client/lib/commands/FUNCTION_LIST_WITHCODE.spec.ts
import { strict as assert } from 'node:assert';
import testUtils, { GLOBAL } from '../test-utils';
import FUNCTION_LIST_WITHCODE from './FUNCTION_LIST_WITHCODE';
import { MATH_FUNCTION, loadMathFunction } from './FUNCTION_LOAD.spec';
import { parseArgs } from './generic-transformers';
describe('FUNCTION LIST WITHCODE', () => {
testUtils.isVersionGreaterThanHook([7]);
describe('transformArguments', () => {
it('simple', () => {
assert.deepEqual(
parseArgs(FUNCTION_LIST_WITHCODE),
['FUNCTION', 'LIST', 'WITHCODE']
);
});
it('with LIBRARYNAME', () => {
assert.deepEqual(
parseArgs(FUNCTION_LIST_WITHCODE, {
LIBRARYNAME: 'patter*'
}),
['FUNCTION', 'LIST', 'LIBRARYNAME', 'patter*', 'WITHCODE']
);
});
});
testUtils.testWithClient('client.functionListWithCode', async client => {
const [, reply] = await Promise.all([
loadMathFunction(client),
client.functionListWithCode()
]);
const a = reply[0];
const b = a.functions[0].description;
assert.deepEqual(reply, [{
library_name: MATH_FUNCTION.name,
engine: MATH_FUNCTION.engine,
functions: [{
name: MATH_FUNCTION.library.square.NAME,
description: null,
flags: ['no-writes']
}],
library_code: MATH_FUNCTION.code
}]);
}, GLOBAL.SERVERS.OPEN);
});