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>
73 lines • 12.3 kB
JavaScript
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 { mount } from "enzyme";
import TestRenderer from "react-test-renderer";
import Radio from "..";
var RadioMounter = function RadioMounter() {
var _useState = useState(false),
_useState2 = _slicedToArray(_useState, 2),
checked = _useState2[0],
setChecked = _useState2[1];
return React.createElement(Radio, {
checked: checked,
onChange: function onChange(bool) {
return setChecked(bool);
}
});
};
describe("Radio", function () {
it("Radio 是否正确渲染", function () {
var wrapper = TestRenderer.create(React.createElement(Radio, null, "children"));
expect(wrapper).toMatchSnapshot();
});
it("Radio 是否能内部驱动", function () {
var onChange = jest.fn();
var wrapper = mount(React.createElement(Radio, {
onChange: onChange
}));
wrapper.find("label").at(0).simulate("click");
expect(wrapper.find("label").at(0).props().className.includes("checked")).toEqual(true);
expect(onChange).toHaveBeenCalledWith(true);
});
it("Radio 是否能受外部控制", function () {
var onChange = jest.fn();
var wrapper0 = mount(React.createElement(Radio, {
checked: false,
onChange: onChange
}));
var wrapper1 = mount(React.createElement(RadioMounter, null));
wrapper0.find("label").at(0).simulate("click");
expect(onChange).toHaveBeenCalledWith(true);
expect(wrapper0.find("label").at(0).props().className.includes("checked")).toEqual(false);
wrapper1.find("label").at(0).simulate("click");
expect(wrapper1.find("label").at(0).props().className.includes("checked")).toEqual(true);
wrapper1.find("label").at(0).simulate("click");
expect(wrapper1.find("label").at(0).props().className.includes("checked")).toEqual(true);
});
it("Radio 是否能响应 onClick", function () {
var onClick = jest.fn();
var wrapper = mount(React.createElement(Radio, {
onClick: onClick
}));
wrapper.find("label").at(0).simulate("click");
expect(onClick).toHaveBeenCalled();
});
it("Radio 是否能响应 enter", function () {
var onChange = jest.fn();
var wrapper = mount(React.createElement(Radio, {
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwibW91bnQiLCJUZXN0UmVuZGVyZXIiLCJSYWRpbyIsIlJhZGlvTW91bnRlciIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImNoZWNrZWQiLCJzZXRDaGVja2VkIiwiY3JlYXRlRWxlbWVudCIsIm9uQ2hhbmdlIiwiYm9vbCIsImRlc2NyaWJlIiwiaXQiLCJ3cmFwcGVyIiwiY3JlYXRlIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwiamVzdCIsImZuIiwiZmluZCIsImF0Iiwic2ltdWxhdGUiLCJwcm9wcyIsImNsYXNzTmFtZSIsImluY2x1ZGVzIiwidG9FcXVhbCIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwid3JhcHBlcjAiLCJ3cmFwcGVyMSIsIm9uQ2xpY2siLCJ0b0hhdmVCZWVuQ2FsbGVkIiwia2V5Iiwia2V5Q29kZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvcmFkaW8vX190ZXN0c19fL3JhZGlvLnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgeyBtb3VudCB9IGZyb20gXCJlbnp5bWVcIlxuaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tIFwicmVhY3QtdGVzdC1yZW5kZXJlclwiXG5pbXBvcnQgUmFkaW8gZnJvbSBcIi4uXCJcblxuY29uc3QgUmFkaW9Nb3VudGVyID0gKCkgPT4ge1xuICBjb25zdCBbY2hlY2tlZCwgc2V0Q2hlY2tlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgcmV0dXJuIDxSYWRpbyBjaGVja2VkPXtjaGVja2VkfSBvbkNoYW5nZT17KGJvb2wpID0+IHNldENoZWNrZWQoYm9vbCl9IC8+XG59XG5cbmRlc2NyaWJlKFwiUmFkaW9cIiwgKCkgPT4ge1xuICBpdChcIlJhZGlvIOaYr+WQpuato+ehrua4suafk1wiLCAoKSA9PiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoPFJhZGlvPmNoaWxkcmVuPC9SYWRpbz4pXG4gICAgZXhwZWN0KHdyYXBwZXIpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG5cbiAgaXQoXCJSYWRpbyDmmK/lkKbog73lhoXpg6jpqbHliqhcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpXG4gICAgY29uc3Qgd3JhcHBlciA9IG1vdW50KDxSYWRpbyBvbkNoYW5nZT17b25DaGFuZ2V9IC8+KVxuICAgIHdyYXBwZXIuZmluZChcImxhYmVsXCIpLmF0KDApLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3QoXG4gICAgICB3cmFwcGVyLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5wcm9wcygpLmNsYXNzTmFtZS5pbmNsdWRlcyhcImNoZWNrZWRcIilcbiAgICApLnRvRXF1YWwodHJ1ZSlcbiAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRydWUpXG4gIH0pXG5cbiAgaXQoXCJSYWRpbyDmmK/lkKbog73lj5flpJbpg6jmjqfliLZcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpXG4gICAgY29uc3Qgd3JhcHBlcjAgPSBtb3VudCg8UmFkaW8gY2hlY2tlZD17ZmFsc2V9IG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4pXG4gICAgY29uc3Qgd3JhcHBlcjEgPSBtb3VudCg8UmFkaW9Nb3VudGVyIC8+KVxuICAgIC8qKlxuICAgICAqIDEuIOehruWumiBvbkNoYW5nZSDov5jmmK/kvJrkvKDlm57lupTor6Xlj5jljJbnmoTlgLzvvJtcbiAgICAgKiAyLiDkvYbmmK/nlLHkuo4gUmFkaW8g5a6M5YWo5Y+X5aSW6YOo5o6n5Yi277yM5omA5Lul6KaB56Gu5a6a5YaF6YOo54q25oCB5LiN5Lya5pS55Y+Y44CCXG4gICAgICovXG4gICAgd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHRydWUpXG4gICAgZXhwZWN0KFxuICAgICAgd3JhcHBlcjAuZmluZChcImxhYmVsXCIpLmF0KDApLnByb3BzKCkuY2xhc3NOYW1lLmluY2x1ZGVzKFwiY2hlY2tlZFwiKVxuICAgICkudG9FcXVhbChmYWxzZSlcblxuICAgIHdyYXBwZXIxLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KFxuICAgICAgd3JhcHBlcjEuZmluZChcImxhYmVsXCIpLmF0KDApLnByb3BzKCkuY2xhc3NOYW1lLmluY2x1ZGVzKFwiY2hlY2tlZFwiKVxuICAgICkudG9FcXVhbCh0cnVlKVxuICAgIHdyYXBwZXIxLmZpbmQoXCJsYWJlbFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KFxuICAgICAgd3JhcHBlcjEuZmluZChcImxhYmVsXCIpLmF0KDApLnByb3BzKCkuY2xhc3NOYW1lLmluY2x1ZGVzKFwiY2hlY2tlZFwiKVxuICAgICkudG9FcXVhbCh0cnVlKVxuICB9KVxuXG4gIGl0KFwiUmFkaW8g5piv5ZCm6IO95ZON5bqUIG9uQ2xpY2tcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG9uQ2xpY2sgPSBqZXN0LmZuKClcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoPFJhZGlvIG9uQ2xpY2s9e29uQ2xpY2t9IC8+KVxuICAgIHdyYXBwZXIuZmluZChcImxhYmVsXCIpLmF0KDApLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25DbGljaykudG9IYXZlQmVlbkNhbGxlZCgpXG4gIH0pXG5cbiAgaXQoXCJSYWRpbyDmmK/lkKbog73lk43lupQgZW50ZXJcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG9uQ2hhbmdlID0gamVzdC5mbigpXG4gICAgY29uc3Qgd3JhcHBlciA9IG1vdW50KDxSYWRpbyBvbkNoYW5nZT17b25DaGFuZ2V9IC8+KVxuICAgIHdyYXBwZXJcbiAgICAgIC5maW5kKFwibGFiZWxcIilcbiAgICAgIC5hdCgwKVxuICAgICAgLnNpbXVsYXRlKFwia2V5ZG93blwiLCB7IGtleTogXCJlbnRlclwiLCBrZXlDb2RlOiAxMyB9KVxuICAgIGV4cGVjdChcbiAgICAgIHdyYXBwZXIuZmluZChcImxhYmVsXCIpLmF0KDApLnByb3BzKCkuY2xhc3NOYW1lLmluY2x1ZGVzKFwiY2hlY2tlZFwiKVxuICAgICkudG9FcXVhbCh0cnVlKVxuICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgodHJ1ZSlcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsUUFBUSxRQUFRLE9BQU87QUFDdkMsU0FBU0MsS0FBSyxRQUFRLFFBQVE7QUFDOUIsT0FBT0MsWUFBWSxNQUFNLHFCQUFxQjtBQUM5QyxPQUFPQyxLQUFLLE1BQU0sSUFBSTtBQUV0QixJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBQSxFQUFTO0VBQ3pCLElBQUFDLFNBQUEsR0FBOEJMLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQU0sVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBdENHLE9BQU8sR0FBQUYsVUFBQTtJQUFFRyxVQUFVLEdBQUFILFVBQUE7RUFDMUIsT0FBT1AsS0FBQSxDQUFBVyxhQUFBLENBQUNQLEtBQUs7SUFBQ0ssT0FBTyxFQUFFQSxPQUFRO0lBQUNHLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHQyxJQUFJO01BQUEsT0FBS0gsVUFBVSxDQUFDRyxJQUFJLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FBQztBQUMxRSxDQUFDO0FBRURDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsWUFBTTtFQUN0QkMsRUFBRSxDQUFDLGNBQWMsRUFBRSxZQUFNO0lBQ3ZCLElBQU1DLE9BQU8sR0FBR2IsWUFBWSxDQUFDYyxNQUFNLENBQUNqQixLQUFBLENBQUFXLGFBQUEsQ0FBQ1AsS0FBSyxRQUFDLFVBQWUsQ0FBQyxDQUFDO0lBQzVEYyxN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