UNPKG

reshow-build

Version:
138 lines 4.76 kB
import _toConsumableArray from "reshow-runtime/es/helpers/toConsumableArray"; var _div, _div2, _div3, _div4, _div5, _div6, _div7, _div8, _div9, _div10, _div11, _div12, _i, _span, _span2, _span3; // @ts-check import * as React from "react"; var { Children } = React; import { expect } from "chai"; import { render } from "reshow-unit"; import build from "../index.mjs"; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; describe("Test build array", function () { it("test build aray without props", function () { var arr = [_div || (_div = /*#__PURE__*/_jsx("div", {})), _div2 || (_div2 = /*#__PURE__*/_jsx("div", {}))]; var wrap = render(build(arr)()); expect(wrap.html()).to.equal("<div></div><div></div>"); }); it("test with multi children", function () { var FakeDom = function FakeDom(_ref) { var { children } = _ref; return /*#__PURE__*/_jsx("div", { children: build(children)({ title: "foo" }) }); }; var vDom = /*#__PURE__*/_jsxs(FakeDom, { children: [null, _div3 || (_div3 = /*#__PURE__*/_jsx("div", { children: "1" })), _div4 || (_div4 = /*#__PURE__*/_jsx("div", { children: "2" }))] }); var wrap = render(vDom); expect(wrap.html()).to.equal('<div><div title="foo">1</div><div title="foo">2</div></div>'); }); it("test with multi function", function () { var FakeDom = function FakeDom(_ref2) { var { children } = _ref2; expect(Children.count(children)).to.equal(2); return /*#__PURE__*/_jsx("div", { children: build(children)({ foo: _div5 || (_div5 = /*#__PURE__*/_jsx("div", { children: "foo" })), bar: _div6 || (_div6 = /*#__PURE__*/_jsx("div", { children: "bar" })) }) }); }; var vDom = /*#__PURE__*/_jsxs(FakeDom, { children: [function (_ref3) { var { foo } = _ref3; return foo; }, _div7 || (_div7 = /*#__PURE__*/_jsx("div", {})), _div8 || (_div8 = /*#__PURE__*/_jsx("div", {})), function (_ref4) { var { bar } = _ref4; return bar; }] }); var wrap = render(vDom); expect(wrap.html()).to.equal('<div><div>foo</div><div foo="[object Object]" bar="[object Object]"></div><div foo="[object Object]" bar="[object Object]"></div><div>bar</div></div>'); }); it("test with multi Component instance", function () { var FakeDom = function FakeDom(_ref5) { var { children } = _ref5; expect(Children.count(children)).to.equal(2); return /*#__PURE__*/_jsx("div", { children: build(children)({ foo: _div9 || (_div9 = /*#__PURE__*/_jsx("div", { children: "foo" })), bar: _div10 || (_div10 = /*#__PURE__*/_jsx("div", { children: "bar" })) }) }); }; var A = function A(_ref6) { var { foo } = _ref6; return foo; }; var B = function B(_ref7) { var { bar } = _ref7; return bar; }; var vDom = /*#__PURE__*/_jsxs(FakeDom, { children: [A, _div11 || (_div11 = /*#__PURE__*/_jsx("div", {})), _div12 || (_div12 = /*#__PURE__*/_jsx("div", {})), B] }); var wrap = render(vDom); expect(wrap.html()).to.equal('<div><div>foo</div><div foo="[object Object]" bar="[object Object]"></div><div foo="[object Object]" bar="[object Object]"></div><div>bar</div></div>'); }); it("test with sub array", function () { /** * @param {{children?:any}} props */ var FakeDom = function FakeDom(_ref8) { var { children } = _ref8; var arr = [_i || (_i = /*#__PURE__*/_jsx("i", {}))].concat(_toConsumableArray(Children.map(children, function (c) { return c; }) || [])); return /*#__PURE__*/_jsx("div", { children: build(arr)({ "data-foo": "bar" }) }); }; var vDom = /*#__PURE__*/_jsxs(FakeDom, { children: [_span || (_span = /*#__PURE__*/_jsx("span", {})), _span2 || (_span2 = /*#__PURE__*/_jsx("span", {}))] }); var wrap = render(vDom); expect(wrap.html()).to.equal('<div><i data-foo="bar"></i><span data-foo="bar"></span><span data-foo="bar"></span></div>'); var vDom2 = /*#__PURE__*/_jsx(FakeDom, { children: _span3 || (_span3 = /*#__PURE__*/_jsx("span", {})) }); var wrap2 = render(vDom2); expect(wrap2.html()).to.equal('<div><i data-foo="bar"></i><span data-foo="bar"></span></div>'); var vDom3 = /*#__PURE__*/_jsx(FakeDom, {}); var wrap3 = render(vDom3); expect(wrap3.html()).to.equal('<div><i data-foo="bar"></i></div>'); }); });