import PropTypes from '../../lib/ReactPropTypes'; import ReactTestUtils from "../../lib/ReactTestUtils"; import React from '../../src/May'; import { render, unmountComponentAtNode, findDOMNode } from '../../src/may-dom/MayDom'; import {shallowCompare} from '../../src/PureComponent'; var ReactDOM = { render: render, unmountComponentAtNode: unmountComponentAtNode, findDOMNode: findDOMNode } React.render = render; // import React from "../../dist/ReactANU"; // var ReactDOM = React; // var ReactTestUtils = { // renderIntoDocument: function (element) { // var div = document.createElement("div"); // return React.render(element, div); // } // }; // https://github.com/facebook/react/blob/master/src/renderers/__tests__/EventPluginHub-test.js describe("ReactDOM", function () { // this.timeout(200000); it('allows a DOM element to be used with a string', () => { var element = React.createElement('div', { className: 'foo' }); var instance = ReactTestUtils.renderIntoDocument(element); expect(ReactDOM.findDOMNode(instance).tagName).toBe('DIV'); }); it('should allow children to be passed as an argument', () => { var argDiv = ReactTestUtils.renderIntoDocument( React.createElement('div', null, 'child'), ); var argNode = ReactDOM.findDOMNode(argDiv); expect(argNode.innerHTML).toBe('child'); }); it('should overwrite props.children with children argument', () => { var conflictDiv = ReactTestUtils.renderIntoDocument( React.createElement('div', { children: 'fakechild' }, 'child'), ); var conflictNode = ReactDOM.findDOMNode(conflictDiv); expect(conflictNode.innerHTML).toBe('child'); }); /** * We need to make sure that updates occur to the actual node that's in the * DOM, instead of a stale cache. */ it('should purge the DOM cache when removing nodes', () => { var myDiv = ReactTestUtils.renderIntoDocument(