Skip to content

Commit 844fe52

Browse files
committed
Added a test for #56
1 parent 32dea84 commit 844fe52

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

test/index.spec.tsx

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* @jsxImportSource solid-js */
2-
import { createSignal, lazy } from "solid-js";
2+
import { createSignal, getOwner, lazy } from "solid-js";
33
import { hydrate, render, Show } from "solid-js/web";
44
import { MetaProvider, Title, Style, Meta, Link, Base } from "../src";
55
import { hydrationScript, removeScript } from "./hydration_script";
@@ -304,6 +304,30 @@ test("throws error if head tag is rendered without MetaProvider", () => {
304304
}).toThrowError(/<MetaProvider \/> should be in the tree/);
305305
});
306306

307+
test("doesn't create any effect on removal", () => {
308+
let div = document.createElement("div");
309+
310+
const [ show, setShow ] = createSignal(true);
311+
const showAndTest = () => {
312+
expect(getOwner()?.owner).toBeTruthy();
313+
return show();
314+
};
315+
316+
const dispose = render(
317+
() => (
318+
<MetaProvider>
319+
<Show when={show()}>
320+
<Title>Something {showAndTest()} that forces the Solid compiler to create a memo here</Title>
321+
</Show>
322+
</MetaProvider>
323+
),
324+
div
325+
);
326+
327+
setShow(false);
328+
dispose();
329+
});
330+
307331
test("Escaping the title tag", () => {
308332
let div = document.createElement("div");
309333
const snapshot = '<title>Hello&lt;/title&gt;&lt;script&gt;alert("inject");&lt;/script&gt;&lt;title&gt; World</title>';

0 commit comments

Comments
 (0)