mirror of
https://github.com/littensy/charm.git
synced 2026-10-21 19:54:09 +00:00
test: use lute for tests
This commit is contained in:
parent
72b290219d
commit
a20ee3698a
47 changed files with 190 additions and 236 deletions
|
|
@ -1,11 +1,8 @@
|
|||
local Charm = require("../../Charm")
|
||||
local client = require("../client")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local test = suite.test
|
||||
local afterEach = suite.afterEach
|
||||
|
||||
afterEach(function()
|
||||
test.afterEach(function()
|
||||
client.removeAllSignals()
|
||||
end)
|
||||
|
||||
|
|
@ -2,12 +2,9 @@ local Charm = require("../../Charm")
|
|||
local client = require("../client")
|
||||
local config = require("../config")
|
||||
local server = require("../server")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local afterEach = suite.afterEach
|
||||
local test = suite.test
|
||||
|
||||
afterEach(function()
|
||||
test.afterEach(function()
|
||||
server.reset()
|
||||
client.removeAllSignals()
|
||||
config.preserveHistory = false
|
||||
23
packages/charm-sync/src/__tests__/init.luau
Normal file
23
packages/charm-sync/src/__tests__/init.luau
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
local test = require("../../../tests/test")
|
||||
|
||||
test.describe("client", function()
|
||||
require("@self/client.test")
|
||||
end)
|
||||
|
||||
test.describe("e2e", function()
|
||||
require("@self/e2e.test")
|
||||
end)
|
||||
|
||||
test.describe("utils", function()
|
||||
require("@self/utils.test")
|
||||
end)
|
||||
|
||||
test.describe("patch", function()
|
||||
require("@self/patch.test")
|
||||
end)
|
||||
|
||||
test.describe("server", function()
|
||||
require("@self/server.test")
|
||||
end)
|
||||
|
||||
return {}
|
||||
|
|
@ -1,9 +1,6 @@
|
|||
local config = require("../config")
|
||||
local patch = require("../patch")
|
||||
local suite = require("../../../../test/suite")
|
||||
|
||||
local test = suite.test
|
||||
local afterEach = suite.afterEach
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local function mockArraySerdes(object: {}): {}
|
||||
if object[1] then
|
||||
|
|
@ -23,7 +20,7 @@ local function mockArraySerdes(object: {}): {}
|
|||
end
|
||||
end
|
||||
|
||||
afterEach(function()
|
||||
test.afterEach(function()
|
||||
config.fixArrays = true
|
||||
config.validatePatches = true
|
||||
end)
|
||||
|
|
@ -2,14 +2,9 @@ local Charm = require("../../Charm")
|
|||
local config = require("../config")
|
||||
local patch = require("../patch")
|
||||
local server = require("../server")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local afterEach = suite.afterEach
|
||||
local beforeEach = suite.beforeEach
|
||||
local describe = suite.describe
|
||||
local test = suite.test
|
||||
|
||||
afterEach(function()
|
||||
test.afterEach(function()
|
||||
server.reset()
|
||||
end)
|
||||
|
||||
|
|
@ -252,12 +247,12 @@ test("should not send unchanged state", function()
|
|||
assert(#payloads == 0, "Expected no payloads to be sent for unchanged state")
|
||||
end)
|
||||
|
||||
describe("historical", function()
|
||||
beforeEach(function()
|
||||
test.describe("historical", function()
|
||||
test.beforeEach(function()
|
||||
config.preserveHistory = true
|
||||
end)
|
||||
|
||||
afterEach(function()
|
||||
test.afterEach(function()
|
||||
config.preserveHistory = false
|
||||
end)
|
||||
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
local suite = require("../../../../test/suite")
|
||||
|
||||
suite.describe("client", function()
|
||||
require("./client.spec")
|
||||
end)
|
||||
|
||||
suite.describe("e2e", function()
|
||||
require("./e2e.spec")
|
||||
end)
|
||||
|
||||
suite.describe("utils", function()
|
||||
require("./utils.spec")
|
||||
end)
|
||||
|
||||
suite.describe("patch", function()
|
||||
require("./patch.spec")
|
||||
end)
|
||||
|
||||
suite.describe("server", function()
|
||||
require("./server.spec")
|
||||
end)
|
||||
|
||||
return {}
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
local Charm = require("../../Charm")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
local utils = require("../utils")
|
||||
|
||||
local test = suite.test
|
||||
|
||||
test("should flatten functions", function()
|
||||
local input = {
|
||||
a = Charm.atom(0),
|
||||
|
|
@ -1,10 +1,9 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local computed = Charm.computed
|
||||
local effect = Charm.effect
|
||||
local signal = Charm.signal
|
||||
local test = suite.test
|
||||
|
||||
test("should correctly propagate changes through computed core", function()
|
||||
local src, setSrc = signal(0)
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local computed = Charm.computed
|
||||
local effect = Charm.effect
|
||||
|
|
@ -10,7 +10,6 @@ local recursive = Charm.recursive
|
|||
local setActiveSub = Charm.setActiveSub
|
||||
local signal = Charm.signal
|
||||
local startBatch = Charm.startBatch
|
||||
local test = suite.test
|
||||
|
||||
test("should clear subscriptions when untracked by all subscribers", function()
|
||||
local bRunTimes = 0
|
||||
|
|
@ -1,11 +1,10 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local effect = Charm.effect
|
||||
local effectScope = Charm.effectScope
|
||||
local signal = Charm.signal
|
||||
local onCleanup = Charm.onCleanup
|
||||
local test = suite.test
|
||||
|
||||
test("should not trigger after stop", function()
|
||||
local count, setCount = signal(1)
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
type ReactiveProxy<T = any> = Charm.ReactiveProxy<T>
|
||||
|
||||
|
|
@ -8,7 +8,6 @@ local computed = Charm.computed
|
|||
local effect = Charm.effect
|
||||
local effectScope = Charm.effectScope
|
||||
local reactive = Charm.reactive
|
||||
local test = suite.test
|
||||
|
||||
local function weakRef<T>(value: T): { value: T? }
|
||||
return setmetatable({ value = value }, { __mode = "v" }) :: any
|
||||
26
packages/charm/src/__tests__/init.luau
Normal file
26
packages/charm/src/__tests__/init.luau
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
local test = require("../../../tests/test")
|
||||
|
||||
local tests = {
|
||||
"computed",
|
||||
"effect",
|
||||
"effectScope",
|
||||
"gc",
|
||||
"listen",
|
||||
"mapped",
|
||||
"observe",
|
||||
"peek",
|
||||
"reactive",
|
||||
"signal",
|
||||
"subscribe",
|
||||
"topology",
|
||||
"trigger",
|
||||
"untracked",
|
||||
}
|
||||
|
||||
for _, name in tests do
|
||||
test.describe(name, function()
|
||||
(require)(`@self/{name}.test`)
|
||||
end)
|
||||
end
|
||||
|
||||
return {}
|
||||
|
|
@ -1,10 +1,9 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local signal = Charm.signal
|
||||
local listen = Charm.listen
|
||||
local effect = Charm.effect
|
||||
local test = suite.test
|
||||
|
||||
test("should listen to selector", function()
|
||||
local source, setSource = signal(0)
|
||||
|
|
@ -1,9 +1,8 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local signal = Charm.signal
|
||||
local mapped = Charm.mapped
|
||||
local test = suite.test
|
||||
|
||||
test("should map state", function()
|
||||
local src, setSrc = signal({ 1, 2, 3 })
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local signal = Charm.signal
|
||||
local computed = Charm.computed
|
||||
local effect = Charm.effect
|
||||
local effectScope = Charm.effectScope
|
||||
local observe = Charm.observe
|
||||
local test = suite.test
|
||||
|
||||
test("should observe items", function()
|
||||
local items, setItems = signal({ 0, 0, 0 })
|
||||
|
|
@ -1,11 +1,10 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local signal = Charm.signal
|
||||
local computed = Charm.computed
|
||||
local effect = Charm.effect
|
||||
local peek = Charm.peek
|
||||
local test = suite.test
|
||||
|
||||
test("should not run detached", function()
|
||||
local a, setA = signal(1)
|
||||
|
|
@ -1,10 +1,9 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local effect = Charm.effect
|
||||
local reactive = Charm.reactive
|
||||
local toRaw = Charm.toRaw
|
||||
local test = suite.test
|
||||
|
||||
test("should track nested properties", function()
|
||||
local src, setSrc = reactive({ a = { b = { c = 0 } } })
|
||||
|
|
@ -1,9 +1,8 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local signal = Charm.signal
|
||||
local effect = Charm.effect
|
||||
local test = suite.test
|
||||
|
||||
test("should accept equality function", function()
|
||||
local calls = {}
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
local suite = require("../../../../test/suite")
|
||||
|
||||
suite.describe("computed", function()
|
||||
require("./computed.spec")
|
||||
end)
|
||||
suite.describe("effect", function()
|
||||
require("./effect.spec")
|
||||
end)
|
||||
suite.describe("effectScope", function()
|
||||
require("./effectScope.spec")
|
||||
end)
|
||||
suite.describe("gc", function()
|
||||
require("./gc.spec")
|
||||
end)
|
||||
suite.describe("listen", function()
|
||||
require("./listen.spec")
|
||||
end)
|
||||
suite.describe("mapped", function()
|
||||
require("./mapped.spec")
|
||||
end)
|
||||
suite.describe("observe", function()
|
||||
require("./observe.spec")
|
||||
end)
|
||||
suite.describe("peek", function()
|
||||
require("./peek.spec")
|
||||
end)
|
||||
suite.describe("reactive", function()
|
||||
require("./reactive.spec")
|
||||
end)
|
||||
suite.describe("signal", function()
|
||||
require("./signal.spec")
|
||||
end)
|
||||
suite.describe("subscribe", function()
|
||||
require("./subscribe.spec")
|
||||
end)
|
||||
suite.describe("topology", function()
|
||||
require("./topology.spec")
|
||||
end)
|
||||
suite.describe("trigger", function()
|
||||
require("./trigger.spec")
|
||||
end)
|
||||
suite.describe("untracked", function()
|
||||
require("./untracked.spec")
|
||||
end)
|
||||
|
||||
return {}
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local signal = Charm.signal
|
||||
local computed = Charm.computed
|
||||
local subscribe = Charm.subscribe
|
||||
local listen = Charm.listen
|
||||
local effect = Charm.effect
|
||||
local test = suite.test
|
||||
|
||||
test("should subscribe to selector", function()
|
||||
local source, setSource = signal(0)
|
||||
|
|
@ -1,11 +1,9 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local atom = Charm.atom
|
||||
local computed = Charm.computed
|
||||
local effect = Charm.effect
|
||||
local describe = suite.describe
|
||||
local test = suite.test
|
||||
|
||||
--[[
|
||||
Tests adopted with thanks from preact-core implementation at
|
||||
|
|
@ -34,7 +32,7 @@ local test = suite.test
|
|||
SOFTWARE
|
||||
]]
|
||||
|
||||
describe("graph updates", function()
|
||||
test.describe("graph updates", function()
|
||||
test("should drop A->B->A updates", function()
|
||||
-- A
|
||||
-- / |
|
||||
|
|
@ -441,7 +439,7 @@ describe("graph updates", function()
|
|||
end)
|
||||
end)
|
||||
|
||||
describe("error handling", function()
|
||||
test.describe("error handling", function()
|
||||
test("should keep graph consistent on errors during activation", function()
|
||||
local a = atom(0)
|
||||
local b = computed(function()
|
||||
|
|
@ -1,20 +1,17 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local computed = Charm.computed
|
||||
local effect = Charm.effect
|
||||
local signal = Charm.signal
|
||||
local subscribe = Charm.subscribe
|
||||
local trigger = Charm.trigger
|
||||
local test = suite.test
|
||||
local beforeEach = suite.beforeEach
|
||||
local afterEach = suite.afterEach
|
||||
|
||||
beforeEach(function()
|
||||
test.beforeEach(function()
|
||||
Charm.flags.frozen = false
|
||||
end)
|
||||
|
||||
afterEach(function()
|
||||
test.afterEach(function()
|
||||
Charm.flags.frozen = true
|
||||
end)
|
||||
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
local Charm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
local signal = Charm.signal
|
||||
local computed = Charm.computed
|
||||
local effect = Charm.effect
|
||||
local effectScope = Charm.effectScope
|
||||
local untracked = Charm.untracked
|
||||
local test = suite.test
|
||||
|
||||
test("should run detached from effect", function()
|
||||
local a, setA = signal(1)
|
||||
11
packages/react-charm/src/__tests__/init.luau
Normal file
11
packages/react-charm/src/__tests__/init.luau
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local test = require("../../../tests/test")
|
||||
|
||||
test.describe("useSignalState", function()
|
||||
require("@self/useSignalState.test")
|
||||
end)
|
||||
|
||||
test.describe("useSignalBinding", function()
|
||||
require("@self/useSignalBinding.test")
|
||||
end)
|
||||
|
||||
return {}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
local suite = require("../../../../test/suite")
|
||||
|
||||
suite.describe("useSignalState", function()
|
||||
require("./useSignalState.spec")
|
||||
end)
|
||||
|
||||
suite.describe("useSignalBinding", function()
|
||||
require("./useSignalBinding.spec")
|
||||
end)
|
||||
|
||||
return {}
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
local Charm = require("../../Charm")
|
||||
local ReactCharm = require("../")
|
||||
local renderHook = require("./helpers/renderHook")
|
||||
local suite = require("../../../../test/suite")
|
||||
|
||||
local test = suite.test
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
test("tracks signal state", function()
|
||||
local getState, setState = Charm.signal(0)
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
local Charm = require("../../Charm")
|
||||
local ReactCharm = require("../")
|
||||
local renderHook = require("./helpers/renderHook")
|
||||
local suite = require("../../../../test/suite")
|
||||
|
||||
local test = suite.test
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
test("tracks signal state", function()
|
||||
local getState, setState = Charm.signal(0)
|
||||
7
packages/vide-charm/src/__tests__/init.luau
Normal file
7
packages/vide-charm/src/__tests__/init.luau
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
local test = require("../../../tests/test")
|
||||
|
||||
test.describe("useSignalState", function()
|
||||
require("@self/useSignalState.test")
|
||||
end)
|
||||
|
||||
return {}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
local suite = require("../../../../test/suite")
|
||||
|
||||
suite.describe("useSignalState", function()
|
||||
require("./useSignalState.spec")
|
||||
end)
|
||||
|
||||
return {}
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
local Charm = require("../../Charm")
|
||||
local Vide = require("../../Vide")
|
||||
local VideCharm = require("../")
|
||||
local suite = require("../../../../test/suite")
|
||||
|
||||
local test = suite.test
|
||||
local test = require("../../../../tests/test")
|
||||
|
||||
test("tracks signal state", function()
|
||||
local getState, setState = Charm.signal(0)
|
||||
Loading…
Add table
Add a link
Reference in a new issue