mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-10 02:08:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,67 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
"use strict";
|
||||
|
||||
let ReactDOM = require("devtools/client/shared/vendor/react-dom");
|
||||
let React = require("devtools/client/shared/vendor/react");
|
||||
var TestUtils = React.addons.TestUtils;
|
||||
|
||||
const actions = require("devtools/client/webconsole/new-console-output/actions/index");
|
||||
const { configureStore } = require("devtools/client/webconsole/new-console-output/store");
|
||||
const { IdGenerator } = require("devtools/client/webconsole/new-console-output/utils/id-generator");
|
||||
const { stubPackets } = require("devtools/client/webconsole/new-console-output/test/fixtures/stubs/index");
|
||||
|
||||
/**
|
||||
* Prepare actions for use in testing.
|
||||
*/
|
||||
function setupActions() {
|
||||
// Some actions use dependency injection. This helps them avoid using state in
|
||||
// a hard-to-test way. We need to inject stubbed versions of these dependencies.
|
||||
const wrappedActions = Object.assign({}, actions);
|
||||
|
||||
const idGenerator = new IdGenerator();
|
||||
wrappedActions.messageAdd = (packet) => {
|
||||
return actions.messageAdd(packet, idGenerator);
|
||||
};
|
||||
|
||||
return wrappedActions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare the store for use in testing.
|
||||
*/
|
||||
function setupStore(input) {
|
||||
const store = configureStore();
|
||||
|
||||
// Add the messages from the input commands to the store.
|
||||
input.forEach((cmd) => {
|
||||
store.dispatch(actions.messageAdd(stubPackets.get(cmd)));
|
||||
});
|
||||
|
||||
return store;
|
||||
}
|
||||
|
||||
function renderComponent(component, props) {
|
||||
const el = React.createElement(component, props, {});
|
||||
// By default, renderIntoDocument() won't work for stateless components, but
|
||||
// it will work if the stateless component is wrapped in a stateful one.
|
||||
// See https://github.com/facebook/react/issues/4839
|
||||
const wrappedEl = React.DOM.span({}, [el]);
|
||||
const renderedComponent = TestUtils.renderIntoDocument(wrappedEl);
|
||||
return ReactDOM.findDOMNode(renderedComponent).children[0];
|
||||
}
|
||||
|
||||
function shallowRenderComponent(component, props) {
|
||||
const el = React.createElement(component, props);
|
||||
const renderer = TestUtils.createRenderer();
|
||||
renderer.render(el, {});
|
||||
return renderer.getRenderOutput();
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
setupActions,
|
||||
setupStore,
|
||||
renderComponent,
|
||||
shallowRenderComponent
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue