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>
113 lines • 14.4 kB
JavaScript
import * as React from "react";
import { act } from "react-dom/test-utils";
import { mount } from "enzyme";
import Tooltip from "..";
describe("Tooltip", function () {
beforeEach(function () {
jest.useFakeTimers();
});
afterEach(function () {
jest.useRealTimers();
});
it("是否能内部驱动", function () {
var wrapper = mount(React.createElement(Tooltip, {
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 = mount(React.createElement(Tooltip, {
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);
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 = mount(React.createElement(Tooltip, {
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);
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImFjdCIsIm1vdW50IiwiVG9vbHRpcCIsImRlc2NyaWJlIiwiYmVmb3JlRWFjaCIsImplc3QiLCJ1c2VGYWtlVGltZXJzIiwiYWZ0ZXJFYWNoIiwidXNlUmVhbFRpbWVycyIsIml0Iiwid3JhcHBlciIsImNyZWF0ZUVsZW1lbnQiLCJhbGlnbkVkZ2UiLCJwbGFjZW1lbnQiLCJtb3VzZUVudGVyRGVsYXkiLCJtb3VzZUxlYXZlRGVsYXkiLCJwb3B1cCIsImlkIiwiY2hpbGQiLCJmaW5kIiwiYXQiLCJzaW11bGF0ZSIsImV4cGVjdCIsInByb3BzIiwicG9wdXBWaXNpYmxlIiwidG9CZSIsIkVsZW1lbnQiLCJwcm90b3R5cGUiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJmbiIsIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwieCIsInkiLCJ0b0pTT04iLCJkb2N1bWVudCIsImJvZHkiLCJpbm5lckhUTUwiLCJ0ZXN0IiwidmlzaWJsZSIsImF0dGFjaFRvIiwiZ2V0RWxlbWVudEJ5SWQiLCJzY3JvbGxUb3AiLCJydW5BbGxUaW1lcnMiLCJ1cGRhdGUiLCJwb3B1cFBsYWNlbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvdG9vbHRpcC9fX3Rlc3RzX18vaW5kZXgudGVzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbi8qKlxuICogVG9vbHRpcCDmmK/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+eahFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VuenltZWpzL2VuenltZSNyZWFjdC1ob29rcy1zdXBwb3J0XG4gICAgICAvLyDooYDnmoTmlZnorq1cbiAgICAgIHdyYXBwZXIudXBkYXRlKClcbiAgICB9KVxuXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlBvcFRyaWdnZXJcIikuYXQoMCkucHJvcHMoKS5wb3B1cFBsYWNlbWVudCkudG9CZShcInRvcFwiKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxHQUFHLFFBQVEsc0JBQXNCO0FBQzFDLFNBQVNDLEtBQUssUUFBUSxRQUFRO0FBQzlCLE9BQU9DLE9BQU8sTUFBTSxJQUFJO0FBRXhCQyxRQUFRLENBQUMsU0FBUyxFQUFFLFlBQU07RUFDeEJDLFVBQVUsQ0FBQyxZQUFNO0lBQ2ZDLElBQUksQ0FBQ0MsYUFBYSxDQUFDLENBQUM7RUFDdEIsQ0FBQyxDQUFDO0VBRUZDLFNBQVMsQ0FBQyxZQUFNO0lBQ2RGLElBQUksQ0FBQ0csYUFBYSxDQUFDLENBQUM7RUFDdEIsQ0FBQyxDQUFDO0VBRUZDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBTTtJQUNsQixJQUFNQyxPQUFPLEdBQUdULEtBQUssQ0FDbkJGLEtBQUEsQ0FBQVksYUFBQSxDQUFDVCxPQUFPO01BQ05VLFNBQVM7TUFDVEMsU0FBUyxFQUFDLEtBQUs7TUFDZkMsZUFBZSxFQUFFLENBQUU7TUFDbkJDLGVBQWUsRUFBRSxDQUFFO01BQ25CQyxLQUFLLEVBQUVqQixLQUFBLENBQUFZLGFBQUE7UUFBS00sRUFBRSxFQUFDO01BQU8sR0FBQyxPQUFVO0lBQUUsR0FFbkNsQixLQUFBLENBQUFZLGFBQUE7TUFBS00sRUFBRSxFQUFDO0lBQVUsR0FBQyxVQUFhLENBQ3pCLENBQ1gsQ0FBQztJQUNELElBQU1DLEtBQUss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T0FBTyxDQUFDQyxTQUFTLENBQUNDLHFCQUFxQixHQUFHdkIsSUFBSSxDQUFDd0IsRUFBRSxDQUFDLFlBQU07TUFDdEQsT0FBTztRQUNMQyxLQUFLLEVBQUUsR0FBRztRQUNWQyxNQUFNLEVBQUUsR0FBRztRQUNYQyxHQUFHLEVBQUUsSUFBSTtRQUNUQyxJQUFJLEVBQUUsQ0FBQztRQUNQQyxNQUFNLEVBQUUsQ0FBQztRQUNUQyxLQUFLLEVBQUUsQ0FBQztRQUNSQyxDQUFDLEVBQUUsQ0FBQztRQUNKQyxDQUFDLEVBQUUsSUFBSTtRQUNQQyxNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBQSxFQUFRLENBQUM7TUFDakIsQ0FBQztJQUNILENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGN0IsRUFBRSxDQUFDLGlCQUFpQixFQUFFLFlBQU07SUFDMUI4QixRQUFRLENBQUNDLElBQUksQ0FBQ0MsU0FBUyxHQUFHLHNCQUFzQjtJQUNoRCxJQUFNL0IsT0FBTyxHQUFHVCxLQUFLLENBQ25CRixLQUFBLENBQUFZLGFBQUEsQ0FBQ1QsT0FBTztNQUNOd0MsSUFBSTtNQUNKQyxPQUFPO01BQ1A5QixTQUFTLEVBQUMsUUFBUTtNQUNsQkMsZUFBZSxFQUFFLENBQUU7TUFDbkJDLGVBQWUsRUFBRSxDQUFFO01BQ25CQyxLQUFLLEVBQUM7SUFBTyxHQUViakIsS0FBQSxDQUFBWSxhQUFBO01BQUtNLEVBQUUsRUFBQztJQUFVLEdBQUMsVUFBYSxDQUN6QixDQUFDLEVBQ1Y7TUFBRTJCLFFBQVEsRUFBRUwsUUFBUSxDQUFDTSxjQUFjLENBQUMsU0FBUztJQUFFLENBQ2pELENBQUM7SUFDRE4sUUFBUSxDQUFDQyxJQUFJLENBQUNNLFNBQVMsR0FBRyxDQUFDO0lBQzNCLElBQU01QixLQUFLLEdBQUdSLE9BQU8sQ0FBQ1MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdDcEIsR0FBRyxDQUFDLFlBQU07TUFDUmtCLEtBQUssQ0FBQ0csUUFBUSxDQUFDLFlBQVksQ0FBQztNQUU1QmhCLElBQUksQ0FBQzBDLFlBQVksQ0FBQyxDQUFDO01BSW5CckMsT0FBTyxDQUFDc0MsTUFBTSxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUYxQixNQUFNLENBQUNaLE9BQU8sQ0FBQ1MsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNHLEtBQUssQ0FBQyxDQUFDLENBQUMwQixjQUFjLENBQUMsQ0FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUM7RUFDN0UsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119