silphius/app/swcx/evaluators/array.test.js

18 lines
552 B
JavaScript
Raw Normal View History

2024-06-16 08:01:01 -05:00
import {expect, test} from 'vitest';
import evaluate from '@/swcx/evaluate.js';
2024-06-18 21:46:51 -05:00
import expression from '@/swcx/test/expression.js';
2024-06-16 08:01:01 -05:00
test('evaluates array of literals', async () => {
2024-06-18 21:46:51 -05:00
expect(evaluate(await expression('[1.5, 2, "three"]')))
2024-06-16 08:01:01 -05:00
.to.deep.include({value: [1.5, 2, 'three']});
});
test('evaluates array containing promises', async () => {
2024-06-18 21:46:51 -05:00
const evaluated = evaluate(await expression('[1.5, 2, await "three"]'));
2024-06-16 08:01:01 -05:00
expect(evaluated.async)
.to.equal(true);
expect(await evaluated.value)
.to.deep.equal([1.5, 2, 'three']);
});