UNPKG

microvium

Version:

A compact, embeddable scripting engine for microcontrollers for executing small scripts written in a subset of JavaScript.

47 lines (46 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lib_1 = require("../lib"); const chai_1 = require("chai"); const utils_1 = require("../lib/utils"); const inputJSON = JSON.stringify({ x: 10, y: [5, 6] }); const sourceText = ` const config = JSON.parse(getConfig()); vmExport(0, run); const assertEqual = vmImport(0); function run() { assertEqual(config.x, 10); assertEqual(config.y.length, 2); assertEqual(config.y[0], 5); assertEqual(config.y[1], 6); } `; suite('json-parse', function () { test('general', () => { const snapshot = build(); const vm = lib_1.Microvium.restore(snapshot, { 0: assertEqual }); const run = vm.resolveExport(0); run(); function assertEqual(a, b) { chai_1.assert.deepEqual(a, b); } function build() { const vm = lib_1.Microvium.create(); const global = vm.globalThis; global.parse = (0, utils_1.jsonParse)(vm); global.vmExport = vm.vmExport; global.vmImport = vm.vmImport; global.JSON = vm.newObject(); global.JSON.parse = (0, utils_1.jsonParse)(vm); global.getConfig = () => inputJSON; vm.evaluateModule({ sourceText }); return vm.createSnapshot(); } }); }); //# sourceMappingURL=json-parse.test.js.map