Skip to content

Commit ea99dd6

Browse files
committed
add a failing test case
1 parent e4b2c66 commit ea99dd6

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

packages/solid/store/test/modifiers.spec.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,32 @@ describe("setState with reconcile", () => {
156156
setStore(reconcile({ value: { q: "aa" } }));
157157
expect(store.value).toEqual({ q: "aa" });
158158
});
159+
test("reconciles an object with an array", () => {
160+
const [store, setStore] = createStore<{ value: {} | [] }>({
161+
value: { foo: "bar" }
162+
});
163+
164+
const value = [0, 1, 2];
165+
setStore("value", reconcile(value));
166+
167+
expect(Array.isArray(store.value)).toBe(true);
168+
expect(store).toEqual({
169+
value: [0, 1, 2]
170+
});
171+
});
172+
173+
test("reconciles an array with an object", () => {
174+
const [store, setStore] = createStore<{ value: {} | [] }>({
175+
value: [0, 1, 2]
176+
});
177+
178+
const value = { foo: "bar" };
179+
setStore("value", reconcile(value));
180+
expect(Array.isArray(store.value)).toBe(false);
181+
expect(store).toEqual({
182+
value: { foo: "bar" }
183+
});
184+
});
159185
});
160186

161187
describe("setState with produce", () => {

0 commit comments

Comments
 (0)