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>
146 lines (116 loc) • 15.9 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 _enzyme = require("enzyme");
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
var PopconfirmMounter = function (_React$Component) {
_inherits(PopconfirmMounter, _React$Component);
var _super = _createSuper(PopconfirmMounter);
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 = _super.call.apply(_super, [this].concat(args));
_this.state = {
visible: true
};
_this.popconfirm = void 0;
return _this;
}
_createClass(PopconfirmMounter, [{
key: "render",
value: function render() {
var _this2 = this;
var visible = this.state.visible;
return React.createElement(_["default"], {
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"));
}
}]);
return PopconfirmMounter;
}(React.Component);
describe("Popconfirm", function () {
beforeEach(function () {
jest.useFakeTimers();
});
afterEach(function () {
jest.useRealTimers();
});
it("是否正确渲染", function () {
var wrapper = _reactTestRenderer["default"].create(React.createElement(_["default"], {
popup: "1"
}, "children"));
expect(wrapper).toMatchSnapshot();
});
it("是否能内部驱动", function () {
var onVisibleChange = jest.fn();
var wrapper = (0, _enzyme.mount)(React.createElement(_["default"], {
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 = (0, _enzyme.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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQb3Bjb25maXJtTW91bnRlciIsInN0YXRlIiwidmlzaWJsZSIsInBvcGNvbmZpcm0iLCJib29sIiwib3B0aW9ucyIsInRhcmdldCIsInNldFN0YXRlIiwiUmVhY3QiLCJDb21wb25lbnQiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJqZXN0IiwidXNlRmFrZVRpbWVycyIsImFmdGVyRWFjaCIsInVzZVJlYWxUaW1lcnMiLCJpdCIsIndyYXBwZXIiLCJUZXN0UmVuZGVyZXIiLCJjcmVhdGUiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJvblZpc2libGVDaGFuZ2UiLCJmbiIsIm1vdW50IiwiZmluZCIsImF0Iiwic2ltdWxhdGUiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsInByb3BzIiwidG9CZSIsImJ1dHRvbnMiLCJ0b0VxdWFsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9wb3Bjb25maXJtL19fdGVzdHNfXy9pbmRleC50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IG1vdW50IH0gZnJvbSBcImVuenltZVwiXG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gXCJyZWFjdC10ZXN0LXJlbmRlcmVyXCJcbmltcG9ydCBQb3Bjb25maXJtIGZyb20gXCIuLlwiXG5cbmNsYXNzIFBvcGNvbmZpcm1Nb3VudGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGUgPSB7XG4gICAgdmlzaWJsZTogdHJ1ZSxcbiAgfVxuXG4gIHByaXZhdGUgcG9wY29uZmlybTogYW55XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdmlzaWJsZSB9ID0gdGhpcy5zdGF0ZVxuICAgIHJldHVybiAoXG4gICAgICA8UG9wY29uZmlybVxuICAgICAgICB2aXNpYmxlPXt2aXNpYmxlfVxuICAgICAgICBvblZpc2libGVDaGFuZ2U9eyhib29sLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMudGFyZ2V0ICE9PSBcImNvbmZpcm1cIiAmJiAhYm9vbCkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IGZhbHNlIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiB0cnVlIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICBwb3B1cD1cInBvcHVwXCJcbiAgICAgICAgcmVmPXsocG9wY29uZmlybTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHBvcGNvbmZpcm0pIHtcbiAgICAgICAgICAgIHRoaXMucG9wY29uZmlybSA9IHBvcGNvbmZpcm1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBvcGNvbmZpcm1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBpZD1cImNoaWxkcmVuXCI+Y2hpbGRyZW48L2Rpdj5cbiAgICAgIDwvUG9wY29uZmlybT5cbiAgICApXG4gIH1cbn1cblxuZGVzY3JpYmUoXCJQb3Bjb25maXJtXCIsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC51c2VGYWtlVGltZXJzKClcbiAgfSlcblxuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGplc3QudXNlUmVhbFRpbWVycygpXG4gIH0pXG5cbiAgaXQoXCLmmK/lkKbmraPnoa7muLLmn5NcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHdyYXBwZXIgPSBUZXN0UmVuZGVyZXIuY3JlYXRlKFxuICAgICAgPFBvcGNvbmZpcm0gcG9wdXA9XCIxXCI+Y2hpbGRyZW48L1BvcGNvbmZpcm0+XG4gICAgKVxuICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuXG4gIGl0KFwi5piv5ZCm6IO95YaF6YOo6amx5YqoXCIsICgpID0+IHtcbiAgICBjb25zdCBvblZpc2libGVDaGFuZ2UgPSBqZXN0LmZuKClcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoXG4gICAgICA8UG9wY29uZmlybSBvblZpc2libGVDaGFuZ2U9e29uVmlzaWJsZUNoYW5nZX0+XG4gICAgICAgIDxkaXYgaWQ9XCJjaGlsZFwiPmNoaWxkPC9kaXY+XG4gICAgICA8L1BvcGNvbmZpcm0+XG4gICAgKVxuICAgIHdyYXBwZXIuZmluZChcIiNjaGlsZFwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KG9uVmlzaWJsZUNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgodHJ1ZSwge30pXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlBvcG92ZXJcIikucHJvcHMoKS52aXNpYmxlKS50b0JlKHRydWUpXG4gICAgY29uc3QgYnV0dG9ucyA9IHdyYXBwZXIuZmluZChcImJ1dHRvblwiKVxuICAgIGJ1dHRvbnMuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdChvblZpc2libGVDaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZhbHNlLCB7IHRhcmdldDogXCJjYW5jZWxcIiB9KVxuICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoXCJQb3BvdmVyXCIpLnByb3BzKCkudmlzaWJsZSkudG9CZShmYWxzZSlcbiAgICB3cmFwcGVyLmZpbmQoXCIjY2hpbGRcIikuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGJ1dHRvbnMuYXQoMSkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdChvblZpc2libGVDaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZhbHNlLCB7IHRhcmdldDogXCJjb25maXJtXCIgfSlcbiAgICBleHBlY3Qod3JhcHBlci5maW5kKFwiUG9wb3ZlclwiKS5wcm9wcygpLnZpc2libGUpLnRvQmUoZmFsc2UpXG4gIH0pXG5cbiAgaXQoXCLmmK/lkKbog73lpJbpg6jmjqfliLZcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHdyYXBwZXIgPSBtb3VudCg8UG9wY29uZmlybU1vdW50ZXIgLz4pXG4gICAgY29uc3QgYnV0dG9ucyA9IHdyYXBwZXIuZmluZChcImJ1dHRvblwiKVxuICAgIGJ1dHRvbnMuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoXCJQb3BvdmVyXCIpLnByb3BzKCkudmlzaWJsZSkudG9FcXVhbChmYWxzZSlcbiAgICB3cmFwcGVyLmZpbmQoXCIjY2hpbGRyZW5cIikuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoXCJQb3BvdmVyXCIpLnByb3BzKCkudmlzaWJsZSkudG9FcXVhbCh0cnVlKVxuICAgIGJ1dHRvbnMuYXQoMSkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoXCJQb3BvdmVyXCIpLnByb3BzKCkudmlzaWJsZSkudG9FcXVhbCh0cnVlKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRU1BLGlCOzs7Ozs7Ozs7Ozs7Ozs7VUFDSkMsSyxHQUFRO01BQ05DLE9BQU8sRUFBRTtJQURILEM7VUFJQUMsVTs7Ozs7O1dBRVIsa0JBQVM7TUFBQTs7TUFDUCxJQUFRRCxPQUFSLEdBQW9CLEtBQUtELEtBQXpCLENBQVFDLE9BQVI7TUFDQSxPQUNFLG9CQUFDLFlBQUQ7UUFDRSxPQUFPLEVBQUVBLE9BRFg7UUFFRSxlQUFlLEVBQUUseUJBQUNFLElBQUQsRUFBT0MsT0FBUCxFQUFtQjtVQUNsQyxJQUFJQSxPQUFPLENBQUNDLE1BQVIsS0FBbUIsU0FBbkIsSUFBZ0MsQ0FBQ0YsSUFBckMsRUFBMkM7WUFDekMsTUFBSSxDQUFDRyxRQUFMLENBQWM7Y0FBRUwsT0FBTyxFQUFFO1lBQVgsQ0FBZDtVQUNELENBRkQsTUFFTztZQUNMLE1BQUksQ0FBQ0ssUUFBTCxDQUFjO2NBQUVM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