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>
120 lines (102 loc) • 17.2 kB
JavaScript
;
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
var _react = _interopRequireWildcard(require("react"));
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
var _enzyme = require("enzyme");
var _ = _interopRequireDefault(require(".."));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _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(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var CheckboxMounter = function CheckboxMounter() {
var _useState = (0, _react.useState)(false),
_useState2 = _slicedToArray(_useState, 2),
checked = _useState2[0],
setChecked = _useState2[1];
return _react["default"].createElement(_["default"], {
checked: checked,
onChange: function onChange(bool) {
return setChecked(bool);
}
});
};
describe("Checkbox", function () {
it("Checkbox 是否正确渲染", function () {
var wrapper = _reactTestRenderer["default"].create(_react["default"].createElement(_["default"], null, "children"));
expect(wrapper).toMatchSnapshot();
});
it("Checkbox 是否能内部驱动", function () {
var onChange = jest.fn();
var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
onChange: onChange
}));
wrapper.find("label").at(0).simulate("click");
expect(onChange).toHaveBeenCalledWith(true);
});
it("Checkbox 是否能受外部控制", function () {
var onChange = jest.fn();
var wrapper0 = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
checked: false,
onChange: onChange
}));
var wrapper1 = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
checked: true,
onChange: onChange
}));
var wrapper2 = (0, _enzyme.mount)(_react["default"].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 = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
disabled: true,
onChange: onChange
}));
var wrapper1 = (0, _enzyme.mount)(_react["default"].createElement(_["default"].Group, {
disabled: true,
onChange: onChange
}, _react["default"].createElement(_["default"], 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 = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
onClick: onClick
}));
wrapper.find("label").at(0).simulate("click");
expect(onClick).toHaveBeenCalled();
});
it("Checkbox 是否能响应 enter", function () {
var onChange = jest.fn();
var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_["default"], {
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGVja2JveE1vdW50ZXIiLCJ1c2VTdGF0ZSIsImNoZWNrZWQiLCJzZXRDaGVja2VkIiwiYm9vbCIsImRlc2NyaWJlIiwiaXQiLCJ3cmFwcGVyIiwiVGVzdFJlbmRlcmVyIiwiY3JlYXRlIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Iiwib25DaGFuZ2UiLCJqZXN0IiwiZm4iLCJtb3VudCIsImZpbmQiLCJhdCIsInNpbXVsYXRlIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJ3cmFwcGVyMCIsIndyYXBwZXIxIiwid3JhcHBlcjIiLCJmaXJzdENoZWNrYm94Iiwic2Vjb25kQ2hlY2tib3giLCJ0aGlyZENoZWNrYm94IiwicHJvcHMiLCJjbGFzc05hbWUiLCJpbmNsdWRlcyIsInRvRXF1YWwiLCJub3QiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwib25DbGljayIsImtleSIsImtleUNvZGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2NoZWNrYm94L19fdGVzdHNfXy9jaGVja2JveC50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tIFwicmVhY3QtdGVzdC1yZW5kZXJlclwiXG5pbXBvcnQgeyBtb3VudCB9IGZyb20gXCJlbnp5bWVcIlxuaW1wb3J0IENoZWNrYm94IGZyb20gXCIuLlwiXG5cbmNvbnN0IENoZWNrYm94TW91bnRlciA9ICgpID0+IHtcbiAgY29uc3QgW2NoZWNrZWQsIHNldENoZWNrZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIHJldHVybiA8Q2hlY2tib3ggY2hlY2tlZD17Y2hlY2tlZH0gb25DaGFuZ2U9eyhib29sKSA9PiBzZXRDaGVja2VkKGJvb2wpfSAvPlxufVxuXG5kZXNjcmliZShcIkNoZWNrYm94XCIsICgpID0+IHtcbiAgaXQoXCJDaGVja2JveCDmmK/lkKbmraPnoa7muLLmn5NcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKDxDaGVja2JveD5jaGlsZHJlbjwvQ2hlY2tib3g+KVxuICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuXG4gIGl0KFwiQ2hlY2tib3gg5piv5ZCm6IO95YaF6YOo6amx5YqoXCIsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIgPSBtb3VudCg8Q2hlY2tib3ggb25DaGFuZ2U9e29uQ2hhbmdlfSAvPilcbiAgICB3cmFwcGVyLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlKVxuICB9KVxuXG4gIGl0KFwiQ2hlY2tib3gg5piv5ZCm6IO95Y+X5aSW6YOo5o6n5Yi2XCIsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIwID0gbW91bnQoPENoZWNrYm94IGNoZWNrZWQ9e2ZhbHNlfSBvbkNoYW5nZT17b25DaGFuZ2V9IC8+KVxuICAgIGNvbnN0IHdyYXBwZXIxID0gbW91bnQoPENoZWNrYm94IGNoZWNrZWQgb25DaGFuZ2U9e29uQ2hhbmdlfSAvPilcblxuICAgIGNvbnN0IHdyYXBwZXIyID0gbW91bnQoPENoZWNrYm94TW91bnRlciAvPilcbiAgICBjb25zdCBmaXJzdENoZWNrYm94ID0gd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApXG4gICAgY29uc3Qgc2Vjb25kQ2hlY2tib3ggPSB3cmFwcGVyMS5maW5kKFwibGFiZWxcIikuYXQoMClcbiAgICBjb25zdCB0aGlyZENoZWNrYm94ID0gd3JhcHBlcjIuZmluZChcImxhYmVsXCIpLmF0KDApXG4gICAgLyoqXG4gICAgICogMS4g56Gu5a6aIG9uQ2hhbmdlIOi/mOaYr+S8muS8oOWbnuW6lOivpeWPmOWMlueahOWAvO+8m1xuICAgICAqIDIuIOS9huaYr+eUseS6jiBDaGVja2JveCDlrozlhajlj5flpJbpg6jmjqfliLbvvIzmiYDku6XopoHnoa7lrprlhoXpg6jnirbmgIHkuI3kvJrmlLnlj5jjgIJcbiAgICAgKi9cbiAgICBmaXJzdENoZWNrYm94LnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRydWUpXG4gICAgZXhwZWN0KFxuICAgICAgd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApLnByb3BzKCkuY2xhc3NOYW1lLmluY2x1ZGVzKFwiY2hlY2tlZFwiKVxuICAgICkudG9FcXVhbChmYWxzZSlcblxuICAgIHNlY29uZENoZWNrYm94LnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZhbHNlKVxuICAgIGV4cGVjdChcbiAgICAgIHdyYXBwZXIxLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5wcm9wcygpLmNsYXNzTmFtZS5pbmNsdWRlcyhcImNoZWNrZWRcIilcbiAgICApLnRvRXF1YWwodHJ1ZSlcblxuICAgIHRoaXJkQ2hlY2tib3guc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdChcbiAgICAgIHdyYXBwZXIyLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5wcm9wcygpLmNsYXNzTmFtZS5pbmNsdWRlcyhcImNoZWNrZWRcIilcbiAgICApLnRvRXF1YWwodHJ1ZSlcbiAgICB0aGlyZENoZWNrYm94LnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3QoXG4gICAgICB3cmFwcGVyMi5maW5kKFwibGFiZWxcIikuYXQoMCkucHJvcHMoKS5jbGFzc05hbWUuaW5jbHVkZXMoXCJjaGVja2VkXCIpXG4gICAgKS50b0VxdWFsKGZhbHNlKVxuICB9KVxuXG4gIGl0KFwiQ2hlY2tib3gg56aB55So54q25oCB5piv5ZCm5Y+v55SoXCIsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIwID0gbW91bnQoPENoZWNrYm94IGRpc2FibGVkIG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4pXG4gICAgLyoqXG4gICAgICogZ3JvdXAudGVzdC5qcyDkuK3msqHmnInlr7kgQ2hlY2tib3guR3JvdXAgZGlzYWJsZWQg55qE5rWL6K+V77yMXG4gICAgICog5Zug5Li6IGRpc2FibGVkIOmAu+i+kemDveaYr+WcqCBDaGVja2JveC5qcyDlpITnkIbnmoTjgIJcbiAgICAgKi9cbiAgICBjb25zdCB3cmFwcGVyMSA9IG1vdW50KFxuICAgICAgPENoZWNrYm94Lkdyb3VwIGRpc2FibGVkIG9uQ2hhbmdlPXtvbkNoYW5nZX0+XG4gICAgICAgIDxDaGVja2JveCAvPlxuICAgICAgPC9DaGVja2JveC5Hcm91cD5cbiAgICApXG4gICAgd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKClcblxuICAgIHdyYXBwZXIxLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpXG4gIH0pXG5cbiAgaXQoXCJDaGVja2JveCDmmK/lkKbog73lk43lupQgb25DbGlja1wiLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DbGljayA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIgPSBtb3VudCg8Q2hlY2tib3ggb25DbGljaz17b25DbGlja30gLz4pXG4gICAgd3JhcHBlci5maW5kKFwibGFiZWxcIikuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdChvbkNsaWNrKS50b0hhdmVCZWVuQ2FsbGVkKClcbiAgfSlcblxuICBpdChcIkNoZWNrYm94IOaYr+WQpuiDveWTjeW6lCBlbnRlclwiLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKClcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoPENoZWNrYm94IG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4pXG4gICAgd3JhcHBlclxuICAgICAgLmZpbmQoXCJsYWJlbFwiKVxuICAgICAgLmF0KDApXG4gICAgICAuc2ltdWxhdGUoXCJrZXlkb3duXCIsIHsga2V5OiBcImVudGVyXCIsIGtleUNvZGU6IDEzIH0pXG4gICAgZXhwZWN0KFxuICAgICAgd3JhcHBlci5maW5kKFwibGFiZWxcIikuYXQoMCkucHJvcHMoKS5jbGFzc05hbWUuaW5jbHVkZXMoXCJjaGVja2VkXCIpXG4gICAgKS50b0VxdWFsKHRydWUpXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQU1BLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsR0FBTTtFQUM1QixnQkFBOEIsSUFBQUMsZUFBQSxFQUFTLEtBQVQsQ0FBOUI7RUFBQTtFQUFBLElBQU9DLE9BQVA7RUFBQSxJQUFnQkMsVUFBaEI7O0VBQ0EsT0FBTyxnQ0FBQyxZQUFEO0lBQVUsT0FBTyxFQUFFRCxPQUFuQjtJQUE0QixRQUFRLEVBQUUsa0JBQUNFLElBQUQ7TUFBQSxPQUFVRCxVQUFVLENBQUNDLElBQUQsQ0FBcEI7SUFBQTtFQUF0QyxFQUFQO0FBQ0QsQ0FIRDs7QUFLQUMsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0VBQ3pCQyxFQUFFLENBQUMsaUJBQUQsRUFBb0IsWUFBTTtJQUMxQixJQUFNQyxPQUFPLEdBQUdDLDZCQUFBLENBQWFDLE1BQWIsQ0FBb0IsZ0NBQUMsWUFBRCxtQkFBcEIsQ0FBaEI7O0lBQ0FDLE1BQU0sQ0FBQ0gsT0FBRCxDQUFOLENBQWdCSSxlQUFoQjtFQUNELENBSEMsQ0FBRjtFQUtBTCxFQUFFLENBQUMsa0JBQUQsRUFBcUIsWUFB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