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");
});
});