diff options
| author | StefanVukovic99 <stefanvukovic44@gmail.com> | 2024-01-20 02:25:23 +0100 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-20 01:25:23 +0000 | 
| commit | 2b87c919bcd879c7f356308bc522b95f33e35f3b (patch) | |
| tree | 1301aa8bf3d9b91ad96bbe9372a66dceba190346 /test | |
| parent | 48f1d012ad5045319d4e492dfbefa39da92817b2 (diff) | |
Dictionary deinflections (#503)
* wip
* wip
* fix v3
* wip
* fix tests
* fix maxitems
* hide deinflection definitions
* fix anki template
* undo unnecessary change
* delete console.log
* refactor
* add set false to handlebars
* lint
* fix tests
* fix comments
* fix
* use Map in areArraysEqualIgnoreOrder
* move inflection source icons to css
* lint
* improve naming
* fix tests
* add test
* typescript
* use for of
* wip
* comments
* anki template upgrade
* update descriptions
Diffstat (limited to 'test')
| -rw-r--r-- | test/data/anki-note-builder-test-results.json | 36 | ||||
| -rw-r--r-- | test/data/database-test-cases.json | 6 | ||||
| -rw-r--r-- | test/data/dictionaries/valid-dictionary1/term_bank_1.json | 4 | ||||
| -rw-r--r-- | test/data/translator-test-inputs.json | 10 | ||||
| -rw-r--r-- | test/data/translator-test-results-note-data1.json | 791 | ||||
| -rw-r--r-- | test/data/translator-test-results.json | 837 | ||||
| -rw-r--r-- | test/options-util.test.js | 5 | 
7 files changed, 1420 insertions, 269 deletions
| diff --git a/test/data/anki-note-builder-test-results.json b/test/data/anki-note-builder-test-results.json index 86bffc6a..7129d748 100644 --- a/test/data/anki-note-builder-test-results.json +++ b/test/data/anki-note-builder-test-results.json @@ -2867,5 +2867,41 @@          "url": "<a href=\"url:\">url:</a>"        }      ] +  }, +  { +    "name": "Test dictionary deinflection", +    "results": [ +      { +        "audio": "", +        "clipboard-image": "", +        "clipboard-text": "", +        "cloze-body": "のたもうた", +        "cloze-prefix": "cloze-prefix", +        "cloze-suffix": "cloze-suffix", +        "conjugation": "past", +        "dictionary": "Test Dictionary 2", +        "document-title": "title", +        "expression": "のたまう", +        "frequencies": "", +        "furigana": "のたまう", +        "furigana-plain": "のたまう", +        "glossary": "<div style=\"text-align: left;\"><i>(v5, Test Dictionary 2)</i> notamau definition</div>", +        "glossary-brief": "<div style=\"text-align: left;\">notamau definition</div>", +        "glossary-no-dictionary": "<div style=\"text-align: left;\"><i>(v5)</i> notamau definition</div>", +        "part-of-speech": "Godan verb", +        "pitch-accents": "No pitch accent data", +        "pitch-accent-graphs": "No pitch accent data", +        "pitch-accent-positions": "No pitch accent data", +        "phonetic-transcriptions": "", +        "reading": "のたまう", +        "screenshot": "", +        "search-query": "fullQuery", +        "selection-text": "", +        "sentence": "cloze-prefixのたもうたcloze-suffix", +        "sentence-furigana": "cloze-prefixのたもうたcloze-suffix", +        "tags": "v5", +        "url": "<a href=\"url:\">url:</a>" +      } +    ]    }  ]
\ No newline at end of file diff --git a/test/data/database-test-cases.json b/test/data/database-test-cases.json index 02fddd49..611903dd 100644 --- a/test/data/database-test-cases.json +++ b/test/data/database-test-cases.json @@ -27,7 +27,7 @@          "ipa": 1        },        "terms": { -        "total": 23 +        "total": 25        }      }    }, @@ -36,7 +36,7 @@        {          "kanji": 2,          "kanjiMeta": 6, -        "terms": 23, +        "terms": 25,          "termMeta": 39,          "tagMeta": 15,          "media": 6 @@ -45,7 +45,7 @@      "total": {        "kanji": 2,        "kanjiMeta": 6, -      "terms": 23, +      "terms": 25,        "termMeta": 39,        "tagMeta": 15,        "media": 6 diff --git a/test/data/dictionaries/valid-dictionary1/term_bank_1.json b/test/data/dictionaries/valid-dictionary1/term_bank_1.json index ce4290bd..7f2af6dd 100644 --- a/test/data/dictionaries/valid-dictionary1/term_bank_1.json +++ b/test/data/dictionaries/valid-dictionary1/term_bank_1.json @@ -337,5 +337,7 @@              {"type": "structured-content", "content": "kouzou definition 3 (構造)"}          ],          101, "P E1" -    ] +    ], +    ["のたまう", "のたまう", "v5", "v5", 1, ["notamau definition"], 15, ""], +    ["のたもうた", "のたもうた", "", "", 1, [["のたまう", ["past"]]], 16, ""]  ]
\ No newline at end of file diff --git a/test/data/translator-test-inputs.json b/test/data/translator-test-inputs.json index 91cf0ab2..ce449c1e 100644 --- a/test/data/translator-test-inputs.json +++ b/test/data/translator-test-inputs.json @@ -35,7 +35,8 @@                          "index": 0,                          "priority": 0,                          "allowSecondarySearches": false, -                        "partsOfSpeechFilter": true +                        "partsOfSpeechFilter": true, +                        "useDeinflections": true                      }                  ]              ] @@ -344,6 +345,13 @@              "mode": "split",              "text": "構造",              "options": "default" +        }, +        { +            "name": "Test dictionary deinflection", +            "func": "findTerms", +            "mode": "split", +            "text": "のたもうた", +            "options": "default"          }      ]  }
\ No newline at end of file diff --git a/test/data/translator-test-results-note-data1.json b/test/data/translator-test-results-note-data1.json index 1342a63f..c34842da 100644 --- a/test/data/translator-test-results-note-data1.json +++ b/test/data/translator-test-results-note-data1.json @@ -341,7 +341,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 1, @@ -647,7 +652,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 2, @@ -967,7 +977,12 @@            "source": "打つ",            "rawSource": "打つ",            "sourceTerm": "打つ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 3, @@ -1273,7 +1288,12 @@            "source": "打つ",            "rawSource": "打つ",            "sourceTerm": "打つ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 3, @@ -1579,7 +1599,12 @@            "source": "打つ",            "rawSource": "打つ",            "sourceTerm": "打つ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 3, @@ -1885,7 +1910,12 @@            "source": "打つ",            "rawSource": "打つ",            "sourceTerm": "打つ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 3, @@ -2191,7 +2221,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 1, @@ -2497,7 +2532,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 2, @@ -2817,7 +2857,12 @@            "source": "打ち込む",            "rawSource": "打ち込む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 4, @@ -3231,7 +3276,12 @@            "source": "打ち込む",            "rawSource": "打ち込む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 4, @@ -3645,7 +3695,12 @@            "source": "打ち込む",            "rawSource": "打ち込む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 4, @@ -4059,7 +4114,12 @@            "source": "打ち込む",            "rawSource": "打ち込む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 4, @@ -4473,8 +4533,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -4781,8 +4846,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -5089,8 +5159,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -5397,8 +5472,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -5705,7 +5785,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 1, @@ -6011,7 +6096,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 2, @@ -6331,7 +6421,12 @@            "source": "画像",            "rawSource": "画像",            "sourceTerm": "画像", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 5, @@ -6485,7 +6580,12 @@            "source": "だ",            "rawSource": "だ",            "sourceTerm": "だ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 1, @@ -6796,7 +6896,12 @@            "source": "ダース",            "rawSource": "ダース",            "sourceTerm": "ダース", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 2, @@ -7116,7 +7221,12 @@            "source": "うつ",            "rawSource": "うつ",            "sourceTerm": "うつ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 3, @@ -7422,7 +7532,12 @@            "source": "うつ",            "rawSource": "うつ",            "sourceTerm": "うつ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 3, @@ -7733,7 +7848,12 @@            "source": "ぶつ",            "rawSource": "ぶつ",            "sourceTerm": "ぶつ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 3, @@ -8039,7 +8159,12 @@            "source": "ぶつ",            "rawSource": "ぶつ",            "sourceTerm": "ぶつ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 3, @@ -8350,7 +8475,12 @@            "source": "うちこむ",            "rawSource": "うちこむ",            "sourceTerm": "うちこむ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 4, @@ -8764,7 +8894,12 @@            "source": "うちこむ",            "rawSource": "うちこむ",            "sourceTerm": "うちこむ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 4, @@ -9178,8 +9313,13 @@            "source": "うち",            "rawSource": "うち",            "sourceTerm": "うつ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -9486,8 +9626,13 @@            "source": "うち",            "rawSource": "うち",            "sourceTerm": "うつ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -9799,7 +9944,12 @@            "source": "ぶちこむ",            "rawSource": "ぶちこむ",            "sourceTerm": "ぶちこむ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 4, @@ -10213,7 +10363,12 @@            "source": "ぶちこむ",            "rawSource": "ぶちこむ",            "sourceTerm": "ぶちこむ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 4, @@ -10627,8 +10782,13 @@            "source": "ぶち",            "rawSource": "ぶち",            "sourceTerm": "ぶつ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -10935,8 +11095,13 @@            "source": "ぶち",            "rawSource": "ぶち",            "sourceTerm": "ぶつ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -11248,7 +11413,12 @@            "source": "がぞう",            "rawSource": "がぞう",            "sourceTerm": "がぞう", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 5, @@ -11413,7 +11583,12 @@            "source": "打ち込む",            "rawSource": "打ち込む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "sequence": 4,            "dictionary": "Test Dictionary 2", @@ -11850,7 +12025,12 @@            "source": "打ち込む",            "rawSource": "打ち込む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "sequence": 4,            "dictionary": "Test Dictionary 2", @@ -12287,8 +12467,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "sequence": 3, @@ -12626,8 +12811,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "sequence": 3, @@ -12965,7 +13155,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "sequence": 1,            "dictionary": "Test Dictionary 2", @@ -13269,7 +13464,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "sequence": 2,            "dictionary": "Test Dictionary 2", @@ -13586,7 +13786,12 @@            "type": "termMerged",            "source": "打ち込む",            "rawSource": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "sequence": 4,            "dictionary": "Test Dictionary 2", @@ -14351,8 +14556,13 @@            "type": "termMerged",            "source": "打ち",            "rawSource": "打ち", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "sequence": 3, @@ -14923,7 +15133,12 @@            "type": "termMerged",            "source": "打",            "rawSource": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "sequence": 1,            "dictionary": "Test Dictionary 2", @@ -15220,7 +15435,12 @@            "type": "termMerged",            "source": "打",            "rawSource": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "sequence": 2,            "dictionary": "Test Dictionary 2", @@ -15533,10 +15753,15 @@            "source": "打ち込んでいませんでした",            "rawSource": "打ち込んでいませんでした",            "sourceTerm": "打ち込む", -          "reasons": [ -            "-te", -            "progressive or perfect", -            "polite past negative" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "-te", +                "progressive or perfect", +                "polite past negative" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -15951,10 +16176,15 @@            "source": "打ち込んでいませんでした",            "rawSource": "打ち込んでいませんでした",            "sourceTerm": "打ち込む", -          "reasons": [ -            "-te", -            "progressive or perfect", -            "polite past negative" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "-te", +                "progressive or perfect", +                "polite past negative" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -16369,10 +16599,15 @@            "source": "打ち込んでいませんでした",            "rawSource": "打ち込んでいませんでした",            "sourceTerm": "打ち込む", -          "reasons": [ -            "-te", -            "progressive or perfect", -            "polite past negative" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "-te", +                "progressive or perfect", +                "polite past negative" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -16787,10 +17022,15 @@            "source": "打ち込んでいませんでした",            "rawSource": "打ち込んでいませんでした",            "sourceTerm": "打ち込む", -          "reasons": [ -            "-te", -            "progressive or perfect", -            "polite past negative" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "-te", +                "progressive or perfect", +                "polite past negative" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -17205,8 +17445,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -17513,8 +17758,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -17821,8 +18071,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -18129,8 +18384,13 @@            "source": "打ち",            "rawSource": "打ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -18437,7 +18697,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 1, @@ -18743,7 +19008,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 2, @@ -19063,7 +19333,12 @@            "source": "打ち込む",            "rawSource": "打(う)ち込(こ)む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 4, @@ -19477,7 +19752,12 @@            "source": "打ち込む",            "rawSource": "打(う)ち込(こ)む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 4, @@ -19891,7 +20171,12 @@            "source": "打ち込む",            "rawSource": "打(う)ち込(こ)む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 4, @@ -20305,7 +20590,12 @@            "source": "打ち込む",            "rawSource": "打(う)ち込(こ)む",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 4, @@ -20719,8 +21009,13 @@            "source": "打ち",            "rawSource": "打(う)ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -21027,8 +21322,13 @@            "source": "打ち",            "rawSource": "打(う)ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -21335,8 +21635,13 @@            "source": "打ち",            "rawSource": "打(う)ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -21643,8 +21948,13 @@            "source": "打ち",            "rawSource": "打(う)ち",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -21951,7 +22261,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 1, @@ -22257,7 +22572,12 @@            "source": "打",            "rawSource": "打",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 2, @@ -22577,7 +22897,12 @@            "source": "打ち込む",            "rawSource": "(打)(ち)(込)(む)",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 4, @@ -22991,7 +23316,12 @@            "source": "打ち込む",            "rawSource": "(打)(ち)(込)(む)",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "isPrimary": true,            "sequence": 4, @@ -23405,7 +23735,12 @@            "source": "打ち込む",            "rawSource": "(打)(ち)(込)(む)",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 4, @@ -23819,7 +24154,12 @@            "source": "打ち込む",            "rawSource": "(打)(ち)(込)(む)",            "sourceTerm": "打ち込む", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 4, @@ -24233,8 +24573,13 @@            "source": "打ち",            "rawSource": "(打)(ち)",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -24541,8 +24886,13 @@            "source": "打ち",            "rawSource": "(打)(ち)",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "isPrimary": true, @@ -24849,8 +25199,13 @@            "source": "打ち",            "rawSource": "(打)(ち)",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -25157,8 +25512,13 @@            "source": "打ち",            "rawSource": "(打)(ち)",            "sourceTerm": "打つ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 1,            "isPrimary": true, @@ -25465,7 +25825,12 @@            "source": "打",            "rawSource": "(打)",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 1, @@ -25771,7 +26136,12 @@            "source": "打",            "rawSource": "(打)",            "sourceTerm": "打", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 2, @@ -26091,8 +26461,13 @@            "source": "よみ",            "rawSource": "test",            "sourceTerm": "よむ", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 100,            "isPrimary": true, @@ -26245,7 +26620,12 @@            "source": "つよみ",            "rawSource": "つtest",            "sourceTerm": "つよみ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 90,            "isPrimary": true,            "sequence": 7, @@ -26397,8 +26777,13 @@            "source": "よみました",            "rawSource": "testました",            "sourceTerm": "よむ", -          "reasons": [ -            "polite past" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "polite past" +              ] +            }            ],            "score": 100,            "isPrimary": true, @@ -26549,7 +26934,12 @@            "type": "termMerged",            "source": "うちこむ",            "rawSource": "うちこむ", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 10,            "sequence": 4,            "dictionary": "Test Dictionary 2", @@ -27314,8 +27704,13 @@            "type": "termMerged",            "source": "うち",            "rawSource": "うち", -          "reasons": [ -            "masu stem" +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [ +                "masu stem" +              ] +            }            ],            "score": 10,            "sequence": 3, @@ -27893,7 +28288,12 @@            "source": "お手前",            "rawSource": "お手前",            "sourceTerm": "お手前", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 9, @@ -28221,7 +28621,12 @@            "source": "番号",            "rawSource": "番号",            "sourceTerm": "番号", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 10, @@ -28401,7 +28806,12 @@            "source": "中腰",            "rawSource": "中腰",            "sourceTerm": "中腰", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 11, @@ -28581,7 +28991,12 @@            "source": "所業",            "rawSource": "所業",            "sourceTerm": "所業", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 12, @@ -28761,7 +29176,12 @@            "source": "土木工事",            "rawSource": "土木工事",            "sourceTerm": "土木工事", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 13, @@ -28941,7 +29361,12 @@            "source": "好き",            "rawSource": "好き",            "sourceTerm": "好き", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 1,            "isPrimary": true,            "sequence": 14, @@ -29149,7 +29574,12 @@            "source": "構造",            "rawSource": "構造",            "sourceTerm": "構造", -          "reasons": [], +          "inflectionRuleChainCandidates": [ +            { +              "source": "algorithm", +              "inflectionRules": [] +            } +          ],            "score": 35,            "isPrimary": true,            "sequence": 101, @@ -29289,5 +29719,118 @@          "media": {}        }      ] +  }, +  { +    "name": "Test dictionary deinflection", +    "noteDataList": [ +      { +        "marker": "{marker}", +        "definition": { +          "type": "term", +          "id": 23, +          "source": "のたもうた", +          "rawSource": "のたもうた", +          "sourceTerm": "のたまう", +          "inflectionRuleChainCandidates": [ +            { +              "source": "both", +              "inflectionRules": [ +                "past" +              ] +            } +          ], +          "score": 1, +          "isPrimary": true, +          "sequence": 15, +          "dictionary": "Test Dictionary 2", +          "dictionaryOrder": { +            "index": 0, +            "priority": 0 +          }, +          "dictionaryNames": [ +            "Test Dictionary 2" +          ], +          "expression": "のたまう", +          "reading": "のたまう", +          "expressions": [ +            { +              "sourceTerm": "のたまう", +              "expression": "のたまう", +              "reading": "のたまう", +              "termTags": [], +              "frequencies": [], +              "pitches": [], +              "furiganaSegments": [ +                { +                  "text": "のたまう", +                  "furigana": "" +                } +              ], +              "termFrequency": "normal", +              "wordClasses": [ +                "v5" +              ] +            } +          ], +          "glossary": [ +            "notamau definition" +          ], +          "definitionTags": [ +            { +              "name": "v5", +              "category": "default", +              "notes": "", +              "order": 0, +              "score": 0, +              "dictionary": "Test Dictionary 2", +              "redundant": false +            } +          ], +          "termTags": [], +          "frequencies": [], +          "pitches": [], +          "phoneticTranscriptions": [], +          "sourceTermExactMatchCount": 1, +          "url": "url:", +          "cloze": { +            "sentence": "", +            "prefix": "", +            "body": "", +            "suffix": "" +          }, +          "furiganaSegments": [ +            { +              "text": "のたまう", +              "furigana": "" +            } +          ] +        }, +        "glossaryLayoutMode": "default", +        "compactTags": false, +        "group": false, +        "merge": false, +        "modeTermKanji": false, +        "modeTermKana": false, +        "modeKanji": false, +        "compactGlossaries": false, +        "uniqueExpressions": [ +          "のたまう" +        ], +        "uniqueReadings": [ +          "のたまう" +        ], +        "pitches": [], +        "pitchCount": 0, +        "phoneticTranscriptions": [], +        "context": { +          "query": "query", +          "fullQuery": "fullQuery", +          "document": { +            "title": "title" +          } +        }, +        "media": {} +      } +    ]    }  ]
\ No newline at end of file diff --git a/test/data/translator-test-results.json b/test/data/translator-test-results.json index 50d97775..4a81c552 100644 --- a/test/data/translator-test-results.json +++ b/test/data/translator-test-results.json @@ -291,7 +291,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -454,7 +459,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -636,7 +646,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -801,7 +816,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -966,7 +986,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -1131,7 +1156,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -1296,7 +1326,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -1459,7 +1494,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -1641,7 +1681,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -1830,7 +1875,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -2019,7 +2069,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -2208,7 +2263,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -2397,8 +2457,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -2564,8 +2629,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -2731,8 +2801,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -2898,8 +2973,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -3065,7 +3145,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -3228,7 +3313,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -3410,7 +3500,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -3523,7 +3618,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -3692,7 +3792,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -3874,7 +3979,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -4039,7 +4149,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -4210,7 +4325,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -4375,7 +4495,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -4546,7 +4671,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -4735,7 +4865,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -4924,8 +5059,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -5091,8 +5231,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -5264,7 +5409,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -5453,7 +5603,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -5642,8 +5797,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -5809,8 +5969,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -5982,7 +6147,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -6105,7 +6275,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -6162,7 +6337,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -6219,7 +6399,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -6276,7 +6461,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -6333,8 +6523,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -6392,8 +6587,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -6451,8 +6651,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -6510,8 +6715,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -6569,7 +6779,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -6626,7 +6841,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -6689,7 +6909,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -6926,7 +7151,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -7163,8 +7393,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -7378,8 +7613,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -7593,7 +7833,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -7756,7 +8001,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -7938,7 +8188,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -8393,8 +8648,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -8803,7 +9063,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -8966,7 +9231,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -9148,10 +9418,15 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "-te", -          "progressive or perfect", -          "polite past negative" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "-te", +              "progressive or perfect", +              "polite past negative" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -9341,10 +9616,15 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "-te", -          "progressive or perfect", -          "polite past negative" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "-te", +              "progressive or perfect", +              "polite past negative" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -9534,10 +9814,15 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "-te", -          "progressive or perfect", -          "polite past negative" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "-te", +              "progressive or perfect", +              "polite past negative" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -9727,10 +10012,15 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "-te", -          "progressive or perfect", -          "polite past negative" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "-te", +              "progressive or perfect", +              "polite past negative" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -9920,8 +10210,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -10087,8 +10382,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -10254,8 +10554,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -10421,8 +10726,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -10588,7 +10898,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -10751,7 +11066,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -10933,7 +11253,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -11122,7 +11447,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -11311,7 +11641,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -11500,7 +11835,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -11689,8 +12029,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -11856,8 +12201,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -12023,8 +12373,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -12190,8 +12545,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -12357,7 +12717,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -12520,7 +12885,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -12702,7 +13072,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -12891,7 +13266,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -13080,7 +13460,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -13269,7 +13654,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -13458,8 +13848,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -13625,8 +14020,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -13792,8 +14192,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -13959,8 +14364,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 1,          "frequencyOrder": 0, @@ -14126,7 +14536,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -14289,7 +14704,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -14471,8 +14891,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 100,          "frequencyOrder": 0, @@ -14576,7 +15001,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 90,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -14679,8 +15109,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "polite past" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "polite past" +            ] +          }          ],          "score": 100,          "frequencyOrder": 0, @@ -14784,7 +15219,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 10,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -15239,8 +15679,13 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [ -          "masu stem" +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [ +              "masu stem" +            ] +          }          ],          "score": 10,          "frequencyOrder": 0, @@ -15655,7 +16100,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -15804,7 +16254,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -15899,7 +16354,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -15994,7 +16454,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -16089,7 +16554,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -16184,7 +16654,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 1,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -16296,7 +16771,12 @@        {          "type": "term",          "isPrimary": true, -        "inflections": [], +        "inflectionRuleChainCandidates": [ +          { +            "source": "algorithm", +            "inflectionRules": [] +          } +        ],          "score": 35,          "frequencyOrder": 0,          "dictionaryIndex": 0, @@ -16399,5 +16879,86 @@          "frequencies": []        }      ] +  }, +  { +    "name": "Test dictionary deinflection", +    "originalTextLength": 5, +    "dictionaryEntries": [ +      { +        "type": "term", +        "isPrimary": true, +        "inflectionRuleChainCandidates": [ +          { +            "source": "both", +            "inflectionRules": [ +              "past" +            ] +          } +        ], +        "score": 1, +        "frequencyOrder": 0, +        "dictionaryIndex": 0, +        "dictionaryPriority": 0, +        "sourceTermExactMatchCount": 1, +        "maxTransformedTextLength": 5, +        "headwords": [ +          { +            "index": 0, +            "term": "のたまう", +            "reading": "のたまう", +            "sources": [ +              { +                "originalText": "のたもうた", +                "transformedText": "のたもうた", +                "deinflectedText": "のたまう", +                "matchType": "exact", +                "matchSource": "term", +                "isPrimary": true +              } +            ], +            "tags": [], +            "wordClasses": [ +              "v5" +            ] +          } +        ], +        "definitions": [ +          { +            "index": 0, +            "headwordIndices": [ +              0 +            ], +            "dictionary": "Test Dictionary 2", +            "dictionaryIndex": 0, +            "dictionaryPriority": 0, +            "id": 23, +            "score": 1, +            "frequencyOrder": 0, +            "sequences": [ +              15 +            ], +            "isPrimary": true, +            "tags": [ +              { +                "name": "v5", +                "category": "default", +                "order": 0, +                "score": 0, +                "content": [], +                "dictionaries": [ +                  "Test Dictionary 2" +                ], +                "redundant": false +              } +            ], +            "entries": [ +              "notamau definition" +            ] +          } +        ], +        "pronunciations": [], +        "frequencies": [] +      } +    ]    }  ]
\ No newline at end of file diff --git a/test/options-util.test.js b/test/options-util.test.js index a34cc93a..26ccdd14 100644 --- a/test/options-util.test.js +++ b/test/options-util.test.js @@ -426,7 +426,8 @@ function createProfileOptionsUpdatedTestData1() {                  enabled: true,                  allowSecondarySearches: false,                  definitionsCollapsible: 'not-collapsible', -                partsOfSpeechFilter: true +                partsOfSpeechFilter: true, +                useDeinflections: true              }          ],          parsing: { @@ -603,7 +604,7 @@ function createOptionsUpdatedTestData1() {              }          ],          profileCurrent: 0, -        version: 23, +        version: 24,          global: {              database: {                  prefixWildcardsSupported: false |