From fb87b1ad69b37e75d1e2e46c91235aa6b44c2980 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Fri, 10 Apr 2020 12:31:06 -0400 Subject: Add tests --- test/test-japanese.js | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'test') diff --git a/test/test-japanese.js b/test/test-japanese.js index ca65dde2..ac28a579 100644 --- a/test/test-japanese.js +++ b/test/test-japanese.js @@ -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() { const data = [ [[0, 0], false], @@ -463,6 +507,7 @@ function main() { testConvertAlphabeticToKana(); testDistributeFurigana(); testDistributeFuriganaInflected(); + testCollapseEmphaticSequences(); testIsMoraPitchHigh(); testGetKanaMorae(); } -- cgit v1.2.3 From 92f2466cfff40d47fb5e6350dae5d7ff82770973 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sat, 11 Apr 2020 16:53:29 -0400 Subject: Add tests, remove logs --- test/test-japanese.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/test-japanese.js b/test/test-japanese.js index ac28a579..b1bba9a7 100644 --- a/test/test-japanese.js +++ b/test/test-japanese.js @@ -414,6 +414,17 @@ function testCollapseEmphaticSequences() { [['っっっこい', false], ['っこい', [3, 1, 1]]], [['っっっこい', true], ['こい', [4, 1]]], + [['すごい', false], ['すごい', [1, 1, 1]]], + [['すごい', true], ['すごい', [1, 1, 1]]], + [['すごーい', false], ['すごーい', [1, 1, 1, 1]]], + [['すごーい', true], ['すごい', [1, 2, 1]]], + [['すごーーい', false], ['すごーい', [1, 1, 2, 1]]], + [['すごーーい', true], ['すごい', [1, 3, 1]]], + [['すっごーい', false], ['すっごーい', [1, 1, 1, 1, 1]]], + [['すっごーい', true], ['すごい', [2, 2, 1]]], + [['すっっごーーい', false], ['すっごーい', [1, 2, 1, 2, 1]]], + [['すっっごーーい', true], ['すごい', [3, 3, 1]]], + [['', false], ['', []]], [['', true], ['', []]], [['っ', false], ['っ', [1]]], @@ -431,8 +442,6 @@ function testCollapseEmphaticSequences() { 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))); } } -- cgit v1.2.3