mirror of
https://github.com/TextPlace/CoreTextPlace.git
synced 2025-04-30 12:41:10 +00:00
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import {
|
||
assertEquals,
|
||
assertThrows,
|
||
} from "https://deno.land/std@0.224.0/assert/mod.ts";
|
||
|
||
import { getCharacterWidth } from "../mod.ts";
|
||
|
||
Deno.test("getCharacterWidth ASCII", () => {
|
||
assertEquals(getCharacterWidth("a"), 1);
|
||
assertEquals(getCharacterWidth("A"), 1);
|
||
assertEquals(getCharacterWidth("1"), 1);
|
||
assertEquals(getCharacterWidth("@"), 1);
|
||
assertEquals(getCharacterWidth(" "), 1);
|
||
|
||
assertThrows(() => getCharacterWidth(""));
|
||
assertThrows(() => getCharacterWidth("ab"));
|
||
});
|
||
|
||
Deno.test("getCharacterWidth CJK", () => {
|
||
assertEquals(getCharacterWidth("你"), 2);
|
||
assertEquals(getCharacterWidth("好"), 2);
|
||
assertEquals(getCharacterWidth("吗"), 2);
|
||
|
||
assertEquals(getCharacterWidth("ガ"), 2);
|
||
assertEquals(getCharacterWidth("ギ"), 2);
|
||
assertEquals(getCharacterWidth("グ"), 2);
|
||
assertEquals(getCharacterWidth("ソ"), 2);
|
||
|
||
assertEquals(getCharacterWidth("?"), 2);
|
||
assertEquals(getCharacterWidth("!"), 2);
|
||
assertThrows(() => getCharacterWidth("你好"));
|
||
assertThrows(() => getCharacterWidth("ヨスガノ"));
|
||
});
|
||
|
||
Deno.test("getCharacterWidth previously faulty cases", () => {
|
||
assertEquals(getCharacterWidth("𤲶"), 2);
|
||
});
|