Skip to content

Commit fa7a16c

Browse files
authored
Merge pull request #22 from solidjs/container-queries
bind queries to container, testing type fixes
2 parents 0d6e41f + bc12e4b commit fa7a16c

7 files changed

Lines changed: 23 additions & 5 deletions

File tree

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
},
1515
"license": "MIT",
1616
"author": "Ryan Carniato",
17+
"maintainers": ["Alex Lohr"],
1718
"homepage": "https://github.com/solidjs/solid-testing-library#readme",
1819
"repository": {
1920
"type": "git",
@@ -43,11 +44,12 @@
4344
"scripts": {
4445
"prepublishOnly": "npm run build",
4546
"build": "tsup src/index.ts --format esm,cjs --dts --clean",
47+
"typecheck": "tsc --noEmit; tsc --noEmit --project src/__tests__/tsconfig.json",
4648
"test": "vitest",
4749
"test:watch": "npm test --watch",
4850
"test:coverage": "npm test -- --coverage",
4951
"setup": "npm install && npm run validate",
50-
"validate": "npm run test:coverage && npm run build",
52+
"validate": "npm run typecheck && npm run test:coverage && npm run build",
5153
"report:coverage": "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage"
5254
},
5355
"dependencies": {

src/__tests__/basic.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,11 @@ test("calls to hydrate will run createEffects", () => {
6363

6464
expect(cb).toHaveBeenCalledTimes(1);
6565
});
66+
67+
test("queries should not return elements outside of the container", () => {
68+
const { container, getAllByText } = render(() => <div>Some text...</div>);
69+
const falseContainer = document.createElement("p");
70+
falseContainer.textContent = "Some text...";
71+
container.parentNode!.insertBefore(falseContainer, getAllByText("Some text...")[0].parentNode);
72+
expect(getAllByText("Some text...")[0] === container.childNodes[0]).toBe(true);
73+
});

src/__tests__/events.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Dynamic } from "solid-js/web";
22
import { render, fireEvent } from "..";
33
import userEvent from "@testing-library/user-event";
4+
import type { Mock } from "vitest";
45

56
const eventTypes = [
67
{
@@ -129,7 +130,7 @@ const eventTypes = [
129130
}
130131
];
131132

132-
function event(el: HTMLElement, name: string, spy: vi.Mock) {
133+
function event(el: HTMLElement, name: string, spy: Mock) {
133134
el.addEventListener(name, spy);
134135
}
135136

src/__tests__/stopwatch.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { screen, render } from "..";
55
function StopWatch() {
66
const [lapse, setLapse] = createSignal(0);
77
const [running, setRunning] = createSignal(false);
8-
let timer: number;
8+
let timer: ReturnType<typeof setInterval>;
99

1010
const handleRunClick = () => {
1111
if (running()) {

src/__tests__/tsconfig.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"extends": "../../tsconfig.json",
3+
"compilerOptions": {
4+
"types": ["vitest/globals", "@testing-library/jest-dom"]
5+
},
6+
"include": ["./*.tsx"]
7+
}

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ function render(ui: Ui, options: Options = {}): Result {
4545
// they're passing us a custom container or not.
4646
mountedContainers.add({ container, dispose });
4747

48-
const queryHelpers = getQueriesForElement(baseElement, queries)
48+
const queryHelpers = getQueriesForElement(container, queries)
4949

5050
return {
5151
container,

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
"outDir": "./dist",
1414
"module": "commonjs"
1515
},
16-
"include": ["src"],
16+
"include": ["src/index.ts", "src/types.ts"],
1717
}

0 commit comments

Comments
 (0)