A templating language that looks like Lisp and compiles to HTML
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

evaluatorTest.js 505B

123456789101112131415161718192021
  1. const test = require('tape')
  2. const helpers = require('./helpers')
  3. const AST = require('../src/ast')
  4. const Evaluator = require('../src/evaluator')
  5. test('looks up and injects the function to which a symbol refers', t => {
  6. t.plan(2)
  7. const tree = helpers.evaluate('(+ 1 2)')
  8. t.deepEqual(tree[0].function.constructor, Function)
  9. t.deepEqual(
  10. tree[0].function.call(
  11. this,
  12. new AST.Number({ value: 4 }),
  13. new AST.Number({ value: 5 })
  14. ),
  15. new AST.Number({ value: 9 })
  16. )
  17. })