diff --git a/test/autotests/parseImport/parseImport-as/expected.json b/test/autotests/parseImport/parseImport-as/expected.json new file mode 100644 index 000000000..c23a07290 --- /dev/null +++ b/test/autotests/parseImport/parseImport-as/expected.json @@ -0,0 +1,13 @@ +[ + { + "name": "greetings", + "value": "require(\"./greetings\")" + }, + { + "name": "hi", + "value":{ + "object": "greetings", + "property": "hello" + } + } +] \ No newline at end of file diff --git a/test/autotests/parseImport/parseImport-as/input.txt b/test/autotests/parseImport/parseImport-as/input.txt new file mode 100644 index 000000000..dd78065fb --- /dev/null +++ b/test/autotests/parseImport/parseImport-as/input.txt @@ -0,0 +1 @@ +import { hello as hi } from "./greetings" \ No newline at end of file diff --git a/test/autotests/parseImport/parseImport-member/expected.json b/test/autotests/parseImport/parseImport-member/expected.json new file mode 100644 index 000000000..8ce91beeb --- /dev/null +++ b/test/autotests/parseImport/parseImport-member/expected.json @@ -0,0 +1,13 @@ +[ + { + "name": "$", + "value": "require(\"jquery\")" + }, + { + "name": "fn", + "value": { + "object": "$", + "property": "fn" + } + } +] \ No newline at end of file diff --git a/test/autotests/parseImport/parseImport-member/input.txt b/test/autotests/parseImport/parseImport-member/input.txt new file mode 100644 index 000000000..b51b0cc1f --- /dev/null +++ b/test/autotests/parseImport/parseImport-member/input.txt @@ -0,0 +1 @@ +import $, { fn } from "jquery" \ No newline at end of file diff --git a/test/autotests/parseImport/parseImport-object/expected.json b/test/autotests/parseImport/parseImport-object/expected.json new file mode 100644 index 000000000..e4185d5de --- /dev/null +++ b/test/autotests/parseImport/parseImport-object/expected.json @@ -0,0 +1,6 @@ +[ + { + "name": "$", + "value": "require(\"jquery\")" + } +] \ No newline at end of file diff --git a/test/autotests/parseImport/parseImport-object/input.txt b/test/autotests/parseImport/parseImport-object/input.txt new file mode 100644 index 000000000..351c55834 --- /dev/null +++ b/test/autotests/parseImport/parseImport-object/input.txt @@ -0,0 +1 @@ +import $ from "jquery" \ No newline at end of file diff --git a/test/parseImport-test.js b/test/parseImport-test.js new file mode 100644 index 000000000..7f30bc221 --- /dev/null +++ b/test/parseImport-test.js @@ -0,0 +1,37 @@ +'use strict'; +require('./util/patch-module'); + +var chai = require('chai'); +chai.config.includeStack = true; +var parseFor = require('../taglibs/core/util/parseImport.js'); +var autotest = require('./autotest'); +var fs = require('fs'); +var path = require('path'); + +describe('parseImport' , function() { + + var autoTestDir = path.join(__dirname, 'autotests/parseImport'); + + autotest.scanDir( + autoTestDir, + function run(dir, helpers, done) { + let inputPath = path.join(dir, 'input.txt'); + let input = fs.readFileSync(inputPath, {encoding: 'utf8'}); + + try { + let parsed = parseFor(input); + helpers.compare(parsed, '.json'); + return done(); + } catch(e) { + if (e.code === 'INVALID_FOR') { + helpers.compare({ + error: e.message + }, '.json'); + return done(); + } else { + throw e; + } + + } + }); +});