aboutsummaryrefslogtreecommitdiff
path: root/test/test-anki-note-builder.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/test-anki-note-builder.js')
-rw-r--r--test/test-anki-note-builder.js25
1 files changed, 24 insertions, 1 deletions
diff --git a/test/test-anki-note-builder.js b/test/test-anki-note-builder.js
index aad12aba..d3ea0b6a 100644
--- a/test/test-anki-note-builder.js
+++ b/test/test-anki-note-builder.js
@@ -18,6 +18,7 @@
const fs = require('fs');
const path = require('path');
const assert = require('assert');
+const {JSDOM} = require('jsdom');
const {testMain} = require('../dev/util');
const {TranslatorVM} = require('../dev/translator-vm');
@@ -27,7 +28,10 @@ function clone(value) {
}
async function createVM() {
- const vm = new TranslatorVM();
+ const dom = new JSDOM();
+ const {document} = dom.window;
+
+ const vm = new TranslatorVM({document});
const dictionaryDirectory = path.join(__dirname, 'data', 'dictionaries', 'valid-dictionary1');
await vm.prepare(dictionaryDirectory, 'Test Dictionary 2');
@@ -68,6 +72,25 @@ async function createVM() {
return this._serializeMulti(this._templateRenderer.renderMulti(items));
}
+ _serializeError(error) {
+ try {
+ if (typeof error === 'object' && error !== null) {
+ return {
+ name: error.name,
+ message: error.message,
+ stack: error.stack,
+ data: error.data
+ };
+ }
+ } catch (e) {
+ // NOP
+ }
+ return {
+ value: error,
+ hasValue: true
+ };
+ }
+
_serializeMulti(array) {
for (let i = 0, ii = array.length; i < ii; ++i) {
const value = array[i];