| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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);
- });
- });
|