import ReactTestUtils from "../../lib/ReactTestUtils"; import React from '../../src/May'; import { render, unmountComponentAtNode,findDOMNode } from '../../src/may-dom/MayDom' var ReactDOM = { render: render, unmountComponentAtNode: unmountComponentAtNode, findDOMNode:findDOMNode } React.render = render; // https://github.com/facebook/react/blob/master/src/renderers/__tests__/EventPluginHub-test.js describe("findDOMNode", function() { // this.timeout(200000); it("findDOMNode should find dom element", () => { class MyNode extends React.Component { render() { return
Noise
; } } var myNode = ReactTestUtils.renderIntoDocument(); var myDiv = ReactDOM.findDOMNode(myNode); var mySameDiv = ReactDOM.findDOMNode(myDiv); expect(myDiv.tagName).toBe("DIV"); expect(mySameDiv).toBe(myDiv); }); it("findDOMNode should find dom element after an update from null", () => { function Bar({flag}) { if (flag) { return A; } return null; } class MyNode extends React.Component { render() { return ; } } var container = document.createElement("div"); var myNodeA = ReactDOM.render(, container); var a = ReactDOM.findDOMNode(myNodeA); expect(a && a.nodeType).toBe(8); var myNodeB = ReactDOM.render(, container); expect(myNodeA === myNodeB).toBe(true); var b = ReactDOM.findDOMNode(myNodeB); expect(b.tagName).toBe("SPAN"); }); });