Release v0.8.0

This commit is contained in:
Mario Zechner 2025-11-21 03:12:42 +01:00
parent cc88095140
commit 85adcf22bf
48 changed files with 1530 additions and 608 deletions

View file

@ -1,11 +1,12 @@
import assert from "node:assert";
import { describe, it } from "node:test";
import { Editor } from "../src/components/editor.js";
import { defaultEditorTheme } from "./test-themes.js";
describe("Editor component", () => {
describe("Unicode text editing behavior", () => {
it("inserts mixed ASCII, umlauts, and emojis as literal text", () => {
const editor = new Editor();
const editor = new Editor(defaultEditorTheme);
editor.handleInput("H");
editor.handleInput("e");
@ -24,7 +25,7 @@ describe("Editor component", () => {
});
it("deletes single-code-unit unicode characters (umlauts) with Backspace", () => {
const editor = new Editor();
const editor = new Editor(defaultEditorTheme);
editor.handleInput("ä");
editor.handleInput("ö");
@ -38,7 +39,7 @@ describe("Editor component", () => {
});
it("deletes multi-code-unit emojis with repeated Backspace", () => {
const editor = new Editor();
const editor = new Editor(defaultEditorTheme);
editor.handleInput("😀");
editor.handleInput("👍");
@ -52,7 +53,7 @@ describe("Editor component", () => {
});
it("inserts characters at the correct position after cursor movement over umlauts", () => {
const editor = new Editor();
const editor = new Editor(defaultEditorTheme);
editor.handleInput("ä");
editor.handleInput("ö");
@ -70,7 +71,7 @@ describe("Editor component", () => {
});
it("moves cursor in code units across multi-code-unit emojis before insertion", () => {
const editor = new Editor();
const editor = new Editor(defaultEditorTheme);
editor.handleInput("😀");
editor.handleInput("👍");
@ -92,7 +93,7 @@ describe("Editor component", () => {
});
it("preserves umlauts across line breaks", () => {
const editor = new Editor();
const editor = new Editor(defaultEditorTheme);
editor.handleInput("ä");
editor.handleInput("ö");
@ -107,7 +108,7 @@ describe("Editor component", () => {
});
it("replaces the entire document with unicode text via setText (paste simulation)", () => {
const editor = new Editor();
const editor = new Editor(defaultEditorTheme);
// Simulate bracketed paste / programmatic replacement
editor.setText("Hällö Wörld! 😀 äöüÄÖÜß");
@ -117,7 +118,7 @@ describe("Editor component", () => {
});
it("moves cursor to document start on Ctrl+A and inserts at the beginning", () => {
const editor = new Editor();
const editor = new Editor(defaultEditorTheme);
editor.handleInput("a");
editor.handleInput("b");