From 022154c3e18d5cc30db2d056a5015405c0cbdcae Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Tue, 23 Mar 2021 20:54:04 -0400 Subject: Test AnkiNoteBuilder (#1550) * Add test for AnkiNoteBuilder * Add test data --- test/data/anki-note-builder-test-results.json | 2479 +++++++++++++++++++++++++ test/test-anki-note-builder.js | 226 +++ 2 files changed, 2705 insertions(+) create mode 100644 test/data/anki-note-builder-test-results.json create mode 100644 test/test-anki-note-builder.js diff --git a/test/data/anki-note-builder-test-results.json b/test/data/anki-note-builder-test-results.json new file mode 100644 index 00000000..9b7c7f65 --- /dev/null +++ b/test/data/anki-note-builder-test-results.json @@ -0,0 +1,2479 @@ +[ + { + "name": "Basic kanji test 1", + "results": [ + { + "character": "打", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "glossary": "
  1. meaning1
  2. meaning2
  3. meaning3
  4. meaning4
  5. meaning5
", + "kunyomi": "う.つ, う.ち-, ぶ.つ", + "onyomi": "ダ, ダアス", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "stroke-count": "Stroke count: Unknown", + "tags": "", + "url": "url:" + } + ] + }, + { + "name": "Basic kanji test 2", + "results": [ + { + "character": "込", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "込", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "glossary": "
  1. meaning1
  2. meaning2
  3. meaning3
  4. meaning4
  5. meaning5
", + "kunyomi": "-こ.む, こ.む, こ.み, -こ.み, こ.める", + "onyomi": "", + "screenshot": "", + "sentence": "cloze-prefix込cloze-suffix", + "stroke-count": "Stroke count: Unknown", + "tags": "", + "url": "url:" + } + ] + }, + { + "name": "Missing kanji test", + "results": [] + }, + { + "name": "Find term using expression text 1", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using expression text 2", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打つ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打つcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打つ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打つcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打つ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打つcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打つ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打つcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using expression text 3", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using expression text 4", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "画像", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "画像", + "frequencies": "", + "furigana": "画像がぞう", + "furigana-plain": "画像[がぞう]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "がぞう", + "screenshot": "", + "sentence": "cloze-prefix画像cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using reading 1", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "だ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefixだcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using reading 2", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "ダース", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefixダースcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using reading 3", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "うつ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefixうつcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "うつ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefixうつcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using reading 4", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "ぶつ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefixぶつcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "ぶつ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefixぶつcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using reading 5", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "うちこむ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefixうちこむcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "うちこむ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefixうちこむcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "うち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefixうちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "うち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefixうちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using reading 6", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "ぶちこむ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefixぶちこむcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "ぶちこむ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefixぶちこむcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "ぶち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefixぶちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "ぶち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefixぶちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Find term using reading 7", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "がぞう", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "画像", + "frequencies": "", + "furigana": "画像がぞう", + "furigana-plain": "画像[がぞう]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "がぞう", + "screenshot": "", + "sentence": "cloze-prefixがぞうcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Missing term 1", + "results": [] + }, + { + "name": "Missing term 2", + "results": [] + }, + { + "name": "Search using different modes", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Search using different modes", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
  1. (tag1, tag2, Test Dictionary 2)
    • definition13
    • definition14
  2. (tag1, tag2, Test Dictionary 2)
    • definition15
    • definition16
", + "glossary-brief": "
    • definition13
    • definition14
    • definition15
    • definition16
", + "glossary-no-dictionary": "
  1. (tag1, tag2)
    • definition13
    • definition14
  2. (tag1, tag2)
    • definition15
    • definition16
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
  1. (tag1, tag2, Test Dictionary 2)
    • definition17
    • definition18
  2. (tag1, tag2, Test Dictionary 2)
    • definition19
    • definition20
", + "glossary-brief": "
    • definition17
    • definition18
    • definition19
    • definition20
", + "glossary-no-dictionary": "
  1. (tag1, tag2)
    • definition17
    • definition18
  2. (tag1, tag2)
    • definition19
    • definition20
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
  1. (tag1, tag2, Test Dictionary 2)
    • definition5
    • definition6
  2. (tag1, tag2, Test Dictionary 2)
    • definition7
    • definition8
", + "glossary-brief": "
    • definition5
    • definition6
    • definition7
    • definition8
", + "glossary-no-dictionary": "
  1. (tag1, tag2)
    • definition5
    • definition6
  2. (tag1, tag2)
    • definition7
    • definition8
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
  1. (tag1, tag2, Test Dictionary 2)
    • definition9
    • definition10
  2. (tag1, tag2, Test Dictionary 2)
    • definition11
    • definition12
", + "glossary-brief": "
    • definition9
    • definition10
    • definition11
    • definition12
", + "glossary-no-dictionary": "
  1. (tag1, tag2)
    • definition9
    • definition10
  2. (tag1, tag2)
    • definition11
    • definition12
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Search using different modes", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ、打ぶち込こむ", + "furigana-plain": "打[う]ち 込[こ]む、打[ぶ]ち 込[こ]む", + "glossary": "
  1. (tag1, tag2, Test Dictionary 2) (うちこむ only)
    • definition13
    • definition14
  2. (tag1, tag2, Test Dictionary 2) (ぶちこむ only)
    • definition17
    • definition18
  3. (tag1, tag2, Test Dictionary 2) (うちこむ only)
    • definition15
    • definition16
  4. (tag1, tag2, Test Dictionary 2) (ぶちこむ only)
    • definition19
    • definition20
", + "glossary-brief": "
    • definition13
    • definition14
    • definition17
    • definition18
    • definition15
    • definition16
    • definition19
    • definition20
", + "glossary-no-dictionary": "
  1. (tag1, tag2) (うちこむ only)
    • definition13
    • definition14
  2. (tag1, tag2) (ぶちこむ only)
    • definition17
    • definition18
  3. (tag1, tag2) (うちこむ only)
    • definition15
    • definition16
  4. (tag1, tag2) (ぶちこむ only)
    • definition19
    • definition20
", + "pitch-accents": "
  1. (うちこむ only) うちこむ
  2. (うちこむ only) うちこむ
  3. (ぶちこむ only) ぶちこむ
  4. (ぶちこむ only) ぶちこむ
", + "pitch-accent-graphs": "
  1. (うちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. (うちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  3. (ぶちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  4. (ぶちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. (うちこむ only) [0]
  2. (うちこむ only) [3]
  3. (ぶちこむ only) [0]
  4. (ぶちこむ only) [3]
", + "reading": "うちこむ、ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ、打ぶつ", + "furigana-plain": "打[う]つ、打[ぶ]つ", + "glossary": "
  1. (tag1, tag2, Test Dictionary 2) (うつ only)
    • definition5
    • definition6
  2. (tag1, tag2, Test Dictionary 2) (ぶつ only)
    • definition9
    • definition10
  3. (tag1, tag2, Test Dictionary 2) (うつ only)
    • definition7
    • definition8
  4. (tag1, tag2, Test Dictionary 2) (ぶつ only)
    • definition11
    • definition12
", + "glossary-brief": "
    • definition5
    • definition6
    • definition9
    • definition10
    • definition7
    • definition8
    • definition11
    • definition12
", + "glossary-no-dictionary": "
  1. (tag1, tag2) (うつ only)
    • definition5
    • definition6
  2. (tag1, tag2) (ぶつ only)
    • definition9
    • definition10
  3. (tag1, tag2) (うつ only)
    • definition7
    • definition8
  4. (tag1, tag2) (ぶつ only)
    • definition11
    • definition12
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ、ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Search inflected term", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込んでいませんでした", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "-te « progressive or perfect « polite past negative", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込んでいませんでしたcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込んでいませんでした", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "-te « progressive or perfect « polite past negative", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込んでいませんでしたcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込んでいませんでした", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "-te « progressive or perfect « polite past negative", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込んでいませんでしたcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち込んでいませんでした", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "-te « progressive or perfect « polite past negative", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打ち込んでいませんでしたcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Ignore text inside parentheses", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打(う)ち込(こ)む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix打(う)ち込(こ)むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打(う)ち込(こ)む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打(う)ち込(こ)むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打(う)ち込(こ)む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix打(う)ち込(こ)むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打(う)ち込(こ)む", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix打(う)ち込(こ)むcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打(う)ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打(う)ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打(う)ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打(う)ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打(う)ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix打(う)ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打(う)ち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix打(う)ちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "打", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefix打cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Remove parentheses around text", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)(ち)(込)(む)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)(ち)(込)(む)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)(ち)(込)(む)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ", + "furigana-plain": "打[う]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. うちこむ
  2. うちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "うちこむ", + "screenshot": "", + "sentence": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)(ち)(込)(む)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打ぶち込こむ", + "furigana-plain": "打[ぶ]ち 込[こ]む", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "
  1. ぶちこむ
  2. ぶちこむ
", + "pitch-accent-graphs": "
  1. \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. [0]
  2. [3]
", + "reading": "ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)(ち)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix(打)(ち)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)(ち)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix(打)(ち)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)(ち)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ", + "furigana-plain": "打[う]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ", + "screenshot": "", + "sentence": "cloze-prefix(打)(ち)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)(ち)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打ぶつ", + "furigana-plain": "打[ぶ]つ", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ぶつ", + "screenshot": "", + "sentence": "cloze-prefix(打)(ち)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打だ", + "furigana-plain": "打[だ]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "だ", + "screenshot": "", + "sentence": "cloze-prefix(打)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "(打)", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打", + "frequencies": "", + "furigana": "打ダース", + "furigana-plain": "打[ダース]", + "glossary": "
(tag1, tag2, Test Dictionary 2)
", + "glossary-brief": "
", + "glossary-no-dictionary": "
(tag1, tag2)
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "ダース", + "screenshot": "", + "sentence": "cloze-prefix(打)cloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + }, + { + "name": "Test non-empty replacement", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "test", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "読む", + "frequencies": "", + "furigana": "読よむ", + "furigana-plain": "読[よ]む", + "glossary": "
(popular, Test Dictionary 2) to read
", + "glossary-brief": "
to read
", + "glossary-no-dictionary": "
(popular) to read
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "よむ", + "screenshot": "", + "sentence": "cloze-prefixtestcloze-suffix", + "tags": "popular", + "url": "url:" + } + ] + }, + { + "name": "Test non-empty replacement at end", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "つtest", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "強み", + "frequencies": "", + "furigana": "強つよみ", + "furigana-plain": "強[つよ]み", + "glossary": "
(popular, Test Dictionary 2) strong point
", + "glossary-brief": "
strong point
", + "glossary-no-dictionary": "
(popular) strong point
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "つよみ", + "screenshot": "", + "sentence": "cloze-prefixつtestcloze-suffix", + "tags": "popular", + "url": "url:" + } + ] + }, + { + "name": "Test non-empty replacement at start", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "testました", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "polite past", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "読む", + "frequencies": "", + "furigana": "読よむ", + "furigana-plain": "読[よ]む", + "glossary": "
(popular, Test Dictionary 2) to read
", + "glossary-brief": "
to read
", + "glossary-no-dictionary": "
(popular) to read
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "よむ", + "screenshot": "", + "sentence": "cloze-prefixtestましたcloze-suffix", + "tags": "popular", + "url": "url:" + } + ] + }, + { + "name": "Search merged mode with non-primary definitions", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "うちこむ", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打ち込む", + "frequencies": "", + "furigana": "打うち込こむ、打ぶち込こむ", + "furigana-plain": "打[う]ち 込[こ]む、打[ぶ]ち 込[こ]む", + "glossary": "
  1. (tag1, tag2, Test Dictionary 2) (うちこむ only)
    • definition13
    • definition14
  2. (tag1, tag2, Test Dictionary 2) (ぶちこむ only)
    • definition17
    • definition18
  3. (tag1, tag2, Test Dictionary 2) (うちこむ only)
    • definition15
    • definition16
  4. (tag1, tag2, Test Dictionary 2) (ぶちこむ only)
    • definition19
    • definition20
", + "glossary-brief": "
    • definition13
    • definition14
    • definition17
    • definition18
    • definition15
    • definition16
    • definition19
    • definition20
", + "glossary-no-dictionary": "
  1. (tag1, tag2) (うちこむ only)
    • definition13
    • definition14
  2. (tag1, tag2) (ぶちこむ only)
    • definition17
    • definition18
  3. (tag1, tag2) (うちこむ only)
    • definition15
    • definition16
  4. (tag1, tag2) (ぶちこむ only)
    • definition19
    • definition20
", + "pitch-accents": "
  1. (うちこむ only) うちこむ
  2. (うちこむ only) うちこむ
  3. (ぶちこむ only) ぶちこむ
  4. (ぶちこむ only) ぶちこむ
", + "pitch-accent-graphs": "
  1. (うちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  2. (うちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  3. (ぶちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
  4. (ぶちこむ only) \n \n \n \n \n \n \n \n \n \n \n \n \n
", + "pitch-accent-positions": "
  1. (うちこむ only) [0]
  2. (うちこむ only) [3]
  3. (ぶちこむ only) [0]
  4. (ぶちこむ only) [3]
", + "reading": "うちこむ、ぶちこむ", + "screenshot": "", + "sentence": "cloze-prefixうちこむcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + }, + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "うち", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "masu stem", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "打つ", + "frequencies": "", + "furigana": "打うつ、打ぶつ", + "furigana-plain": "打[う]つ、打[ぶ]つ", + "glossary": "
  1. (tag1, tag2, Test Dictionary 2) (うつ only)
    • definition5
    • definition6
  2. (tag1, tag2, Test Dictionary 2) (ぶつ only)
    • definition9
    • definition10
  3. (tag1, tag2, Test Dictionary 2) (うつ only)
    • definition7
    • definition8
  4. (tag1, tag2, Test Dictionary 2) (ぶつ only)
    • definition11
    • definition12
", + "glossary-brief": "
    • definition5
    • definition6
    • definition9
    • definition10
    • definition7
    • definition8
    • definition11
    • definition12
", + "glossary-no-dictionary": "
  1. (tag1, tag2) (うつ only)
    • definition5
    • definition6
  2. (tag1, tag2) (ぶつ only)
    • definition9
    • definition10
  3. (tag1, tag2) (うつ only)
    • definition7
    • definition8
  4. (tag1, tag2) (ぶつ only)
    • definition11
    • definition12
", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "reading": "うつ、ぶつ", + "screenshot": "", + "sentence": "cloze-prefixうちcloze-suffix", + "tags": "tag1, tag2", + "url": "url:" + } + ] + } +] \ No newline at end of file diff --git a/test/test-anki-note-builder.js b/test/test-anki-note-builder.js new file mode 100644 index 00000000..f28bebef --- /dev/null +++ b/test/test-anki-note-builder.js @@ -0,0 +1,226 @@ +/* + * Copyright (C) 2021 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 . + */ + +const fs = require('fs'); +const path = require('path'); +const assert = require('assert'); +const {testMain} = require('../dev/util'); +const {TranslatorVM} = require('../dev/translator-vm'); + + +function clone(value) { + return JSON.parse(JSON.stringify(value)); +} + +async function createVM() { + const vm = new TranslatorVM(); + + const dictionaryDirectory = path.join(__dirname, 'data', 'dictionaries', 'valid-dictionary2'); + await vm.prepare(dictionaryDirectory, 'Test Dictionary 2'); + + vm.execute([ + 'js/data/anki-note-builder.js', + 'js/data/anki-util.js', + 'js/templates/template-renderer.js', + 'lib/handlebars.min.js' + ]); + + const [ + JapaneseUtil, + TemplateRenderer, + AnkiNoteData, + AnkiNoteBuilder + ] = vm.get([ + 'JapaneseUtil', + 'TemplateRenderer', + 'AnkiNoteData', + 'AnkiNoteBuilder' + ]); + + class TemplateRendererProxy { + constructor() { + const japaneseUtil = new JapaneseUtil(null); + this._templateRenderer = new TemplateRenderer(japaneseUtil); + this._templateRenderer.registerDataType('ankiNote', { + modifier: ({data, marker}) => new AnkiNoteData(japaneseUtil, marker, data).createPublic() + }); + } + + async render(template, data, type) { + return await this._templateRenderer.render(template, data, type); + } + } + vm.set({TemplateRendererProxy}); + + return {vm, AnkiNoteBuilder}; +} + +function getFieldMarkers(type) { + switch (type) { + case 'terms': + return [ + 'audio', + 'clipboard-image', + 'clipboard-text', + 'cloze-body', + 'cloze-prefix', + 'cloze-suffix', + 'conjugation', + 'dictionary', + 'document-title', + 'expression', + 'frequencies', + 'furigana', + 'furigana-plain', + 'glossary', + 'glossary-brief', + 'glossary-no-dictionary', + 'pitch-accents', + 'pitch-accent-graphs', + 'pitch-accent-positions', + 'reading', + 'screenshot', + 'sentence', + 'tags', + 'url' + ]; + case 'kanji': + return [ + 'character', + 'clipboard-image', + 'clipboard-text', + 'cloze-body', + 'cloze-prefix', + 'cloze-suffix', + 'dictionary', + 'document-title', + 'glossary', + 'kunyomi', + 'onyomi', + 'screenshot', + 'sentence', + 'stroke-count', + 'tags', + 'url' + ]; + default: + return []; + } +} + +async function getRenderResults(definitions, type, mode, templates, AnkiNoteBuilder, write) { + const markers = getFieldMarkers(type); + const fields = []; + for (const marker of markers) { + fields.push([marker, `{${marker}}`]); + } + + const clozePrefix = 'cloze-prefix'; + const clozeSuffix = 'cloze-suffix'; + const results = []; + for (const definition of definitions) { + const source = definition.type === 'kanji' ? definition.character : definition.rawSource; + const ankiNoteBuilder = new AnkiNoteBuilder(); + const context = { + url: 'url:', + sentence: { + text: `${clozePrefix}${source}${clozeSuffix}`, + offset: clozePrefix.length + }, + documentTitle: 'title' + }; + const errors = []; + const noteFields = (await ankiNoteBuilder.createNote({ + definition, + mode: null, + context, + templates, + deckName: 'deckName', + modelName: 'modelName', + fields, + tags: ['yomichan'], + injectedMedia: null, + checkForDuplicates: true, + duplicateScope: 'collection', + resultOutputMode: mode, + glossaryLayoutMode: 'default', + compactTags: false, + errors + })).fields; + if (!write) { + assert.deepStrictEqual(errors, []); + } + results.push(noteFields); + } + + return results; +} + + +async function main() { + const write = (process.argv[2] === '--write'); + + const {vm, AnkiNoteBuilder} = await createVM(); + + const testInputsFilePath = path.join(__dirname, 'data', 'translator-test-inputs.json'); + const {optionsPresets, tests} = JSON.parse(fs.readFileSync(testInputsFilePath, {encoding: 'utf8'})); + + const testResults1FilePath = path.join(__dirname, 'data', 'anki-note-builder-test-results.json'); + const expectedResults1 = JSON.parse(fs.readFileSync(testResults1FilePath, {encoding: 'utf8'})); + const actualResults1 = []; + + const templates = fs.readFileSync(path.join(__dirname, '..', 'ext', 'data/templates/default-anki-field-templates.handlebars'), {encoding: 'utf8'}); + + for (let i = 0, ii = tests.length; i < ii; ++i) { + const test = tests[i]; + const expected1 = expectedResults1[i]; + switch (test.func) { + case 'findTerms': + { + const {name, mode, text} = test; + const options = vm.buildOptions(optionsPresets, test.options); + const [definitions] = clone(await vm.translator.findTerms(mode, text, options)); + const results = clone(await getRenderResults(definitions, 'terms', mode, templates, AnkiNoteBuilder, write)); + actualResults1.push({name, results}); + if (!write) { + assert.deepStrictEqual(results, expected1.results); + } + } + break; + case 'findKanji': + { + const {name, text} = test; + const options = vm.buildOptions(optionsPresets, test.options); + const definitions = clone(await vm.translator.findKanji(text, options)); + const results = clone(await getRenderResults(definitions, 'kanji', null, templates, AnkiNoteBuilder, write)); + actualResults1.push({name, results}); + if (!write) { + assert.deepStrictEqual(results, expected1.results); + } + } + break; + } + } + + if (write) { + // Use 2 indent instead of 4 to save a bit of file size + fs.writeFileSync(testResults1FilePath, JSON.stringify(actualResults1, null, 2), {encoding: 'utf8'}); + } +} + + +if (require.main === module) { testMain(main); } -- cgit v1.2.3