import { test, assert } from "./test-utils.js"; import "./components.js"; test("editable-area renders", async (container) => { container.innerHTML = `Test 123`; const textarea = container.querySelector("textarea"); const display = container.querySelector("p"); await assert(() => textarea.value === "Test 123"); await assert(() => display.classList.contains("display")); await assert(() => display.innerHTML === "Test 123
"); }); test("editable-area updates on input", async (container) => { container.innerHTML = ``; const textarea = container.querySelector("textarea"); const display = container.querySelector("p"); let eventCalled = false; container.addEventListener("contentChange", () => { eventCalled = true; }); textarea.value = "Some new content\nwith a newline"; textarea.dispatchEvent( new Event("input", { bubbles: true, cancelable: true }), ); await assert(() => display.innerHTML === `Some new content
with a newline
`); await assert(() => eventCalled === true); }); test("editable-area respects readonly attribute", async (container) => { container.innerHTML = `Some text`; const textarea = container.querySelector("textarea"); await assert(() => textarea.disabled); });