[READ-ONLY] Mirror of https://github.com/sxzz/hanji. 一字之間,照見五地字形 hanji.sxzz.moe
chinese-characters cjk han hanja hanji hanzi kanji
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950import { expect, it } from 'vitest'import { parseCMap, partitionSignature } from '../scripts/cmap.ts'
it('expands cidrange blocks incrementally', () => { const map = parseCMap(`1 begincidrange<00004e00> <00004e02> 9506endcidrange`) expect(map.get(0x4e00)).toBe(9506) expect(map.get(0x4e01)).toBe(9507) expect(map.get(0x4e02)).toBe(9508) expect(map.get(0x4e03)).toBeUndefined()})
it('reads cidchar blocks', () => { const map = parseCMap(`1 begincidchar<00009aa8> 45129endcidchar`) expect(map.get(0x9aa8)).toBe(45129)})
it('lets cidchar override cidrange', () => { const map = parseCMap(`1 begincidrange<00000041> <0000005a> 100endcidrange1 begincidchar<00000042> 999endcidchar`) expect(map.get(0x41)).toBe(100) expect(map.get(0x42)).toBe(999)})
it.each([ [[1, 1, 1, 1], '0000'], [[1, 2, 3, 4], '0123'], [[1, 2, 2, 3], '0112'], [[1, 2, 3, 3], '0122'], [[1, 1, 2, 2], '0011'], [[1, 2, 1, 3], '0102'], [[1, 2, 3, 4, 5], '01234'], [[1, 2, 3, 2, 2], '01211'],])('signs partition %j as %s', (values, signature) => { expect(partitionSignature(values)).toBe(signature)})