charm/tests/charm-sync/flatten.spec.luau
littensy aff5f768bf build: remove project json files
Including Rojo project files in packages interferes with certain Wally packages that depend on roblox-ts packages
2025-03-09 15:02:17 -07:00

24 lines
643 B
Text

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Charm = require(ReplicatedStorage.DevPackages.charm)
local atom = Charm.atom
local CharmSync = require(ReplicatedStorage.DevPackages["charm-sync"])
local flatten = CharmSync.flatten
return function()
it("flattens atoms", function()
local input = {
a = atom(0),
b = { c = atom(0) },
d = { e = { f = atom(0) } },
}
local result = flatten(input)
expect(result.a).to.equal(input.a)
expect(result["b/c"]).to.equal(input.b.c)
expect(result["d/e/f"]).to.equal(input.d.e.f)
expect(result.b).to.never.be.ok()
expect(result.d).to.never.be.ok()
end)
end