41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import { describe, it, afterEach } from "node:test";
|
|
import assert from "node:assert";
|
|
import { mkdirSync, writeFileSync, rmSync } from "fs";
|
|
import { join } from "path";
|
|
import { tmpdir } from "os";
|
|
import { startDevMode, stopDevMode } from "../../src/lib/plugins/devMode.ts";
|
|
|
|
describe("devMode", () => {
|
|
const testDir = join(tmpdir(), `devmode-test-${Date.now()}`);
|
|
|
|
afterEach(() => {
|
|
stopDevMode();
|
|
try { rmSync(testDir, { recursive: true, force: true }); } catch {}
|
|
});
|
|
|
|
it("startDevMode creates watcher without throwing", () => {
|
|
mkdirSync(testDir, { recursive: true });
|
|
let reloadCalled = false;
|
|
startDevMode(testDir, async () => { reloadCalled = true; });
|
|
// Watcher is active — no crash
|
|
assert.ok(true);
|
|
});
|
|
|
|
it("stopDevMode cleans up without throwing", () => {
|
|
mkdirSync(testDir, { recursive: true });
|
|
startDevMode(testDir, async () => {});
|
|
stopDevMode();
|
|
// Second stop is safe
|
|
stopDevMode();
|
|
assert.ok(true);
|
|
});
|
|
|
|
it("startDevMode is idempotent", () => {
|
|
mkdirSync(testDir, { recursive: true });
|
|
startDevMode(testDir, async () => {});
|
|
startDevMode(testDir, async () => {}); // Should not throw
|
|
stopDevMode();
|
|
assert.ok(true);
|
|
});
|
|
});
|