diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/data/dictionaries/valid-dictionary1/tag_bank_3.json | 4 | ||||
| -rw-r--r-- | test/data/dictionaries/valid-dictionary1/term_meta_bank_1.json | 36 | ||||
| -rw-r--r-- | test/test-database.js | 9 | ||||
| -rw-r--r-- | test/test-japanese.js | 55 | 
4 files changed, 99 insertions, 5 deletions
| diff --git a/test/data/dictionaries/valid-dictionary1/tag_bank_3.json b/test/data/dictionaries/valid-dictionary1/tag_bank_3.json new file mode 100644 index 00000000..572221fe --- /dev/null +++ b/test/data/dictionaries/valid-dictionary1/tag_bank_3.json @@ -0,0 +1,4 @@ +[ +    ["ptag1", "pcategory1", 0, "ptag1 notes", 0], +    ["ptag2", "pcategory2", 0, "ptag2 notes", 0] +]
\ No newline at end of file diff --git a/test/data/dictionaries/valid-dictionary1/term_meta_bank_1.json b/test/data/dictionaries/valid-dictionary1/term_meta_bank_1.json index 78096502..26922394 100644 --- a/test/data/dictionaries/valid-dictionary1/term_meta_bank_1.json +++ b/test/data/dictionaries/valid-dictionary1/term_meta_bank_1.json @@ -1,5 +1,39 @@  [      ["打", "freq", 1],      ["打つ", "freq", 2], -    ["打ち込む", "freq", 3] +    ["打ち込む", "freq", 3], +    [ +        "打ち込む", +        "pitch", +        { +            "reading": "うちこむ", +            "pitches": [ +                {"position": 0}, +                {"position": 3} +            ] +        } +    ], +    [ +        "打ち込む", +        "pitch", +        { +            "reading": "ぶちこむ", +            "pitches": [ +                {"position": 0}, +                {"position": 3} +            ] +        } +    ], +    [ +        "お手前", +        "pitch", +        { +            "reading": "おてまえ", +            "pitches": [ +                {"position": 2, "tags": ["ptag1"]}, +                {"position": 2, "tags": ["ptag2"]}, +                {"position": 0, "tags": ["ptag2"]} +            ] +        } +    ]  ]
\ No newline at end of file diff --git a/test/test-database.js b/test/test-database.js index 833aa75d..dbd67257 100644 --- a/test/test-database.js +++ b/test/test-database.js @@ -231,8 +231,8 @@ async function testDatabase1() {              true          );          vm.assert.deepStrictEqual(counts, { -            counts: [{kanji: 2, kanjiMeta: 2, terms: 32, termMeta: 3, tagMeta: 12}], -            total: {kanji: 2, kanjiMeta: 2, terms: 32, termMeta: 3, tagMeta: 12} +            counts: [{kanji: 2, kanjiMeta: 2, terms: 32, termMeta: 6, tagMeta: 14}], +            total: {kanji: 2, kanjiMeta: 2, terms: 32, termMeta: 6, tagMeta: 14}          });          // Test find* functions @@ -648,9 +648,10 @@ async function testFindTermMetaBulk1(database, titles) {                  }              ],              expectedResults: { -                total: 1, +                total: 3,                  modes: [ -                    ['freq', 1] +                    ['freq', 1], +                    ['pitch', 2]                  ]              }          }, diff --git a/test/test-japanese.js b/test/test-japanese.js index c5d220e7..eab632bf 100644 --- a/test/test-japanese.js +++ b/test/test-japanese.js @@ -392,6 +392,59 @@ function testDistributeFuriganaInflected() {      }  } +function testIsMoraPitchHigh() { +    const data = [ +        [[0, 0], false], +        [[1, 0], true], +        [[2, 0], true], +        [[3, 0], true], + +        [[0, 1], true], +        [[1, 1], false], +        [[2, 1], false], +        [[3, 1], false], + +        [[0, 2], true], +        [[1, 2], true], +        [[2, 2], false], +        [[3, 2], false], + +        [[0, 3], true], +        [[1, 3], true], +        [[2, 3], true], +        [[3, 3], false], + +        [[0, 4], true], +        [[1, 4], true], +        [[2, 4], true], +        [[3, 4], true] +    ]; + +    for (const [[moraIndex, pitchAccentPosition], expected] of data) { +        const actual = jp.isMoraPitchHigh(moraIndex, pitchAccentPosition); +        assert.strictEqual(actual, expected); +    } +} + +function testGetKanaMorae() { +    const data = [ +        ['かこ', ['か', 'こ']], +        ['かっこ', ['か', 'っ', 'こ']], +        ['カコ', ['カ', 'コ']], +        ['カッコ', ['カ', 'ッ', 'コ']], +        ['コート', ['コ', 'ー', 'ト']], +        ['ちゃんと', ['ちゃ', 'ん', 'と']], +        ['とうきょう', ['と', 'う', 'きょ', 'う']], +        ['ぎゅう', ['ぎゅ', 'う']], +        ['ディスコ', ['ディ', 'ス', 'コ']] +    ]; + +    for (const [text, expected] of data) { +        const actual = jp.getKanaMorae(text); +        vm.assert.deepStrictEqual(actual, expected); +    } +} +  function main() {      testIsCodePointKanji(); @@ -408,6 +461,8 @@ function main() {      testConvertAlphabeticToKana();      testDistributeFurigana();      testDistributeFuriganaInflected(); +    testIsMoraPitchHigh(); +    testGetKanaMorae();  } |