import { MiniScript } from './MiniScript'; describe('MiniScriptExtra', () => { const ms = () => new MiniScript(); test('registerFunction 对象扩展', () => { const m = new MiniScript(); m.registerFunction('uni.getSystemInfo', () => { return { platform: 'ios', version: '1.0.0', system: '1.0.0', }; }); expect(m.execute('return uni.getSystemInfo()')).toEqual({ platform: 'ios', version: '1.0.0', system: '1.0.0', }); }); test('数组调用', () => { expect(ms().execute('return list[0].value + list[1].array[0].value', { list: [ { name: 'a', value: 1, }, { name: 'b', value: 2, array: [ { name: 'c', value: 3, }, { name: 'd', value: 4, }, ] }, ] })).toEqual(4); }); test('数组筛选', () => { expect(ms().execute('return list.filter(item => item.type === "fruit").length', { list: [ { name: 'apple', type: 'fruit', }, { name: 'banana', type: 'fruit', }, { name: 'carrot', type: 'vegetable', }, ] })).toEqual(2); }); });