import "./test.js"; import "./chalk.js"; test("chalk", { basicTest() { const board = globalThis.chalk(); let didFire = false; board.when("test", (_) => didFire = true); board.msg("test"); assert(didFire, "Did not fire"); }, basicTest2() { const board = globalThis.chalk(); let didFire = false; board.when("test $x", (_) => { didFire = (_.x === "yo"); }) board.msg("test", "yo"); assert(didFire, "Did not fire"); }, joinTest(){ const board = chalk(); let didFire = false; board.when("test $a", "taste $a", (_) => { didFire = _.a == "yo"}) board.msg("test", "yo"); assert(!didFire, "Fired prematurely"); board.msg("taste", "ey"); assert(!didFire, "Fired prematurely"); board.msg("taste", "yo"); assert(didFire, "Did not fire when it should have"); }, keepTest() { const board = chalk(); let didFire = false; board.when("test $a?", "taste $a", (_) => { didFire = _.a == "yo"}) board.msg("test", "yo"); assert(!didFire, "Fired prematurely"); board.msg("taste", "ey"); assert(!didFire, "Fired prematurely"); board.msg("taste", "yo"); assert(didFire, "Did not fire when it should have"); assert(board._.messages.find((x) => x[0] === "test" && x[1] === "yo"), "Message was removed and shouldn't have been") }, negationTest(){ const board = chalk(); let didFire = false; board.when("test ~foo", (_) => { didFire = true}) board.msg("test", "foo"); assert(!didFire, "Fired prematurely"); board.msg("test", "yo"); assert(didFire, "Did not fire when it should have"); }, saturationTest() { const board = chalk(); let $aFired = false; let fooFired = false; board.when("test $a", (_) => { $aFired = true; }) board.when("test foo", (_) => { fooFired = true; }) board.msg("test", "foo"); assert($aFired && fooFired, "Two handlers should have fired"); } });