diff --git a/contributors.yml b/contributors.yml index 205fe06b05..1f2681fc79 100644 --- a/contributors.yml +++ b/contributors.yml @@ -19,6 +19,7 @@ - chensokheng - chrisngobanh - christopherchudzicki +- codeape2 - coryhouse - cvbuelow - david-crespo diff --git a/packages/react-router-dom/__tests__/link-href-test.tsx b/packages/react-router-dom/__tests__/link-href-test.tsx index 41cd6028ee..7081e4df82 100644 --- a/packages/react-router-dom/__tests__/link-href-test.tsx +++ b/packages/react-router-dom/__tests__/link-href-test.tsx @@ -1,18 +1,17 @@ import * as React from "react"; -import { createRoot } from "react-dom/client"; -import * as TestRenderer from "react-test-renderer"; import { - MemoryRouter, - Routes, - Route, - Link, - Outlet, BrowserRouter, HashRouter, - createBrowserRouter, + Link, + MemoryRouter, + Outlet, + Route, RouterProvider, + Routes, + createBrowserRouter, createHashRouter, } from "react-router-dom"; +import * as TestRenderer from "react-test-renderer"; describe(" href", () => { describe("in a static route", () => { @@ -692,87 +691,71 @@ describe(" href", () => { }); }); - it("inside a browser router", () => { - let node: HTMLDivElement = document.createElement("div"); - document.body.appendChild(node); - TestRenderer.act(() => { - createRoot(node).render( - - - Link} - /> - - + describe("when using a browser router", () => { + it("renders proper ", () => { + let renderer: TestRenderer.ReactTestRenderer; + TestRenderer.act(() => { + renderer = TestRenderer.create( + + + } /> + + + ); + }); + expect(renderer.root.findByType("a").props.href).toEqual( + "/path?search=value#hash" ); }); - expect(node.innerHTML).toMatchInlineSnapshot( - `"Link"` - ); - - document.body.removeChild(node); - node = null!; - }); - - it("inside a hash router", () => { - let node: HTMLDivElement = document.createElement("div"); - document.body.appendChild(node); - TestRenderer.act(() => { - createRoot(node).render( - - - Link} - /> - - + it("renders proper ", () => { + let renderer: TestRenderer.ReactTestRenderer; + TestRenderer.act(() => { + let router = createBrowserRouter([ + { + path: "/", + element: Link, + }, + ]); + renderer = TestRenderer.create(); + }); + expect(renderer.root.findByType("a").props.href).toEqual( + "/path?search=value#hash" ); }); - - expect(node.innerHTML).toMatchInlineSnapshot( - `"Link"` - ); - - document.body.removeChild(node); - node = null!; }); - it("inside a data browser router", () => { - let node: HTMLDivElement = document.createElement("div"); - document.body.appendChild(node); - TestRenderer.act(() => { - let router = createBrowserRouter([ - { path: "/", element: Link }, - ]); - createRoot(node).render(); + describe("when using a hash router", () => { + it("renders proper ", () => { + let renderer: TestRenderer.ReactTestRenderer; + TestRenderer.act(() => { + renderer = TestRenderer.create( + + + } /> + + + ); + }); + expect(renderer.root.findByType("a").props.href).toEqual( + "#/path?search=value#hash" + ); }); - expect(node.innerHTML).toMatchInlineSnapshot( - `"Link"` - ); - - document.body.removeChild(node); - node = null!; - }); - - it("inside a data hash router", () => { - let node: HTMLDivElement = document.createElement("div"); - document.body.appendChild(node); - TestRenderer.act(() => { - let router = createHashRouter([ - { path: "/", element: Link }, - ]); - createRoot(node).render(); + it("renders proper ", () => { + let renderer: TestRenderer.ReactTestRenderer; + TestRenderer.act(() => { + let router = createHashRouter([ + { + path: "/", + element: Link, + }, + ]); + renderer = TestRenderer.create(); + }); + expect(renderer.root.findByType("a").props.href).toEqual( + "#/path?search=value#hash" + ); }); - - expect(node.innerHTML).toMatchInlineSnapshot( - `"Link"` - ); - - document.body.removeChild(node); - node = null!; }); });