office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
77 lines (75 loc) • 3.27 kB
JavaScript
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
define(["require", "exports", 'react', 'react-dom', './Layer', './LayerHost'], function (require, exports, React, ReactDOM, Layer_1, LayerHost_1) {
"use strict";
var expect = chai.expect;
describe('Layer', function () {
it('can render in a targeted LayerHost and pass context through', function () {
var Child = (function (_super) {
__extends(Child, _super);
function Child() {
_super.apply(this, arguments);
}
Child.prototype.render = function () {
return (React.createElement("div", {id: 'child'}, this.context.foo));
};
Child.contextTypes = {
foo: React.PropTypes.string.isRequired
};
return Child;
}(React.Component));
var Parent = (function (_super) {
__extends(Parent, _super);
function Parent() {
_super.apply(this, arguments);
}
Parent.prototype.getChildContext = function () {
return {
foo: 'foo'
};
};
Parent.prototype.render = function () {
return (React.createElement("div", {id: 'parent'},
React.createElement(Layer_1.Layer, {hostId: 'foo'},
React.createElement(Child, null)
)
));
};
Parent.childContextTypes = {
foo: React.PropTypes.string
};
return Parent;
}(React.Component));
var App = (function (_super) {
__extends(App, _super);
function App() {
_super.apply(this, arguments);
}
App.prototype.render = function () {
return (React.createElement("div", {id: 'app'},
React.createElement(Parent, null),
React.createElement(LayerHost_1.LayerHost, {id: 'foo'})));
};
return App;
}(React.Component));
var appElement = document.createElement('div');
try {
document.body.appendChild(appElement);
ReactDOM.render(React.createElement(App, null), appElement);
var parentElement = appElement.querySelector('#parent');
expect(parentElement).is.not.empty;
expect(parentElement.ownerDocument).is.not.empty;
var childElement = appElement.querySelector('#child');
expect(childElement.textContent).equals('foo');
}
finally {
ReactDOM.unmountComponentAtNode(appElement);
appElement.remove();
}
});
});
});
//# sourceMappingURL=Layer.test.js.map