Last active
December 12, 2016 23:25
-
-
Save badeball/da02773ccbc0e0b96a0c7ee4396a8ccd to your computer and use it in GitHub Desktop.
Rendering virtual component tree
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"scripts": { | |
"test": "mocha test.js" | |
}, | |
"dependencies": { | |
"mocha": "^3.2.0", | |
"react": "^15.4.1", | |
"react-addons-test-utils": "^15.4.1", | |
"react-dom": "^15.4.1", | |
"react-test-renderer": "^15.4.1", | |
"xpath-evaluator": "^2.0.1", | |
"xpath-react": "^4.0.0" | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var React = require("react"); | |
var ReactTestUtils = require('react-addons-test-utils'); | |
var ReactTestRenderer = require('react-test-renderer'); | |
var getHostComponentFromComposite = require('react-test-renderer/lib/getHostComponentFromComposite'); | |
var Assert = require("assert"); | |
var XPathUtils = require("xpath-react/utils"); | |
function Foo () { | |
return React.createElement(Bar); | |
} | |
function Bar () { | |
return React.createElement("span", {}, "Hello world!"); | |
} | |
describe("ReactTestUtils", function () { | |
it("should not be able to render sub component", function () { | |
var renderer = ReactTestUtils.createRenderer(); | |
renderer.render(React.createElement(Foo)); | |
var output = renderer.getRenderOutput(); | |
var result = XPathUtils.find(output, "count(.//span)"); | |
Assert.equal(result, 0); | |
}); | |
}); | |
describe("ReactTestRenderer", function () { | |
it("should be able to render sub component", function () { | |
var renderer = renderer = ReactTestRenderer.create( | |
React.createElement(Foo)); | |
var output = getHostComponentFromComposite(renderer._component)._currentElement; | |
var result = XPathUtils.find(output, "count(.//span)"); | |
Assert.equal(result, 1); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment