diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/dictionary-validate.js | 3 | ||||
-rw-r--r-- | test/lint/global-declarations.js | 4 | ||||
-rw-r--r-- | test/schema-validate.js | 3 | ||||
-rw-r--r-- | test/test-database.js | 3 | ||||
-rw-r--r-- | test/test-dictionary.js | 3 | ||||
-rw-r--r-- | test/test-document.js | 3 | ||||
-rw-r--r-- | test/test-japanese.js | 57 | ||||
-rw-r--r-- | test/test-object-property-accessor.js | 3 | ||||
-rw-r--r-- | test/test-schema.js | 3 | ||||
-rw-r--r-- | test/test-text-source-map.js | 3 | ||||
-rw-r--r-- | test/yomichan-test.js | 3 | ||||
-rw-r--r-- | test/yomichan-vm.js | 3 |
12 files changed, 67 insertions, 24 deletions
diff --git a/test/dictionary-validate.js b/test/dictionary-validate.js index 6496f2ac..f1730852 100644 --- a/test/dictionary-validate.js +++ b/test/dictionary-validate.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/lint/global-declarations.js b/test/lint/global-declarations.js index 2629cc5e..07ba5570 100644 --- a/test/lint/global-declarations.js +++ b/test/lint/global-declarations.js @@ -1,6 +1,6 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors + * Author: Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/schema-validate.js b/test/schema-validate.js index eb31aa8d..761f0a1c 100644 --- a/test/schema-validate.js +++ b/test/schema-validate.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/test-database.js b/test/test-database.js index bab15aa4..d27f92e1 100644 --- a/test/test-database.js +++ b/test/test-database.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/test-dictionary.js b/test/test-dictionary.js index 74f9e62b..27cc90df 100644 --- a/test/test-dictionary.js +++ b/test/test-dictionary.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/test-document.js b/test/test-document.js index 80b9719d..0d9026db 100644 --- a/test/test-document.js +++ b/test/test-document.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/test-japanese.js b/test/test-japanese.js index ca65dde2..89e41c36 100644 --- a/test/test-japanese.js +++ b/test/test-japanese.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -394,6 +393,59 @@ 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], ['すごい', [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]]], + [['っ', 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') { + assert.ok(sourceMap.equals(new TextSourceMap(text, expectedSourceMapping))); + } + } +} + function testIsMoraPitchHigh() { const data = [ [[0, 0], false], @@ -463,6 +515,7 @@ function main() { testConvertAlphabeticToKana(); testDistributeFurigana(); testDistributeFuriganaInflected(); + testCollapseEmphaticSequences(); testIsMoraPitchHigh(); testGetKanaMorae(); } diff --git a/test/test-object-property-accessor.js b/test/test-object-property-accessor.js index 47d2e451..0773ba6e 100644 --- a/test/test-object-property-accessor.js +++ b/test/test-object-property-accessor.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/test-schema.js b/test/test-schema.js index 5f9915fd..7620ab16 100644 --- a/test/test-schema.js +++ b/test/test-schema.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/test-text-source-map.js b/test/test-text-source-map.js index 25bd8fc2..f092de2c 100644 --- a/test/test-text-source-map.js +++ b/test/test-text-source-map.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/yomichan-test.js b/test/yomichan-test.js index 5fa7730b..3351ecdf 100644 --- a/test/yomichan-test.js +++ b/test/yomichan-test.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/test/yomichan-vm.js b/test/yomichan-vm.js index ff478844..97faa03e 100644 --- a/test/yomichan-vm.js +++ b/test/yomichan-vm.js @@ -1,6 +1,5 @@ /* - * Copyright (C) 2020 Alex Yatskov <alex@foosoft.net> - * Author: Alex Yatskov <alex@foosoft.net> + * Copyright (C) 2020 Yomichan Authors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by |