diff --git a/test/japanese-util.test.js b/test/japanese-util.test.js index 12839e760..93522cab1 100644 --- a/test/japanese-util.test.js +++ b/test/japanese-util.test.js @@ -1067,3 +1067,161 @@ describe('combining dakuten/handakuten normalization', () => { expect(jp.normalizeCombiningCharacters(input)).toStrictEqual(expected); }); }); + +describe('cjk compatibility characters normalization', () => { + const testCases = [ + ['㌀', 'アパート'], + ['㌁', 'アルファ'], + ['㌂', 'アンペア'], + ['㌃', 'アール'], + ['㌄', 'イニング'], + ['㌅', 'インチ'], + ['㌆', 'ウォン'], + ['㌇', 'エスクード'], + ['㌈', 'エーカー'], + ['㌉', 'オンス'], + ['㌊', 'オーム'], + ['㌋', 'カイリ'], + ['㌌', 'カラット'], + ['㌍', 'カロリー'], + ['㌎', 'ガロン'], + ['㌏', 'ガンマ'], + ['㌐', 'ギガ'], + ['㌑', 'ギニー'], + ['㌒', 'キュリー'], + ['㌓', 'ギルダー'], + ['㌔', 'キロ'], + ['㌕', 'キログラム'], + ['㌖', 'キロメートル'], + ['㌗', 'キロワット'], + ['㌘', 'グラム'], + ['㌙', 'グラムトン'], + ['㌚', 'クルゼイロ'], + ['㌛', 'クローネ'], + ['㌜', 'ケース'], + ['㌝', 'コルナ'], + ['㌞', 'コーポ'], + ['㌟', 'サイクル'], + ['㌠', 'サンチーム'], + ['㌡', 'シリング'], + ['㌢', 'センチ'], + ['㌣', 'セント'], + ['㌤', 'ダース'], + ['㌥', 'デシ'], + ['㌦', 'ドル'], + ['㌧', 'トン'], + ['㌨', 'ナノ'], + ['㌩', 'ノット'], + ['㌪', 'ハイツ'], + ['㌫', 'パーセント'], + ['㌬', 'パーツ'], + ['㌭', 'バーレル'], + ['㌮', 'ピアストル'], + ['㌯', 'ピクル'], + ['㌰', 'ピコ'], + ['㌱', 'ビル'], + ['㌲', 'ファラッド'], + ['㌳', 'フィート'], + ['㌴', 'ブッシェル'], + ['㌵', 'フラン'], + ['㌶', 'ヘクタール'], + ['㌷', 'ペソ'], + ['㌸', 'ペニヒ'], + ['㌹', 'ヘルツ'], + ['㌺', 'ペンス'], + ['㌻', 'ページ'], + ['㌼', 'ベータ'], + ['㌽', 'ポイント'], + ['㌾', 'ボルト'], + ['㌿', 'ホン'], + ['㍀', 'ポンド'], + ['㍁', 'ホール'], + ['㍂', 'ホーン'], + ['㍃', 'マイクロ'], + ['㍄', 'マイル'], + ['㍅', 'マッハ'], + ['㍆', 'マルク'], + ['㍇', 'マンション'], + ['㍈', 'ミクロン'], + ['㍉', 'ミリ'], + ['㍊', 'ミリバール'], + ['㍋', 'メガ'], + ['㍌', 'メガトン'], + ['㍍', 'メートル'], + ['㍎', 'ヤード'], + ['㍏', 'ヤール'], + ['㍐', 'ユアン'], + ['㍑', 'リットル'], + ['㍒', 'リラ'], + ['㍓', 'ルピー'], + ['㍔', 'ルーブル'], + ['㍕', 'レム'], + ['㍖', 'レントゲン'], + ['㍗', 'ワット'], + ['㍘', '0点'], + ['㍙', '1点'], + ['㍚', '2点'], + ['㍛', '3点'], + ['㍜', '4点'], + ['㍝', '5点'], + ['㍞', '6点'], + ['㍟', '7点'], + ['㍠', '8点'], + ['㍡', '9点'], + ['㍢', '10点'], + ['㍣', '11点'], + ['㍤', '12点'], + ['㍥', '13点'], + ['㍦', '14点'], + ['㍧', '15点'], + ['㍨', '16点'], + ['㍩', '17点'], + ['㍪', '18点'], + ['㍫', '19点'], + ['㍬', '20点'], + ['㍭', '21点'], + ['㍮', '22点'], + ['㍯', '23点'], + ['㍰', '24点'], + ['㍻', '平成'], + ['㍼', '昭和'], + ['㍽', '大正'], + ['㍾', '明治'], + ['㍿', '株式会社'], + ['㏠', '1日'], + ['㏡', '2日'], + ['㏢', '3日'], + ['㏣', '4日'], + ['㏤', '5日'], + ['㏥', '6日'], + ['㏦', '7日'], + ['㏧', '8日'], + ['㏨', '9日'], + ['㏩', '10日'], + ['㏪', '11日'], + ['㏫', '12日'], + ['㏬', '13日'], + ['㏭', '14日'], + ['㏮', '15日'], + ['㏯', '16日'], + ['㏰', '17日'], + ['㏱', '18日'], + ['㏲', '19日'], + ['㏳', '20日'], + ['㏴', '21日'], + ['㏵', '22日'], + ['㏶', '23日'], + ['㏷', '24日'], + ['㏸', '25日'], + ['㏹', '26日'], + ['㏺', '27日'], + ['㏻', '28日'], + ['㏼', '29日'], + ['㏽', '30日'], + ['㏾', '31日'], + ]; + + test.each(testCases)('%s normalizes to %s', (input, expected) => { + expect(jp.normalizeCJKCompatibilityCharacters(input)).toStrictEqual(expected); + }); +});