UNPKG

cream-and-sugar

Version:

A deliciously functional syntax for JavaScript with native support for JSX

45 lines (35 loc) 1.29 kB
import assert from 'assert'; import { nlToSpace } from './utils'; import { compileCode } from '../src/compiler/compiler'; describe('Symbolic Operators', () => { it('should compile "+"', () => { const toCompile = `a + b`; const expected = nlToSpace(`a + b;`); assert.equal(nlToSpace(compileCode(toCompile)), expected); }); it('should compile "-"', () => { const toCompile = `a - b`; const expected = nlToSpace(`a - b;`); assert.equal(nlToSpace(compileCode(toCompile)), expected); }); it('should compile "*"', () => { const toCompile = `a * b`; const expected = nlToSpace(`a * b;`); assert.equal(nlToSpace(compileCode(toCompile)), expected); }); it('should compile "/"', () => { const toCompile = `a / b`; const expected = nlToSpace(`a / b;`); assert.equal(nlToSpace(compileCode(toCompile)), expected); }); it('should compile "%"', () => { const toCompile = `a % b`; const expected = nlToSpace(`a % b;`); assert.equal(nlToSpace(compileCode(toCompile)), expected); }); it('should compile a complex statement', () => { const toCompile = `a + b - (c * (d + a)) - b`; const expected = nlToSpace(`a + b - (c * (d + a)) - b;`); assert.equal(nlToSpace(compileCode(toCompile)), expected); }); });