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>
112 lines • 15.6 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
import * as React from "react";
import { mount } from "enzyme";
import TestRenderer from "react-test-renderer";
import Popconfirm from "..";
var PopconfirmMounter = function (_React$Component) {
function PopconfirmMounter() {
var _this;
_classCallCheck(this, PopconfirmMounter);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, PopconfirmMounter, [].concat(args));
_this.state = {
visible: true
};
_this.popconfirm = void 0;
return _this;
}
_inherits(PopconfirmMounter, _React$Component);
return _createClass(PopconfirmMounter, [{
key: "render",
value: function render() {
var _this2 = this;
var visible = this.state.visible;
return React.createElement(Popconfirm, {
visible: visible,
onVisibleChange: function onVisibleChange(bool, options) {
if (options.target !== "confirm" && !bool) {
_this2.setState({
visible: false
});
} else {
_this2.setState({
visible: true
});
}
},
popup: "popup",
ref: function ref(popconfirm) {
if (popconfirm) {
_this2.popconfirm = popconfirm;
return _this2.popconfirm;
}
return null;
}
}, React.createElement("div", {
id: "children"
}, "children"));
}
}]);
}(React.Component);
describe("Popconfirm", function () {
beforeEach(function () {
jest.useFakeTimers();
});
afterEach(function () {
jest.useRealTimers();
});
it("是否正确渲染", function () {
var wrapper = TestRenderer.create(React.createElement(Popconfirm, {
popup: "1"
}, "children"));
expect(wrapper).toMatchSnapshot();
});
it("是否能内部驱动", function () {
var onVisibleChange = jest.fn();
var wrapper = mount(React.createElement(Popconfirm, {
onVisibleChange: onVisibleChange
}, React.createElement("div", {
id: "child"
}, "child")));
wrapper.find("#child").at(0).simulate("click");
expect(onVisibleChange).toHaveBeenCalledWith(true, {});
expect(wrapper.find("Popover").props().visible).toBe(true);
var buttons = wrapper.find("button");
buttons.at(0).simulate("click");
expect(onVisibleChange).toHaveBeenCalledWith(false, {
target: "cancel"
});
expect(wrapper.find("Popover").props().visible).toBe(false);
wrapper.find("#child").at(0).simulate("click");
buttons.at(1).simulate("click");
expect(onVisibleChange).toHaveBeenCalledWith(false, {
target: "confirm"
});
expect(wrapper.find("Popover").props().visible).toBe(false);
});
it("是否能外部控制", function () {
var wrapper = mount(React.createElement(PopconfirmMounter, null));
var buttons = wrapper.find("button");
buttons.at(0).simulate("click");
expect(wrapper.find("Popover").props().visible).toEqual(false);
wrapper.find("#children").at(0).simulate("click");
expect(wrapper.find("Popover").props().visible).toEqual(true);
buttons.at(1).simulate("click");
expect(wrapper.find("Popover").props().visible).toEqual(true);
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIm1vdW50IiwiVGVzdFJlbmRlcmVyIiwiUG9wY29uZmlybSIsIlBvcGNvbmZpcm1Nb3VudGVyIiwiX1JlYWN0JENvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJfY2FsbFN1cGVyIiwiY29uY2F0Iiwic3RhdGUiLCJ2aXNpYmxlIiwicG9wY29uZmlybSIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwicmVuZGVyIiwiX3RoaXMyIiwiY3JlYXRlRWxlbWVudCIsIm9uVmlzaWJsZUNoYW5nZSIsImJvb2wiLCJvcHRpb25zIiwidGFyZ2V0Iiwic2V0U3RhdGUiLCJwb3B1cCIsInJlZiIsImlkIiwiQ29tcG9uZW50IiwiZGVzY3JpYmUiLCJiZWZvcmVFYWNoIiwiamVzdCIsInVzZUZha2VUaW1lcnMiLCJhZnRlckVhY2giLCJ1c2VSZWFsVGltZXJzIiwiaXQiLCJ3cmFwcGVyIiwiY3JlYXRlIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwiZm4iLCJmaW5kIiwiYXQiLCJzaW11bGF0ZSIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwicHJvcHMiLCJ0b0JlIiwiYnV0dG9ucyIsInRvRXF1YWwiXSwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL3BvcGNvbmZpcm0vX190ZXN0c19fL2luZGV4LnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgbW91bnQgfSBmcm9tIFwiZW56eW1lXCJcbmltcG9ydCBUZXN0UmVuZGVyZXIgZnJvbSBcInJlYWN0LXRlc3QtcmVuZGVyZXJcIlxuaW1wb3J0IFBvcGNvbmZpcm0gZnJvbSBcIi4uXCJcblxuY2xhc3MgUG9wY29uZmlybU1vdW50ZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0ZSA9IHtcbiAgICB2aXNpYmxlOiB0cnVlLFxuICB9XG5cbiAgcHJpdmF0ZSBwb3Bjb25maXJtOiBhbnlcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB2aXNpYmxlIH0gPSB0aGlzLnN0YXRlXG4gICAgcmV0dXJuIChcbiAgICAgIDxQb3Bjb25maXJtXG4gICAgICAgIHZpc2libGU9e3Zpc2libGV9XG4gICAgICAgIG9uVmlzaWJsZUNoYW5nZT17KGJvb2wsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBpZiAob3B0aW9ucy50YXJnZXQgIT09IFwiY29uZmlybVwiICYmICFib29sKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogZmFsc2UgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IHRydWUgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIHBvcHVwPVwicG9wdXBcIlxuICAgICAgICByZWY9eyhwb3Bjb25maXJtOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocG9wY29uZmlybSkge1xuICAgICAgICAgICAgdGhpcy5wb3Bjb25maXJtID0gcG9wY29uZmlybVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9wY29uZmlybVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2IGlkPVwiY2hpbGRyZW5cIj5jaGlsZHJlbjwvZGl2PlxuICAgICAgPC9Qb3Bjb25maXJtPlxuICAgIClcbiAgfVxufVxuXG5kZXNjcmliZShcIlBvcGNvbmZpcm1cIiwgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBqZXN0LnVzZUZha2VUaW1lcnMoKVxuICB9KVxuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgamVzdC51c2VSZWFsVGltZXJzKClcbiAgfSlcblxuICBpdChcIuaYr+WQpuato+ehrua4suafk1wiLCAoKSA9PiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgICA8UG9wY29uZmlybSBwb3B1cD1cIjFcIj5jaGlsZHJlbjwvUG9wY29uZmlybT5cbiAgICApXG4gICAgZXhwZWN0KHdyYXBwZXIpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG5cbiAgaXQoXCLmmK/lkKbog73lhoXpg6jpqbHliqhcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG9uVmlzaWJsZUNoYW5nZSA9IGplc3QuZm4oKVxuICAgIGNvbnN0IHdyYXBwZXIgPSBtb3VudChcbiAgICAgIDxQb3Bjb25maXJtIG9uVmlzaWJsZUNoYW5nZT17b25WaXNpYmxlQ2hhbmdlfT5cbiAgICAgICAgPGRpdiBpZD1cImNoaWxkXCI+Y2hpbGQ8L2Rpdj5cbiAgICAgIDwvUG9wY29uZmlybT5cbiAgICApXG4gICAgd3JhcHBlci5maW5kKFwiI2NoaWxkXCIpLmF0KDApLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBleHBlY3Qob25WaXNpYmxlQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlLCB7fSlcbiAgICBleHBlY3Qod3JhcHBlci5maW5kKFwiUG9wb3ZlclwiKS5wcm9wcygpLnZpc2libGUpLnRvQmUodHJ1ZSlcbiAgICBjb25zdCBidXR0b25zID0gd3JhcHBlci5maW5kKFwiYnV0dG9uXCIpXG4gICAgYnV0dG9ucy5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KG9uVmlzaWJsZUNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmFsc2UsIHsgdGFyZ2V0OiBcImNhbmNlbFwiIH0pXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlBvcG92ZXJcIikucHJvcHMoKS52aXNpYmxlKS50b0JlKGZhbHNlKVxuICAgIHdyYXBwZXIuZmluZChcIiNjaGlsZFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgYnV0dG9ucy5hdCgxKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KG9uVmlzaWJsZUNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmFsc2UsIHsgdGFyZ2V0OiBcImNvbmZpcm1cIiB9KVxuICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoXCJQb3BvdmVyXCIpLnByb3BzKCkudmlzaWJsZSkudG9CZShmYWxzZSlcbiAgfSlcblxuICBpdChcIuaYr+WQpuiDveWklumDqOaOp+WItlwiLCAoKSA9PiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IG1vdW50KDxQb3Bjb25maXJtTW91bnRlciAvPilcbiAgICBjb25zdCBidXR0b25zID0gd3JhcHBlci5maW5kKFwiYnV0dG9uXCIpXG4gICAgYnV0dG9ucy5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlBvcG92ZXJcIikucHJvcHMoKS52aXNpYmxlKS50b0VxdWFsKGZhbHNlKVxuICAgIHdyYXBwZXIuZmluZChcIiNjaGlsZHJlblwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlBvcG92ZXJcIikucHJvcHMoKS52aXNpYmxlKS50b0VxdWFsKHRydWUpXG4gICAgYnV0dG9ucy5hdCgxKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlBvcG92ZXJcIikucHJvcHMoKS52aXNpYmxlKS50b0VxdWFsKHRydWUpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0EsT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxLQUFLLFFBQVEsUUFBUTtBQUM5QixPQUFPQyxZQUFZLE1BQU0scUJBQXFCO0FBQzlDLE9BQU9DLFVBQVUsTUFBTSxJQUFJO0FBQUEsSUFFckJDLGlCQUFpQixhQUFBQyxnQkFBQTtFQUFBLFNBQUFELGtCQUFBO0lBQUEsSUFBQUUsS0FBQTtJQUFBQyxlQUFBLE9BQUFILGlCQUFB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