Repository URL to install this package:
|
Version:
1.2.20 ▾
|
"use strict";
var _react = _interopRequireWildcard(require("react"));
var _ = _interopRequireDefault(require("../"));
var _jsxFileName = "/Users/michaelfrohberg/Training/mono/packages/modules/SSR/async-bootstrapper/__tests__/asyncBootstrapper.js";
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function _interopRequireWildcard(obj) {
if (obj && obj.__esModule) {
return obj;
} else {
var newObj = {};
if (obj != null) {
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
if (desc.get || desc.set) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
}
newObj.default = obj;
return newObj;
}
}
describe('asyncBootstrapper()', () => {
let values = [];
let actualContext;
class DeprecatedAPI extends _react.Component {
asyncBootstrap() {
values.push(this.props.id);
return true;
}
render() {
return _react.default.createElement("div", {
__source: {
fileName: _jsxFileName,
lineNumber: 19
},
__self: this
}, this.props.children);
}
}
class NewAPI extends _react.Component {
bootstrap() {
values.push(this.props.id);
actualContext = this.context;
return true;
}
render() {
return _react.default.createElement("div", {
__source: {
fileName: _jsxFileName,
lineNumber: 31
},
__self: this
}, this.props.children);
}
}
const app = Foo => _react.default.createElement(Foo, {
id: 1,
__source: {
fileName: _jsxFileName,
lineNumber: 36
},
__self: void 0
}, _react.default.createElement("div", {
__source: {
fileName: _jsxFileName,
lineNumber: 37
},
__self: void 0
}, _react.default.createElement("h1", {
__source: {
fileName: _jsxFileName,
lineNumber: 38
},
__self: void 0
}, "Test")), _react.default.createElement(Foo, {
id: 2,
__source: {
fileName: _jsxFileName,
lineNumber: 40
},
__self: void 0
}, _react.default.createElement(Foo, {
id: 4,
__source: {
fileName: _jsxFileName,
lineNumber: 41
},
__self: void 0
})), _react.default.createElement(Foo, {
id: 3,
__source: {
fileName: _jsxFileName,
lineNumber: 43
},
__self: void 0
}));
beforeEach(() => {
values = [];
});
it('deprecated API', () => (0, _.default)(app(DeprecatedAPI)).then(() => expect(values).toEqual([1, 2, 4, 3])));
it('new API', () => (0, _.default)(app(NewAPI), null, {
bespokeContext: true
}).then(() => {
expect(values).toEqual([1, 2, 4, 3]);
expect(actualContext).toEqual({
bespokeContext: true,
reactAsyncBootstrapperRunning: true
});
}));
});