From 70901db7c41d4e83a4faac31701cb916babddc45 Mon Sep 17 00:00:00 2001 From: bendtherules Date: Sat, 20 Jul 2019 19:28:38 +0530 Subject: [PATCH] Add testcase - travserse-basic-depth=5 --- test/sample-components/depth-5-simple.tsx | 16 +++++++++ test/traverse-basic.spec.tsx | 40 +++++++++++++++-------- 2 files changed, 43 insertions(+), 13 deletions(-) create mode 100644 test/sample-components/depth-5-simple.tsx diff --git a/test/sample-components/depth-5-simple.tsx b/test/sample-components/depth-5-simple.tsx new file mode 100644 index 0000000..5ee9538 --- /dev/null +++ b/test/sample-components/depth-5-simple.tsx @@ -0,0 +1,16 @@ +// import * as PropTypes from "prop-types"; +import * as React from "react"; + +class CDepth5 extends React.Component { + render() { + return ( +
+ + +
+
+ ); + } +} + +export default CDepth5; diff --git a/test/traverse-basic.spec.tsx b/test/traverse-basic.spec.tsx index 66bb161..455e1f3 100644 --- a/test/traverse-basic.spec.tsx +++ b/test/traverse-basic.spec.tsx @@ -7,10 +7,11 @@ import { traverse } from "../src"; import { mountAndGetRootNode } from "./utils/mount-in-enzyme"; import CDepth1 from "./sample-components/depth-1-simple"; import CDepth2 from "./sample-components/depth-2-simple"; +import CDepth5 from "./sample-components/depth-5-simple"; -describe("Basic traverse test", () => { +describe("traverse", () => { let container: HTMLDivElement; - + beforeEach(() => { container = document.body.appendChild(document.createElement("div")); }); @@ -19,21 +20,34 @@ describe("Basic traverse test", () => { document.body.removeChild(container); }); - it("should work for depth=1", () => { - const rootNode = mountAndGetRootNode(CDepth1, container); - const mockCallback = jest.fn(); + describe("basic", () => { + it("should work for depth=1", () => { + const rootNode = mountAndGetRootNode(CDepth1, container); + const mockCallback = jest.fn(); - traverse(rootNode, mockCallback); + traverse(rootNode, mockCallback); - expect(mockCallback.mock.calls.length).toBe(1); - }); + // Can't be zero, in any case + expect(mockCallback.mock.calls.length).not.toBe(0); + expect(mockCallback.mock.calls.length).toBe(1); + }); - it("should work for depth=2", () => { - const rootNode = mountAndGetRootNode(CDepth2, container); - const mockCallback = jest.fn(); + it("should work for depth=2", () => { + const rootNode = mountAndGetRootNode(CDepth2, container); + const mockCallback = jest.fn(); - traverse(rootNode, mockCallback); + traverse(rootNode, mockCallback); - expect(mockCallback.mock.calls.length).toBe(2); + expect(mockCallback.mock.calls.length).toBe(2); + }); + + it("should work for depth=5", () => { + const rootNode = mountAndGetRootNode(CDepth5, container); + const mockCallback = jest.fn(); + + traverse(rootNode, mockCallback); + + expect(mockCallback.mock.calls.length).toBe(5); + }); }); });