Pop-up dictionary browser extension for language learning. Successor to Yomichan. (PERSONAL FORK)
at lambda-fork/main 37 lines 1.3 kB view raw
1/* 2 * Copyright (C) 2023-2025 Yomitan Authors 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <https://www.gnu.org/licenses/>. 16 */ 17 18import {describe, expect, test} from 'vitest'; 19import {normalizePinyin} from '../../ext/js/language/zh/chinese.js'; 20 21const tests = [ 22 ['rìwén', 'rìwén'], 23 ['Rì wén', 'rìwén'], 24 ['Wéi jī Bǎi kē', 'wéijībǎikē'], 25 ['wán:zhěng', 'wánzhěng'], 26 ['fān・yì', 'fānyì'], 27 ['fān//yì', 'fānyì'], 28 ['fān’yì', 'fānyì'], 29 ['fān\'yì', 'fānyì'], 30 ['fān-yì', 'fānyì'], 31]; 32 33describe('Normalize Pinyin', () => { 34 test.each(tests)('%s should normalize to %s', (a, b) => { 35 expect(normalizePinyin(a)).toStrictEqual(b); 36 }); 37});