UNPKG

babel-plugin-elsa

Version:

A babel plugin for replacing object and array literals with immutable versions

34 lines (29 loc) 806 B
/* eslint-disable func-names */ const babel = require('babel-core'); const assert = require('assert'); const elsa = require('../index'); const outputJs = babel.transformFileSync('./test/sample/sample_input.js', { plugins: [elsa], }).code; const expectedJs = ` import FrozenObject from 'babel-plugin-elsa/frozen_object'; import FrozenArray from 'babel-plugin-elsa/frozen_array'; (function () { var user = new FrozenObject({ name: 'jon', followerCount: 5, followers: new FrozenArray(new FrozenObject({ name: 'zivi' })) }); var normalUser = new Object({ name: 'Loki', age: 4 }); var list = new FrozenArray(1, 2, 3, 4); return users.pop(); })(); `.trim(); describe('elsa', () => { it('produces expected output', () => { assert.equal(outputJs, expectedJs); }); });