12345678910111213141516171819202122232425262728293031323334 |
- const test = require('tape')
- const helpers = require('./helpers')
-
- const AST = require('../src/ast')
- const OsloError = require('../src/osloError')
-
- test('list function', t => {
- t.plan(1)
-
- const tree = helpers.evaluate('(list 1 2 3)')
- t.deepEqual(tree[0], new AST.List({
- elements: [
- new AST.Number({ value: 1, line: 1 }),
- new AST.Number({ value: 2, line: 1 }),
- new AST.Number({ value: 3, line: 1 }),
- ]
- }))
- })
-
- test('length function', t => {
- t.plan(2)
-
- let tree = helpers.evaluate('(length (list 1 2 3))')
- t.deepEqual(tree[0], new AST.Number({ value: 3 }))
-
- tree = helpers.evaluate('(length 5)')
- t.deepEqual(
- tree,
- new OsloError({
- line: 1,
- message: 'length: argument is not a list'
- })
- )
- })
|