diff --git a/samples/self-hosted/main.js b/samples/self-hosted/main.js index d9320f7..01924db 100644 --- a/samples/self-hosted/main.js +++ b/samples/self-hosted/main.js @@ -1,6 +1,6 @@ let wordpos = window.wordpos = new WordPOS({ // preload: true, - dictPath: '../samples/self-hosted/dict', + dictPath: '/samples/self-hosted/dict', profile: true, // stopwords: false }); diff --git a/src/browser/baseFile.js b/src/browser/baseFile.js index 156d570..3903f32 100644 --- a/src/browser/baseFile.js +++ b/src/browser/baseFile.js @@ -7,6 +7,8 @@ * Released under MIT license */ +let isTest = window.__mocha; + class BaseFile { /** @@ -33,11 +35,13 @@ class BaseFile { load() { if (this.loadError) return Promise.reject(this.loadError); - this.options.debug && console.time('index load ' + this.posName); - let promise = Promise.resolve(require(this.filePath)); - this.options.debug && console.timeEnd('index load ' + this.posName) + let promise = isTest + ? Promise.resolve(require(this.filePath)) + : eval(`import('${this.filePath}')`); // prevent parcel from clobbering dynamic import + + this.options.debug && console.timeEnd('index load ' + this.posName) return promise .then(exports => { this.file = exports.default diff --git a/test/wordpos_test.js b/test/wordpos_test.js index 2efd10f..21be423 100644 --- a/test/wordpos_test.js +++ b/test/wordpos_test.js @@ -17,6 +17,10 @@ * Released under MIT license */ + // used in src code to signal test mode +global.window = global.window || {}; +global.window.__mocha = true; + var chai = require('chai'), _ = require('underscore'), @@ -31,6 +35,7 @@ var // debug: true }); + const assertNoData = (err) => { assert(err instanceof RangeError); assert(/No data at offset/.test(err.message));