From 4ee27b10a68fcda7972787e8f0f81b662d7bbd1f Mon Sep 17 00:00:00 2001 From: Evan Sebastian Date: Tue, 18 Jul 2017 16:03:20 +0800 Subject: [PATCH] Use modified parser instead of acorn --- src/__tests__/fixtures/conformation/week-3-martin.js | 1 + src/harness/conformation.ts | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/__tests__/fixtures/conformation/week-3-martin.js b/src/__tests__/fixtures/conformation/week-3-martin.js index e69de29..b6aeca8 100644 --- a/src/__tests__/fixtures/conformation/week-3-martin.js +++ b/src/__tests__/fixtures/conformation/week-3-martin.js @@ -0,0 +1 @@ +1 + 2; // 3 diff --git a/src/harness/conformation.ts b/src/harness/conformation.ts index a49c2aa..bdba1f8 100644 --- a/src/harness/conformation.ts +++ b/src/harness/conformation.ts @@ -2,8 +2,10 @@ import { generate } from 'astring' import * as es from 'estree' import * as fs from 'fs' import * as path from 'path' -import { parse } from 'acorn' +import { parse as acornParse } from 'acorn' +import { parse } from '../parser' +import { createContext } from '../context' import { evaluators, createInterpreter } from '../interpreter' const fixturesFolderPath = path.resolve( @@ -31,7 +33,7 @@ export const loadAndParseConformation = ( const expectedValues: any[] = [] const tests: ConformationTest[] = [] - const ast = parse(content, { + acornParse(content, { ecmaVersion: 5, locations: true, onComment: (isBlock, text) => { @@ -42,6 +44,9 @@ export const loadAndParseConformation = ( } }) + const context = createContext({ week: 3 }) + const ast = parse(content, context).parser.program! + for (const [idx, statement] of ast.body.entries()) { tests.push({ statement: statement as es.Statement,