mirror of
https://github.com/TextPlace/CoreTextPlace.git
synced 2025-07-09 05:05:34 +00:00
initial version
This commit is contained in:
commit
6dfe7129c4
15 changed files with 614 additions and 0 deletions
39
tests/character.test.ts
Normal file
39
tests/character.test.ts
Normal file
|
@ -0,0 +1,39 @@
|
|||
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);
|
||||
|
||||
assertThrows(() => getCharacterWidth("?"));
|
||||
assertThrows(() => getCharacterWidth("!"));
|
||||
assertThrows(() => getCharacterWidth("你好"));
|
||||
assertThrows(() => getCharacterWidth("ヨスガノ"));
|
||||
});
|
||||
|
||||
Deno.test("getCharacterWidth previously faulty cases", () => {
|
||||
assertEquals(getCharacterWidth("𤲶"), 2);
|
||||
|
||||
assertThrows(() => getCharacterWidth("𤲶"[0]));
|
||||
});
|
53
tests/section.test.ts
Normal file
53
tests/section.test.ts
Normal file
|
@ -0,0 +1,53 @@
|
|||
import { assertEquals } from "https://deno.land/std@0.224.0/assert/mod.ts";
|
||||
|
||||
import { createSection } from "../logic/section.ts";
|
||||
|
||||
Deno.test("createSection", () => {
|
||||
const section = createSection(
|
||||
{ sx: 0, sy: 0 },
|
||||
{
|
||||
xSections: 2,
|
||||
ySections: 2,
|
||||
sectionWidth: 3,
|
||||
sectionHeight: 3,
|
||||
defaultCh: " ",
|
||||
defaultColor: "F",
|
||||
defaultBgColor: "0",
|
||||
defaultWidth: 1,
|
||||
}
|
||||
);
|
||||
|
||||
assertEquals(section.offsetX, 0);
|
||||
assertEquals(section.offsetY, 0);
|
||||
assertEquals(section.ch.length, 3);
|
||||
for (const row of section.ch) {
|
||||
assertEquals(row.length, 3);
|
||||
for (const ch of row) {
|
||||
assertEquals(ch, " ");
|
||||
}
|
||||
}
|
||||
|
||||
assertEquals(section.color.length, 3);
|
||||
for (const row of section.color) {
|
||||
assertEquals(row.length, 3);
|
||||
for (const color of row) {
|
||||
assertEquals(color, "F");
|
||||
}
|
||||
}
|
||||
|
||||
assertEquals(section.bgColor.length, 3);
|
||||
for (const row of section.bgColor) {
|
||||
assertEquals(row.length, 3);
|
||||
for (const bgColor of row) {
|
||||
assertEquals(bgColor, "0");
|
||||
}
|
||||
}
|
||||
|
||||
assertEquals(section.width.length, 3);
|
||||
for (const row of section.width) {
|
||||
assertEquals(row.length, 3);
|
||||
for (const width of row) {
|
||||
assertEquals(width, 1);
|
||||
}
|
||||
}
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue