Add tests
This commit is contained in:
parent
0b7791c103
commit
fb87b1ad69
@ -394,6 +394,50 @@ function testDistributeFuriganaInflected() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testCollapseEmphaticSequences() {
|
||||||
|
const data = [
|
||||||
|
[['かこい', false], ['かこい', [1, 1, 1]]],
|
||||||
|
[['かこい', true], ['かこい', [1, 1, 1]]],
|
||||||
|
[['かっこい', false], ['かっこい', [1, 1, 1, 1]]],
|
||||||
|
[['かっこい', true], ['かこい', [2, 1, 1]]],
|
||||||
|
[['かっっこい', false], ['かっこい', [1, 2, 1, 1]]],
|
||||||
|
[['かっっこい', true], ['かこい', [3, 1, 1]]],
|
||||||
|
[['かっっっこい', false], ['かっこい', [1, 3, 1, 1]]],
|
||||||
|
[['かっっっこい', true], ['かこい', [4, 1, 1]]],
|
||||||
|
|
||||||
|
[['こい', false], ['こい', [1, 1]]],
|
||||||
|
[['こい', true], ['こい', [1, 1]]],
|
||||||
|
[['っこい', false], ['っこい', [1, 1, 1]]],
|
||||||
|
[['っこい', true], ['こい', [2, 1]]],
|
||||||
|
[['っっこい', false], ['っこい', [2, 1, 1]]],
|
||||||
|
[['っっこい', true], ['こい', [3, 1]]],
|
||||||
|
[['っっっこい', false], ['っこい', [3, 1, 1]]],
|
||||||
|
[['っっっこい', true], ['こい', [4, 1]]],
|
||||||
|
|
||||||
|
[['', false], ['', []]],
|
||||||
|
[['', true], ['', []]],
|
||||||
|
[['っ', false], ['っ', [1]]],
|
||||||
|
[['っ', true], ['', [1]]],
|
||||||
|
[['っっ', false], ['っ', [2]]],
|
||||||
|
[['っっ', true], ['', [2]]],
|
||||||
|
[['っっっ', false], ['っ', [3]]],
|
||||||
|
[['っっっ', true], ['', [3]]]
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const [[text, fullCollapse], [expected, expectedSourceMapping]] of data) {
|
||||||
|
const sourceMap = new TextSourceMap(text);
|
||||||
|
const actual1 = jp.collapseEmphaticSequences(text, fullCollapse, null);
|
||||||
|
const actual2 = jp.collapseEmphaticSequences(text, fullCollapse, sourceMap);
|
||||||
|
assert.strictEqual(actual1, expected);
|
||||||
|
assert.strictEqual(actual2, expected);
|
||||||
|
if (typeof expectedSourceMapping !== 'undefined') {
|
||||||
|
console.log('actual', JSON.stringify(actual1), sourceMap);
|
||||||
|
console.log('expected', JSON.stringify(expected), new TextSourceMap(text, expectedSourceMapping));
|
||||||
|
assert.ok(sourceMap.equals(new TextSourceMap(text, expectedSourceMapping)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function testIsMoraPitchHigh() {
|
function testIsMoraPitchHigh() {
|
||||||
const data = [
|
const data = [
|
||||||
[[0, 0], false],
|
[[0, 0], false],
|
||||||
@ -463,6 +507,7 @@ function main() {
|
|||||||
testConvertAlphabeticToKana();
|
testConvertAlphabeticToKana();
|
||||||
testDistributeFurigana();
|
testDistributeFurigana();
|
||||||
testDistributeFuriganaInflected();
|
testDistributeFuriganaInflected();
|
||||||
|
testCollapseEmphaticSequences();
|
||||||
testIsMoraPitchHigh();
|
testIsMoraPitchHigh();
|
||||||
testGetKanaMorae();
|
testGetKanaMorae();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user