UNPKG

adui

Version:

<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>

97 lines 16 kB
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } import React, { useState } from "react"; import TestRenderer from "react-test-renderer"; import { mount } from "enzyme"; import Checkbox from ".."; var CheckboxMounter = function CheckboxMounter() { var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), checked = _useState2[0], setChecked = _useState2[1]; return React.createElement(Checkbox, { checked: checked, onChange: function onChange(bool) { return setChecked(bool); } }); }; describe("Checkbox", function () { it("Checkbox 是否正确渲染", function () { var wrapper = TestRenderer.create(React.createElement(Checkbox, null, "children")); expect(wrapper).toMatchSnapshot(); }); it("Checkbox 是否能内部驱动", function () { var onChange = jest.fn(); var wrapper = mount(React.createElement(Checkbox, { onChange: onChange })); wrapper.find("label").at(0).simulate("click"); expect(onChange).toHaveBeenCalledWith(true); }); it("Checkbox 是否能受外部控制", function () { var onChange = jest.fn(); var wrapper0 = mount(React.createElement(Checkbox, { checked: false, onChange: onChange })); var wrapper1 = mount(React.createElement(Checkbox, { checked: true, onChange: onChange })); var wrapper2 = mount(React.createElement(CheckboxMounter, null)); var firstCheckbox = wrapper0.find("label").at(0); var secondCheckbox = wrapper1.find("label").at(0); var thirdCheckbox = wrapper2.find("label").at(0); firstCheckbox.simulate("click"); expect(onChange).toHaveBeenCalledWith(true); expect(wrapper0.find("label").at(0).props().className.includes("checked")).toEqual(false); secondCheckbox.simulate("click"); expect(onChange).toHaveBeenCalledWith(false); expect(wrapper1.find("label").at(0).props().className.includes("checked")).toEqual(true); thirdCheckbox.simulate("click"); expect(wrapper2.find("label").at(0).props().className.includes("checked")).toEqual(true); thirdCheckbox.simulate("click"); expect(wrapper2.find("label").at(0).props().className.includes("checked")).toEqual(false); }); it("Checkbox 禁用状态是否可用", function () { var onChange = jest.fn(); var wrapper0 = mount(React.createElement(Checkbox, { disabled: true, onChange: onChange })); var wrapper1 = mount(React.createElement(Checkbox.Group, { disabled: true, onChange: onChange }, React.createElement(Checkbox, null))); wrapper0.find("label").at(0).simulate("click"); expect(onChange).not.toHaveBeenCalled(); wrapper1.find("label").at(0).simulate("click"); expect(onChange).not.toHaveBeenCalled(); }); it("Checkbox 是否能响应 onClick", function () { var onClick = jest.fn(); var wrapper = mount(React.createElement(Checkbox, { onClick: onClick })); wrapper.find("label").at(0).simulate("click"); expect(onClick).toHaveBeenCalled(); }); it("Checkbox 是否能响应 enter", function () { var onChange = jest.fn(); var wrapper = mount(React.createElement(Checkbox, { onChange: onChange })); wrapper.find("label").at(0).simulate("keydown", { key: "enter", keyCode: 13 }); expect(wrapper.find("label").at(0).props().className.includes("checked")).toEqual(true); expect(onChange).toHaveBeenCalledWith(true); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiVGVzdFJlbmRlcmVyIiwibW91bnQiLCJDaGVja2JveCIsIkNoZWNrYm94TW91bnRlciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImNoZWNrZWQiLCJzZXRDaGVja2VkIiwiY3JlYXRlRWxlbWVudCIsIm9uQ2hhbmdlIiwiYm9vbCIsImRlc2NyaWJlIiwiaXQiLCJ3cmFwcGVyIiwiY3JlYXRlIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwiamVzdCIsImZuIiwiZmluZCIsImF0Iiwic2ltdWxhdGUiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsIndyYXBwZXIwIiwid3JhcHBlcjEiLCJ3cmFwcGVyMiIsImZpcnN0Q2hlY2tib3giLCJzZWNvbmRDaGVja2JveCIsInRoaXJkQ2hlY2tib3giLCJwcm9wcyIsImNsYXNzTmFtZSIsImluY2x1ZGVzIiwidG9FcXVhbCIsImRpc2FibGVkIiwiR3JvdXAiLCJub3QiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwib25DbGljayIsImtleSIsImtleUNvZGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2NoZWNrYm94L19fdGVzdHNfXy9jaGVja2JveC50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tIFwicmVhY3QtdGVzdC1yZW5kZXJlclwiXG5pbXBvcnQgeyBtb3VudCB9IGZyb20gXCJlbnp5bWVcIlxuaW1wb3J0IENoZWNrYm94IGZyb20gXCIuLlwiXG5cbmNvbnN0IENoZWNrYm94TW91bnRlciA9ICgpID0+IHtcbiAgY29uc3QgW2NoZWNrZWQsIHNldENoZWNrZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIHJldHVybiA8Q2hlY2tib3ggY2hlY2tlZD17Y2hlY2tlZH0gb25DaGFuZ2U9eyhib29sKSA9PiBzZXRDaGVja2VkKGJvb2wpfSAvPlxufVxuXG5kZXNjcmliZShcIkNoZWNrYm94XCIsICgpID0+IHtcbiAgaXQoXCJDaGVja2JveCDmmK/lkKbmraPnoa7muLLmn5NcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKDxDaGVja2JveD5jaGlsZHJlbjwvQ2hlY2tib3g+KVxuICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuXG4gIGl0KFwiQ2hlY2tib3gg5piv5ZCm6IO95YaF6YOo6amx5YqoXCIsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIgPSBtb3VudCg8Q2hlY2tib3ggb25DaGFuZ2U9e29uQ2hhbmdlfSAvPilcbiAgICB3cmFwcGVyLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlKVxuICB9KVxuXG4gIGl0KFwiQ2hlY2tib3gg5piv5ZCm6IO95Y+X5aSW6YOo5o6n5Yi2XCIsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIwID0gbW91bnQoPENoZWNrYm94IGNoZWNrZWQ9e2ZhbHNlfSBvbkNoYW5nZT17b25DaGFuZ2V9IC8+KVxuICAgIGNvbnN0IHdyYXBwZXIxID0gbW91bnQoPENoZWNrYm94IGNoZWNrZWQgb25DaGFuZ2U9e29uQ2hhbmdlfSAvPilcblxuICAgIGNvbnN0IHdyYXBwZXIyID0gbW91bnQoPENoZWNrYm94TW91bnRlciAvPilcbiAgICBjb25zdCBmaXJzdENoZWNrYm94ID0gd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApXG4gICAgY29uc3Qgc2Vjb25kQ2hlY2tib3ggPSB3cmFwcGVyMS5maW5kKFwibGFiZWxcIikuYXQoMClcbiAgICBjb25zdCB0aGlyZENoZWNrYm94ID0gd3JhcHBlcjIuZmluZChcImxhYmVsXCIpLmF0KDApXG4gICAgLyoqXG4gICAgICogMS4g56Gu5a6aIG9uQ2hhbmdlIOi/mOaYr+S8muS8oOWbnuW6lOivpeWPmOWMlueahOWAvO+8m1xuICAgICAqIDIuIOS9huaYr+eUseS6jiBDaGVja2JveCDlrozlhajlj5flpJbpg6jmjqfliLbvvIzmiYDku6XopoHnoa7lrprlhoXpg6jnirbmgIHkuI3kvJrmlLnlj5jjgIJcbiAgICAgKi9cbiAgICBmaXJzdENoZWNrYm94LnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRydWUpXG4gICAgZXhwZWN0KFxuICAgICAgd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApLnByb3BzKCkuY2xhc3NOYW1lLmluY2x1ZGVzKFwiY2hlY2tlZFwiKVxuICAgICkudG9FcXVhbChmYWxzZSlcblxuICAgIHNlY29uZENoZWNrYm94LnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZhbHNlKVxuICAgIGV4cGVjdChcbiAgICAgIHdyYXBwZXIxLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5wcm9wcygpLmNsYXNzTmFtZS5pbmNsdWRlcyhcImNoZWNrZWRcIilcbiAgICApLnRvRXF1YWwodHJ1ZSlcblxuICAgIHRoaXJkQ2hlY2tib3guc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdChcbiAgICAgIHdyYXBwZXIyLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5wcm9wcygpLmNsYXNzTmFtZS5pbmNsdWRlcyhcImNoZWNrZWRcIilcbiAgICApLnRvRXF1YWwodHJ1ZSlcbiAgICB0aGlyZENoZWNrYm94LnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3QoXG4gICAgICB3cmFwcGVyMi5maW5kKFwibGFiZWxcIikuYXQoMCkucHJvcHMoKS5jbGFzc05hbWUuaW5jbHVkZXMoXCJjaGVja2VkXCIpXG4gICAgKS50b0VxdWFsKGZhbHNlKVxuICB9KVxuXG4gIGl0KFwiQ2hlY2tib3gg56aB55So54q25oCB5piv5ZCm5Y+v55SoXCIsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIwID0gbW91bnQoPENoZWNrYm94IGRpc2FibGVkIG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4pXG4gICAgLyoqXG4gICAgICogZ3JvdXAudGVzdC5qcyDkuK3msqHmnInlr7kgQ2hlY2tib3guR3JvdXAgZGlzYWJsZWQg55qE5rWL6K+V77yMXG4gICAgICog5Zug5Li6IGRpc2FibGVkIOmAu+i+kemDveaYr+WcqCBDaGVja2JveC5qcyDlpITnkIbnmoTjgIJcbiAgICAgKi9cbiAgICBjb25zdCB3cmFwcGVyMSA9IG1vdW50KFxuICAgICAgPENoZWNrYm94Lkdyb3VwIGRpc2FibGVkIG9uQ2hhbmdlPXtvbkNoYW5nZX0+XG4gICAgICAgIDxDaGVja2JveCAvPlxuICAgICAgPC9DaGVja2JveC5Hcm91cD5cbiAgICApXG4gICAgd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKClcblxuICAgIHdyYXBwZXIxLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpXG4gIH0pXG5cbiAgaXQoXCJDaGVja2JveCDmmK/lkKbog73lk43lupQgb25DbGlja1wiLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DbGljayA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIgPSBtb3VudCg8Q2hlY2tib3ggb25DbGljaz17b25DbGlja30gLz4pXG4gICAgd3JhcHBlci5maW5kKFwibGFiZWxcIikuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdChvbkNsaWNrKS50b0hhdmVCZWVuQ2FsbGVkKClcbiAgfSlcblxuICBpdChcIkNoZWNrYm94IOaYr+WQpuiDveWTjeW6lCBlbnRlclwiLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKClcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoPENoZWNrYm94IG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4pXG4gICAgd3JhcHBlclxuICAgICAgLmZpbmQoXCJsYWJlbFwiKVxuICAgICAgLmF0KDApXG4gICAgICAuc2ltdWxhdGUoXCJrZXlkb3duXCIsIHsga2V5OiBcImVudGVyXCIsIGtleUNvZGU6IDEzIH0pXG4gICAgZXhwZWN0KFxuICAgICAgd3JhcHBlci5maW5kKFwibGFiZWxcIikuYXQoMCkucHJvcHMoKS5jbGFzc05hbWUuaW5jbHVkZXMoXCJjaGVja2VkXCIpXG4gICAgKS50b0VxdWFsKHRydWUpXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxRQUFRLFFBQVEsT0FBTztBQUN2QyxPQUFPQyxZQUFZLE1BQU0scUJBQXFCO0FBQzlDLFNBQVNDLEtBQUssUUFBUSxRQUFRO0FBQzlCLE9BQU9DLFFBQVEsTUFBTSxJQUFJO0FBRXpCLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQSxFQUFTO0VBQzVCLElBQUFDLFNBQUEsR0FBOEJMLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQU0sVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBdENHLE9BQU8sR0FBQUYsVUFBQTtJQUFFRyxVQUFVLEdBQUFILFVBQUE7RUFDMUIsT0FBT1AsS0FBQSxDQUFBVyxhQUFBLENBQUNQLFFBQVE7SUFBQ0ssT0FBTyxFQUFFQSxPQUFRO0lBQUNHLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHQyxJQUFJO01BQUEsT0FBS0gsVUFBVSxDQUFDRyxJQUFJLENB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QUFJLENBQUMsT0FBTyxDQUFDLENBQUNDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM5Q04sTUFBTSxDQUFDTixRQUFRLENBQUMsQ0FBQzBCLEdBQUcsQ0FBQ0MsZ0JBQWdCLENBQUMsQ0FBQztFQUN6QyxDQUFDLENBQUM7RUFFRnhCLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxZQUFNO0lBQ2pDLElBQU15QixPQUFPLEdBQUdwQixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLElBQU1MLE9BQU8sR0FBR2IsS0FBSyxDQUFDSCxLQUFBLENBQUFXLGFBQUEsQ0FBQ1AsUUFBUTtNQUFDb0MsT0FBTyxFQUFFQTtJQUFRLENBQUUsQ0FBQyxDQUFDO0lBQ3JEeEIsT0FBTyxDQUFDTSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUNDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM3Q04sTUFBTSxDQUFDc0IsT0FBTyxDQUFDLENBQUNELGdCQUFnQixDQUFDLENBQUM7RUFDcEMsQ0FBQyxDQUFDO0VBRUZ4QixFQUFFLENBQUMsc0JBQXNCLEVBQUUsWUFBTTtJQUMvQixJQUFNSCxRQUFRLEdBQUdRLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7SUFDMUIsSUFBTUwsT0FBTyxHQUFHYixLQUFLLENBQUNILEtBQUEsQ0FBQVcsYUFBQSxDQUFDUCxRQUFRO01BQUNRLFFBQVEsRUFBRUE7SUFBUyxDQUFFLENBQUMsQ0FBQztJQUN2REksT0FBTyxDQUNKTSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQ2JDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDTEMsUUFBUSxDQUFDLFNBQVMsRUFBRTtNQUFFaUIsR0FBRyxFQUFFLE9BQU87TUFBRUMsT0FBTyxFQUFFO0lBQUcsQ0FBQyxDQUFDO0lBQ3JEeEIsTUFBTSxDQUNKRixPQUFPLENBQUNNLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQ0MsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDUyxLQUFLLENBQUMsQ0FBQyxDQUFDQyxTQUFTLENBQUNDLFFBQVEsQ0FBQyxTQUFTLENBQ2xFLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQztJQUNmakIsTUFBTSxDQUFDTixRQUFRLENBQUMsQ0FBQ2Esb0JBQW9CLENBQUMsSUFBSSxDQUFDO0VBQzdDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==