first commit

This commit is contained in:
Stefan Hacker
2026-04-03 09:38:48 +02:00
commit 37ad745546
47450 changed files with 3120798 additions and 0 deletions
@@ -0,0 +1,47 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var react_1 = require("@testing-library/react");
var composeRenderFunction_1 = require("./composeRenderFunction");
var renderBase = function (props) {
return React.createElement("div", { "data-value": props.value });
};
var renderDecoratorA = function (props, defaultRender) {
if (!props) {
return null;
}
return React.createElement("div", { "data-a": "a" }, defaultRender ? defaultRender(props) : null);
};
var renderDecoratorB = function (props, defaultRender) {
if (!props) {
return null;
}
return React.createElement("div", { "data-b": "b" }, defaultRender ? defaultRender(props) : null);
};
describe('composeComponentAs', function () {
it('passes Base to DecoratorA', function () {
var renderDecoratorAWithBase = (0, composeRenderFunction_1.composeRenderFunction)(renderDecoratorA, renderBase);
var container = (0, react_1.render)(React.createElement(React.Fragment, null, renderDecoratorAWithBase({ value: 'test' }))).container;
expect(container.firstChild).toMatchSnapshot();
});
it('passes Base to DecoratorB through DecoratorA', function () {
var renderDecoratorAAndBWithBase = (0, composeRenderFunction_1.composeRenderFunction)(renderDecoratorA, (0, composeRenderFunction_1.composeRenderFunction)(renderDecoratorB, renderBase));
var container = (0, react_1.render)(React.createElement(React.Fragment, null, renderDecoratorAAndBWithBase({ value: 'test' }))).container;
expect(container.firstChild).toMatchSnapshot();
});
it('passes Base as defaultRender to DecoratorB through DecoratorA', function () {
var renderDecoratorAAroundB = (0, composeRenderFunction_1.composeRenderFunction)(renderDecoratorA, renderDecoratorB);
var container = (0, react_1.render)(React.createElement(React.Fragment, null, renderDecoratorAAroundB({ value: 'test' }, renderBase))).container;
expect(container.firstChild).toMatchSnapshot();
});
it('renders without defaultRender', function () {
var renderDecoratorAAroundB = (0, composeRenderFunction_1.composeRenderFunction)(renderDecoratorA, renderDecoratorB);
var container = (0, react_1.render)(React.createElement(React.Fragment, null, renderDecoratorAAroundB({ value: 'test' }))).container;
expect(container.firstChild).toMatchSnapshot();
});
it('avoids recomposing already-composed components', function () {
var renderDecoratorAAroundB = (0, composeRenderFunction_1.composeRenderFunction)(renderDecoratorA, renderDecoratorB);
expect((0, composeRenderFunction_1.composeRenderFunction)(renderDecoratorA, renderDecoratorB)).toBe(renderDecoratorAAroundB);
});
});
//# sourceMappingURL=composeRenderFunction.test.js.map