summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/dictionary-validate.js3
-rw-r--r--test/lint/global-declarations.js4
-rw-r--r--test/schema-validate.js3
-rw-r--r--test/test-database.js3
-rw-r--r--test/test-dictionary.js3
-rw-r--r--test/test-document.js3
-rw-r--r--test/test-japanese.js57
-rw-r--r--test/test-object-property-accessor.js3
-rw-r--r--test/test-schema.js3
-rw-r--r--test/test-text-source-map.js3
-rw-r--r--test/yomichan-test.js3
-rw-r--r--test/yomichan-vm.js3
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