aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2023-12-19 01:15:15 -0500
committerGitHub <noreply@github.com>2023-12-19 06:15:15 +0000
commit20dd6112724a77fee16281930e79a2e6822acff7 (patch)
tree5a9d56088ee01e7d38ffebee3f64891192ff3e57 /test
parent1ced9aafc00c10992bab8bd3f1b6b1397f05b7b9 (diff)
Remove TemplateRendererProxy mock (#388)
Diffstat (limited to 'test')
-rw-r--r--test/anki-note-builder.test.js9
-rw-r--r--test/mocks/template-renderer-proxy.js63
2 files changed, 5 insertions, 67 deletions
diff --git a/test/anki-note-builder.test.js b/test/anki-note-builder.test.js
index bdf3f8e4..35db5107 100644
--- a/test/anki-note-builder.test.js
+++ b/test/anki-note-builder.test.js
@@ -21,17 +21,16 @@
import {readFileSync} from 'fs';
import {fileURLToPath} from 'node:url';
import path from 'path';
-import {describe, vi} from 'vitest';
+import {describe} from 'vitest';
import {parseJson} from '../dev/json.js';
import {AnkiNoteBuilder} from '../ext/js/data/anki-note-builder.js';
import {JapaneseUtil} from '../ext/js/language/sandbox/japanese-util.js';
+import {AnkiTemplateRenderer} from '../ext/js/templates/sandbox/anki-template-renderer.js';
import {createTranslatorTest} from './fixtures/translator-test.js';
import {createFindOptions} from './utilities/translator.js';
const dirname = path.dirname(fileURLToPath(import.meta.url));
-vi.mock('../ext/js/templates/template-renderer-proxy.js', async () => await import('../test/mocks/template-renderer-proxy.js'));
-
/**
* @param {'terms'|'kanji'} type
* @returns {string[]}
@@ -112,6 +111,8 @@ async function getRenderResults(dictionaryEntries, type, mode, template, expect)
fields.push([marker, `{${marker}}`]);
}
+ const ankiTemplateRenderer = new AnkiTemplateRenderer();
+ await ankiTemplateRenderer.prepare();
const japaneseUtil = new JapaneseUtil(null);
const clozePrefix = 'cloze-prefix';
const clozeSuffix = 'cloze-suffix';
@@ -128,7 +129,7 @@ async function getRenderResults(dictionaryEntries, type, mode, template, expect)
}
break;
}
- const ankiNoteBuilder = new AnkiNoteBuilder({japaneseUtil});
+ const ankiNoteBuilder = new AnkiNoteBuilder(japaneseUtil, ankiTemplateRenderer.templateRenderer);
const context = {
url: 'url:',
sentence: {
diff --git a/test/mocks/template-renderer-proxy.js b/test/mocks/template-renderer-proxy.js
deleted file mode 100644
index 106cdb35..00000000
--- a/test/mocks/template-renderer-proxy.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2023 Yomitan Authors
- * Copyright (C) 2021-2022 Yomichan Authors
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
-import {AnkiTemplateRenderer} from '../../ext/js/templates/sandbox/anki-template-renderer.js';
-
-export class TemplateRendererProxy {
- constructor() {
- /** @type {?Promise<void>} */
- this._preparePromise = null;
- /** @type {AnkiTemplateRenderer} */
- this._ankiTemplateRenderer = new AnkiTemplateRenderer();
- }
-
- /**
- * @param {string} template
- * @param {import('template-renderer').PartialOrCompositeRenderData} data
- * @param {import('anki-templates').RenderMode} type
- * @returns {Promise<import('template-renderer').RenderResult>}
- */
- async render(template, data, type) {
- await this._prepare();
- return this._ankiTemplateRenderer.templateRenderer.render(template, data, type);
- }
-
- /**
- * @param {import('template-renderer').RenderMultiItem[]} items
- * @returns {Promise<import('core').Response<import('template-renderer').RenderResult>[]>}
- */
- async renderMulti(items) {
- await this._prepare();
- return this._ankiTemplateRenderer.templateRenderer.renderMulti(items);
- }
-
- /**
- * @returns {Promise<void>}
- */
- _prepare() {
- if (this._preparePromise === null) {
- this._preparePromise = this._prepareInternal();
- }
- return this._preparePromise;
- }
-
- /** */
- async _prepareInternal() {
- await this._ankiTemplateRenderer.prepare();
- }
-}