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>

119 lines (118 loc) 17.5 kB
"use strict"; 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); } var React = _interopRequireWildcard(require("react")); var _testUtils = require("react-dom/test-utils"); var _enzyme = require("enzyme"); var _ = _interopRequireDefault(require("..")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } describe("Tooltip", function () { beforeEach(function () { jest.useFakeTimers(); }); afterEach(function () { jest.useRealTimers(); }); it("是否能内部驱动", function () { var wrapper = (0, _enzyme.mount)(React.createElement(_["default"], { alignEdge: true, placement: "top", mouseEnterDelay: 0, mouseLeaveDelay: 0, popup: React.createElement("div", { id: "popup" }, "popup") }, React.createElement("div", { id: "children" }, "children"))); var child = wrapper.find("#children").at(0); child.simulate("mouseenter"); expect(wrapper.find("Trigger").at(0).props().popupVisible).toBe(true); child.simulate("mouseleave"); expect(wrapper.find("Trigger").at(0).props().popupVisible).toBe(false); }); }); describe("Tooltip 测试 handlePopupAlign - Top", function () { beforeEach(function () { jest.useFakeTimers(); Element.prototype.getBoundingClientRect = jest.fn(function () { return { width: 120, height: 120, top: -10, left: 0, bottom: 0, right: 0, x: 0, y: -10, toJSON: function toJSON() {} }; }); }); it("是否处理 PopupAlign", function () { document.body.innerHTML = '<div id="mounter" />'; var wrapper = (0, _enzyme.mount)(React.createElement(_["default"], { test: true, visible: true, placement: "top", mouseEnterDelay: 0, mouseLeaveDelay: 0, popup: "popup" }, React.createElement("div", { id: "children" }, "children")), { attachTo: document.getElementById("mounter") }); document.body.scrollTop = 0; var child = wrapper.find("#children").at(0); (0, _testUtils.act)(function () { child.simulate("mouseenter"); jest.runAllTimers(); wrapper.update(); }); expect(wrapper.find("PopTrigger").at(0).props().popupPlacement).toBe("bottom"); }); }); describe("Tooltip 测试 handlePopupAlign - Bottom", function () { beforeEach(function () { jest.useFakeTimers(); Element.prototype.getBoundingClientRect = jest.fn(function () { return { width: 120, height: 120, top: 1000, left: 0, bottom: 0, right: 0, x: 0, y: 1000, toJSON: function toJSON() {} }; }); }); it("是否处理 PopupAlign", function () { document.body.innerHTML = '<div id="mounter" />'; var wrapper = (0, _enzyme.mount)(React.createElement(_["default"], { test: true, visible: true, placement: "bottom", mouseEnterDelay: 0, mouseLeaveDelay: 0, popup: "popup" }, React.createElement("div", { id: "children" }, "children")), { attachTo: document.getElementById("mounter") }); document.body.scrollTop = 0; var child = wrapper.find("#children").at(0); (0, _testUtils.act)(function () { child.simulate("mouseenter"); jest.runAllTimers(); wrapper.update(); }); expect(wrapper.find("PopTrigger").at(0).props().popupPlacement).toBe("top"); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl90ZXN0VXRpbHMiLCJfZW56eW1lIiwiXyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIldlYWtNYXAiLCJyIiwidCIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJqZXN0IiwidXNlRmFrZVRpbWVycyIsImFmdGVyRWFjaCIsInVzZVJlYWxUaW1lcnMiLCJpdCIsIndyYXBwZXIiLCJtb3VudCIsImNyZWF0ZUVsZW1lbnQiLCJhbGlnbkVkZ2UiLCJwbGFjZW1lbnQiLCJtb3VzZUVudGVyRGVsYXkiLCJtb3VzZUxlYXZlRGVsYXkiLCJwb3B1cCIsImlkIiwiY2hpbGQiLCJmaW5kIiwiYXQiLCJzaW11bGF0ZSIsImV4cGVjdCIsInByb3BzIiwicG9wdXBWaXNpYmxlIiwidG9CZSIsIkVsZW1lbnQiLCJwcm90b3R5cGUiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJmbiIsIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwieCIsInkiLCJ0b0pTT04iLCJkb2N1bWVudCIsImJvZHkiLCJpbm5lckhUTUwiLCJ0ZXN0IiwidmlzaWJsZSIsImF0dGFjaFRvIiwiZ2V0RWxlbWVudEJ5SWQiLCJzY3JvbGxUb3AiLCJhY3QiLCJydW5BbGxUaW1lcnMiLCJ1cGRhdGUiLCJwb3B1cFBsYWNlbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvdG9vbHRpcC9fX3Rlc3RzX18vaW5kZXgudGVzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbi8qKlxuICogVG9vbHRpcCDmmK/ln7rkuo4gUG9wVHJpZ2dlciDov5vooYzlsIHoo4XnmoTjgIJcbiAqIOmZpOmdnuS4jiBUb29sdGlwIOebuOWFs++8jOWQpuWImea1i+ivleeUqOS+i+mDveW6lOWcqCBQb3BUcmlnZ2VyIOS4i+OAglxuICovXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgYWN0IH0gZnJvbSBcInJlYWN0LWRvbS90ZXN0LXV0aWxzXCJcbmltcG9ydCB7IG1vdW50IH0gZnJvbSBcImVuenltZVwiXG5pbXBvcnQgVG9vbHRpcCBmcm9tIFwiLi5cIlxuXG5kZXNjcmliZShcIlRvb2x0aXBcIiwgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBqZXN0LnVzZUZha2VUaW1lcnMoKVxuICB9KVxuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgamVzdC51c2VSZWFsVGltZXJzKClcbiAgfSlcblxuICBpdChcIuaYr+WQpuiDveWGhemDqOmpseWKqFwiLCAoKSA9PiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IG1vdW50KFxuICAgICAgPFRvb2x0aXBcbiAgICAgICAgYWxpZ25FZGdlXG4gICAgICAgIHBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgIG1vdXNlRW50ZXJEZWxheT17MH1cbiAgICAgICAgbW91c2VMZWF2ZURlbGF5PXswfVxuICAgICAgICBwb3B1cD17PGRpdiBpZD1cInBvcHVwXCI+cG9wdXA8L2Rpdj59XG4gICAgICA+XG4gICAgICAgIDxkaXYgaWQ9XCJjaGlsZHJlblwiPmNoaWxkcmVuPC9kaXY+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5maW5kKFwiI2NoaWxkcmVuXCIpLmF0KDApXG4gICAgY2hpbGQuc2ltdWxhdGUoXCJtb3VzZWVudGVyXCIpXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlRyaWdnZXJcIikuYXQoMCkucHJvcHMoKS5wb3B1cFZpc2libGUpLnRvQmUodHJ1ZSlcbiAgICBjaGlsZC5zaW11bGF0ZShcIm1vdXNlbGVhdmVcIilcbiAgICBleHBlY3Qod3JhcHBlci5maW5kKFwiVHJpZ2dlclwiKS5hdCgwKS5wcm9wcygpLnBvcHVwVmlzaWJsZSkudG9CZShmYWxzZSlcbiAgfSlcbn0pXG5cbmRlc2NyaWJlKFwiVG9vbHRpcCDmtYvor5UgaGFuZGxlUG9wdXBBbGlnbiAtIFRvcFwiLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGplc3QudXNlRmFrZVRpbWVycygpXG5cbiAgICAvKipcbiAgICAgKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDAwMDY2NjNcbiAgICAgKiDpgJrov4cgbW9jayBgZ2V0Qm91bmRpbmdDbGllbnRSZWN0YO+8jOS5i+WQjui/kOihjOeahOaJgOaciSBgZ2V0Qm91bmRpbmdDbGllbnRSZWN0YCDpg73kvJrov5Tlm57ov5nlkIzkuIDkuKrlgLzjgIJcbiAgICAgKi9cbiAgICBFbGVtZW50LnByb3RvdHlwZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QgPSBqZXN0LmZuKCgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoOiAxMjAsXG4gICAgICAgIGhlaWdodDogMTIwLFxuICAgICAgICB0b3A6IC0xMCxcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICByaWdodDogMCxcbiAgICAgICAgeDogMCxcbiAgICAgICAgeTogLTEwLFxuICAgICAgICB0b0pTT046ICgpID0+IHt9LFxuICAgICAgfVxuICAgIH0pXG4gIH0pXG5cbiAgaXQoXCLmmK/lkKblpITnkIYgUG9wdXBBbGlnblwiLCAoKSA9PiB7XG4gICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPGRpdiBpZD1cIm1vdW50ZXJcIiAvPidcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoXG4gICAgICA8VG9vbHRpcFxuICAgICAgICB0ZXN0XG4gICAgICAgIHZpc2libGVcbiAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgbW91c2VFbnRlckRlbGF5PXswfVxuICAgICAgICBtb3VzZUxlYXZlRGVsYXk9ezB9XG4gICAgICAgIHBvcHVwPVwicG9wdXBcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGlkPVwiY2hpbGRyZW5cIj5jaGlsZHJlbjwvZGl2PlxuICAgICAgPC9Ub29sdGlwPixcbiAgICAgIHsgYXR0YWNoVG86IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwibW91bnRlclwiKSB9XG4gICAgKVxuICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0gMFxuICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5maW5kKFwiI2NoaWxkcmVuXCIpLmF0KDApXG4gICAgYWN0KCgpID0+IHtcbiAgICAgIGNoaWxkLnNpbXVsYXRlKFwibW91c2VlbnRlclwiKVxuICAgICAgLy8gamVzdCBydW5BbGxUaW1lcnMg5piv5Li65LqG6Kem5Y+RIFRvb2x0aXAg5YaF55qEIHNldFRpbWVvdXQgMFxuICAgICAgamVzdC5ydW5BbGxUaW1lcnMoKVxuICAgICAgLy8g5b+F6aG75omn6KGMIHdyYXBwZXIudXBkYXRlIOWQpuWImeaLv+WIsOeahCBwcm9wIOi/mOaYr+aXp+eahFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VuenltZWpzL2VuenltZSNyZWFjdC1ob29rcy1zdXBwb3J0XG4gICAgICAvLyDooYDnmoTmlZnorq1cbiAgICAgIHdyYXBwZXIudXBkYXRlKClcbiAgICB9KVxuXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlBvcFRyaWdnZXJcIikuYXQoMCkucHJvcHMoKS5wb3B1cFBsYWNlbWVudCkudG9CZShcbiAgICAgIFwiYm90dG9tXCJcbiAgICApXG4gIH0pXG59KVxuXG5kZXNjcmliZShcIlRvb2x0aXAg5rWL6K+VIGhhbmRsZVBvcHVwQWxpZ24gLSBCb3R0b21cIiwgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBqZXN0LnVzZUZha2VUaW1lcnMoKVxuXG4gICAgLyoqXG4gICAgICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzQwMDA2NjYzXG4gICAgICog6YCa6L+HIG1vY2sgYGdldEJvdW5kaW5nQ2xpZW50UmVjdGDvvIzkuYvlkI7ov5DooYznmoTmiYDmnIkgYGdldEJvdW5kaW5nQ2xpZW50UmVjdGAg6YO95Lya6L+U5Zue6L+Z5ZCM5LiA5Liq5YC844CCXG4gICAgICovXG4gICAgRWxlbWVudC5wcm90b3R5cGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ID0gamVzdC5mbigoKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aDogMTIwLFxuICAgICAgICBoZWlnaHQ6IDEyMCxcbiAgICAgICAgdG9wOiAxMDAwLFxuICAgICAgICBsZWZ0OiAwLFxuICAgICAgICBib3R0b206IDAsXG4gICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICB4OiAwLFxuICAgICAgICB5OiAxMDAwLFxuICAgICAgICB0b0pTT046ICgpID0+IHt9LFxuICAgICAgfVxuICAgIH0pXG4gIH0pXG5cbiAgaXQoXCLmmK/lkKblpITnkIYgUG9wdXBBbGlnblwiLCAoKSA9PiB7XG4gICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPGRpdiBpZD1cIm1vdW50ZXJcIiAvPidcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoXG4gICAgICA8VG9vbHRpcFxuICAgICAgICB0ZXN0XG4gICAgICAgIHZpc2libGVcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgbW91c2VFbnRlckRlbGF5PXswfVxuICAgICAgICBtb3VzZUxlYXZlRGVsYXk9ezB9XG4gICAgICAgIHBvcHVwPVwicG9wdXBcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGlkPVwiY2hpbGRyZW5cIj5jaGlsZHJlbjwvZGl2PlxuICAgICAgPC9Ub29sdGlwPixcbiAgICAgIHsgYXR0YWNoVG86IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwibW91bnRlclwiKSB9XG4gICAgKVxuICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0gMFxuICAgIGNvbnN0IGNoaWxkID0gd3JhcHBlci5maW5kKFwiI2NoaWxkcmVuXCIpLmF0KDApXG4gICAgYWN0KCgpID0+IHtcbiAgICAgIGNoaWxkLnNpbXVsYXRlKFwibW91c2VlbnRlclwiKVxuICAgICAgLy8gamVzdCBydW5BbGxUaW1lcnMg5piv5Li65LqG6Kem5Y+RIFRvb2x0aXAg5YaF55qEIHNldFRpbWVvdXQgMFxuICAgICAgamVzdC5ydW5BbGxUaW1lcnMoKVxuICAgICAgLy8g5b+F6aG75omn6KGMIHdyYXBwZXIudXBkYXRlIOWQpuWImeaLv+WIsOeahCBwcm9wIOi/mOaYr+aXp+eahFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VuenltZWpzL2VuenltZSNyZWFjdC1ob29rcy1zdXBwb3J0XG4gICAgICAvLyDooYDnmoTmlZnorq1cbiAgICAgIHdyYXBwZXIudXBkYXRlKClcbiAgICB9KVxuXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlBvcFRyaWdnZXJcIikuYXQoMCkucHJvcHMoKS5wb3B1cFBsYWNlbWVudCkudG9CZShcInRvcFwiKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsQ0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQXdCLFNBQUFJLHVCQUFBQyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSx5QkFBQUYsQ0FBQSw2QkFBQUcsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRCx3QkFBQSxZQUFBQSx5QkFBQUYsQ0FBQSxXQUFBQSxDQUFBLEdB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