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>

140 lines 21.6 kB
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 _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } 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 React, { Component } from "react"; import { mount } from "enzyme"; import TestRenderer from "react-test-renderer"; import ColorPicker from ".."; import { act } from "react-dom/test-utils"; var ColorPickerMounter = function (_Component) { function ColorPickerMounter() { var _this; _classCallCheck(this, ColorPickerMounter); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _callSuper(this, ColorPickerMounter, [].concat(args)); _this.state = { value: "#07C160" }; return _this; } _inherits(ColorPickerMounter, _Component); return _createClass(ColorPickerMounter, [{ key: "render", value: function render() { var _this2 = this; var value = this.state.value; return React.createElement(ColorPicker, _extends({ value: value, onChange: function onChange(val) { return _this2.setState({ value: val }); } }, this.props)); } }]); }(Component); describe("ColorPicker", function () { beforeAll(function () { jest.useFakeTimers(); }); afterAll(function () { jest.useRealTimers(); }); it("是否正确渲染", function () { var wrapper = TestRenderer.create(React.createElement(ColorPicker, { defaultValue: "#07C160" })); expect(wrapper).toMatchSnapshot(); }); it("是否能处理小写值的情况", function () { var wrapper = mount(React.createElement(ColorPicker, { defaultValue: "#07c160" })); var value = wrapper.find(".adui-cp").at(0).props()["data-value"]; var inputValue = wrapper.find("Input").at(0).props().value; expect(inputValue === "07C160" && value === "#07C160").toBe(true); }); it("内部驱动", function () { var wrapper = mount(React.createElement(ColorPicker, { defaultValue: "#07C160" })); wrapper.find("button").simulate("click"); wrapper.find(".adui-cp-standard i").at(0).simulate("click"); var value = wrapper.find(".adui-cp").at(0).props()["data-value"]; var inputValue = wrapper.find("Input").at(0).props().value; expect(inputValue === "FFFFFF" && value === "#FFFFFF").toBe(true); wrapper.find("input").at(0).simulate("change", { target: { value: "F0F0F0" } }); var value1 = wrapper.find(".adui-cp").at(0).props()["data-value"]; var inputValue1 = wrapper.find("Input").at(0).props().value; expect(inputValue1 === "F0F0F0" && value1 === "#F0F0F0").toBe(true); }); it("外部控制", function () { var wrapper = mount(React.createElement(ColorPickerMounter, null)); wrapper.find("button").simulate("click"); act(function () { wrapper.find(".adui-cp-standard i").at(0).simulate("click"); jest.runAllTimers(); wrapper.update(); var value = wrapper.find(".adui-cp").at(0).props()["data-value"]; var inputValue = wrapper.find("Input").at(0).props().value; expect(inputValue === "FFFFFF" && value === "#FFFFFF" && wrapper.state().value === "#FFFFFF").toBe(true); }); wrapper.find("input").at(0).simulate("change", { target: { value: "F0F0F0" } }); var value1 = wrapper.find(".adui-cp").at(0).props()["data-value"]; var inputValue1 = wrapper.find("Input").at(0).props().value; expect(inputValue1 === "F0F0F0" && value1 === "#F0F0F0" && wrapper.state().value === "#F0F0F0").toBe(true); }); it("禁用态", function () { var wrapper = mount(React.createElement(ColorPicker, { defaultValue: "#07C160", disabled: true })); wrapper.find("button").simulate("click"); expect(wrapper.find("Popover").props().visible).toBe(false); }); it("popupResultVisible", function () { var wrapper0 = mount(React.createElement(ColorPicker, { defaultValue: "#07C160" })); var wrapper1 = mount(React.createElement(ColorPicker, { defaultValue: "#07C160", popupResultVisible: false })); wrapper0.find("button").simulate("click"); wrapper1.find("button").simulate("click"); expect(wrapper0.find("input")).toHaveLength(2); expect(wrapper1.find("input")).toHaveLength(1); }); it("handlePrefixClick 验证", function () { var wrapper = mount(React.createElement(ColorPicker, { defaultValue: "#07C160" })); wrapper.find(".adui-cp-prefix").simulate("click"); wrapper.find("button").simulate("click"); jest.advanceTimersByTime(50); wrapper.find(".adui-cp-prefix").at(1).simulate("click"); }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkNvbXBvbmVudCIsIm1vdW50IiwiVGVzdFJlbmRlcmVyIiwiQ29sb3JQaWNrZXIiLCJhY3QiLCJDb2xvclBpY2tlck1vdW50ZXIiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsIl9jYWxsU3VwZXIiLCJjb25jYXQiLCJzdGF0ZSIsInZhbHVlIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwicmVuZGVyIiwiX3RoaXMyIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwib25DaGFuZ2UiLCJ2YWwiLCJzZXRTdGF0ZSIsInByb3BzIiwiZGVzY3JpYmUiLCJiZWZvcmVBbGwiLCJqZXN0IiwidXNlRmFrZVRpbWVycyIsImFmdGVyQWxsIiwidXNlUmVhbFRpbWVycyIsIml0Iiwid3JhcHBlciIsImNyZWF0ZSIsImRlZmF1bHRWYWx1ZSIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsImZpbmQiLCJhdCIsImlucHV0VmFsdWUiLCJ0b0JlIiwic2ltdWxhdGUiLCJ0YXJnZXQiLCJ2YWx1ZTEiLCJpbnB1dFZhbHVlMSIsInJ1bkFsbFRpbWVycyIsInVwZGF0ZSIsImRpc2FibGVkIiwidmlzaWJsZSIsIndyYXBwZXIwIiwid3JhcHBlcjEiLCJwb3B1cFJlc3VsdFZpc2libGUiLCJ0b0hhdmVMZW5ndGgiLCJhZHZhbmNlVGltZXJzQnlUaW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9jb2xvci1waWNrZXIvX190ZXN0c19fL2luZGV4LnRlc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IG1vdW50IH0gZnJvbSBcImVuenltZVwiXG5pbXBvcnQgVGVzdFJlbmRlcmVyIGZyb20gXCJyZWFjdC10ZXN0LXJlbmRlcmVyXCJcbi8vIGltcG9ydCB7IGFjdCB9IGZyb20gXCJyZWFjdC1kb20vdGVzdC11dGlsc1wiXG5pbXBvcnQgQ29sb3JQaWNrZXIgZnJvbSBcIi4uXCJcbmltcG9ydCB7IGFjdCB9IGZyb20gXCJyZWFjdC1kb20vdGVzdC11dGlsc1wiXG5cbmNsYXNzIENvbG9yUGlja2VyTW91bnRlciBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIHZhbHVlOiBcIiMwN0MxNjBcIixcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnN0YXRlXG4gICAgcmV0dXJuIChcbiAgICAgIDxDb2xvclBpY2tlclxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIG9uQ2hhbmdlPXsodmFsKSA9PiB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IHZhbCB9KX1cbiAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAvPlxuICAgIClcbiAgfVxufVxuXG5kZXNjcmliZShcIkNvbG9yUGlja2VyXCIsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBqZXN0LnVzZUZha2VUaW1lcnMoKVxuICB9KVxuXG4gIGFmdGVyQWxsKCgpID0+IHtcbiAgICBqZXN0LnVzZVJlYWxUaW1lcnMoKVxuICB9KVxuXG4gIGl0KFwi5piv5ZCm5q2j56Gu5riy5p+TXCIsICgpID0+IHtcbiAgICBjb25zdCB3cmFwcGVyID0gVGVzdFJlbmRlcmVyLmNyZWF0ZSg8Q29sb3JQaWNrZXIgZGVmYXVsdFZhbHVlPVwiIzA3QzE2MFwiIC8+KVxuICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKVxuICB9KVxuXG4gIGl0KFwi5piv5ZCm6IO95aSE55CG5bCP5YaZ5YC855qE5oOF5Ya1XCIsICgpID0+IHtcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoPENvbG9yUGlja2VyIGRlZmF1bHRWYWx1ZT1cIiMwN2MxNjBcIiAvPilcbiAgICBjb25zdCB2YWx1ZSA9IHdyYXBwZXIuZmluZChcIi5hZHVpLWNwXCIpLmF0KDApLnByb3BzKClbXCJkYXRhLXZhbHVlXCJdXG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHdyYXBwZXIuZmluZChcIklucHV0XCIpLmF0KDApLnByb3BzKCkudmFsdWVcbiAgICBleHBlY3QoaW5wdXRWYWx1ZSA9PT0gXCIwN0MxNjBcIiAmJiB2YWx1ZSA9PT0gXCIjMDdDMTYwXCIpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdChcIuWGhemDqOmpseWKqFwiLCAoKSA9PiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IG1vdW50KDxDb2xvclBpY2tlciBkZWZhdWx0VmFsdWU9XCIjMDdDMTYwXCIgLz4pXG4gICAgd3JhcHBlci5maW5kKFwiYnV0dG9uXCIpLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICB3cmFwcGVyLmZpbmQoXCIuYWR1aS1jcC1zdGFuZGFyZCBpXCIpLmF0KDApLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICBjb25zdCB2YWx1ZSA9IHdyYXBwZXIuZmluZChcIi5hZHVpLWNwXCIpLmF0KDApLnByb3BzKClbXCJkYXRhLXZhbHVlXCJdXG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHdyYXBwZXIuZmluZChcIklucHV0XCIpLmF0KDApLnByb3BzKCkudmFsdWVcbiAgICBleHBlY3QoaW5wdXRWYWx1ZSA9PT0gXCJGRkZGRkZcIiAmJiB2YWx1ZSA9PT0gXCIjRkZGRkZGXCIpLnRvQmUodHJ1ZSlcblxuICAgIHdyYXBwZXJcbiAgICAgIC5maW5kKFwiaW5wdXRcIilcbiAgICAgIC5hdCgwKVxuICAgICAgLnNpbXVsYXRlKFwiY2hhbmdlXCIsIHsgdGFyZ2V0OiB7IHZhbHVlOiBcIkYwRjBGMFwiIH0gfSlcblxuICAgIGNvbnN0IHZhbHVlMSA9IHdyYXBwZXIuZmluZChcIi5hZHVpLWNwXCIpLmF0KDApLnByb3BzKClbXCJkYXRhLXZhbHVlXCJdXG4gICAgY29uc3QgaW5wdXRWYWx1ZTEgPSB3cmFwcGVyLmZpbmQoXCJJbnB1dFwiKS5hdCgwKS5wcm9wcygpLnZhbHVlXG4gICAgZXhwZWN0KGlucHV0VmFsdWUxID09PSBcIkYwRjBGMFwiICYmIHZhbHVlMSA9PT0gXCIjRjBGMEYwXCIpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdChcIuWklumDqOaOp+WItlwiLCAoKSA9PiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IG1vdW50KDxDb2xvclBpY2tlck1vdW50ZXIgLz4pXG5cbiAgICB3cmFwcGVyLmZpbmQoXCJidXR0b25cIikuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGFjdCgoKSA9PiB7XG4gICAgICB3cmFwcGVyLmZpbmQoXCIuYWR1aS1jcC1zdGFuZGFyZCBpXCIpLmF0KDApLnNpbXVsYXRlKFwiY2xpY2tcIilcbiAgICAgIGplc3QucnVuQWxsVGltZXJzKClcbiAgICAgIHdyYXBwZXIudXBkYXRlKClcbiAgICAgIGNvbnN0IHZhbHVlID0gd3JhcHBlci5maW5kKFwiLmFkdWktY3BcIikuYXQoMCkucHJvcHMoKVtcImRhdGEtdmFsdWVcIl1cbiAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSB3cmFwcGVyLmZpbmQoXCJJbnB1dFwiKS5hdCgwKS5wcm9wcygpLnZhbHVlXG4gICAgICBleHBlY3QoXG4gICAgICAgIGlucHV0VmFsdWUgPT09IFwiRkZGRkZGXCIgJiZcbiAgICAgICAgICB2YWx1ZSA9PT0gXCIjRkZGRkZGXCIgJiZcbiAgICAgICAgICB3cmFwcGVyLnN0YXRlKCkudmFsdWUgPT09IFwiI0ZGRkZGRlwiXG4gICAgICApLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIHdyYXBwZXJcbiAgICAgIC5maW5kKFwiaW5wdXRcIilcbiAgICAgIC5hdCgwKVxuICAgICAgLnNpbXVsYXRlKFwiY2hhbmdlXCIsIHsgdGFyZ2V0OiB7IHZhbHVlOiBcIkYwRjBGMFwiIH0gfSlcbiAgICBjb25zdCB2YWx1ZTEgPSB3cmFwcGVyLmZpbmQoXCIuYWR1aS1jcFwiKS5hdCgwKS5wcm9wcygpW1wiZGF0YS12YWx1ZVwiXVxuICAgIGNvbnN0IGlucHV0VmFsdWUxID0gd3JhcHBlci5maW5kKFwiSW5wdXRcIikuYXQoMCkucHJvcHMoKS52YWx1ZVxuICAgIGV4cGVjdChcbiAgICAgIGlucHV0VmFsdWUxID09PSBcIkYwRjBGMFwiICYmXG4gICAgICAgIHZhbHVlMSA9PT0gXCIjRjBGMEYwXCIgJiZcbiAgICAgICAgd3JhcHBlci5zdGF0ZSgpLnZhbHVlID09PSBcIiNGMEYwRjBcIlxuICAgICkudG9CZSh0cnVlKVxuICB9KVxuXG4gIGl0KFwi56aB55So5oCBXCIsICgpID0+IHtcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoPENvbG9yUGlja2VyIGRlZmF1bHRWYWx1ZT1cIiMwN0MxNjBcIiBkaXNhYmxlZCAvPilcbiAgICB3cmFwcGVyLmZpbmQoXCJidXR0b25cIikuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoXCJQb3BvdmVyXCIpLnByb3BzKCkudmlzaWJsZSkudG9CZShmYWxzZSlcbiAgfSlcblxuICBpdChcInBvcHVwUmVzdWx0VmlzaWJsZVwiLCAoKSA9PiB7XG4gICAgY29uc3Qgd3JhcHBlcjAgPSBtb3VudCg8Q29sb3JQaWNrZXIgZGVmYXVsdFZhbHVlPVwiIzA3QzE2MFwiIC8+KVxuICAgIGNvbnN0IHdyYXBwZXIxID0gbW91bnQoXG4gICAgICA8Q29sb3JQaWNrZXIgZGVmYXVsdFZhbHVlPVwiIzA3QzE2MFwiIHBvcHVwUmVzdWx0VmlzaWJsZT17ZmFsc2V9IC8+XG4gICAgKVxuICAgIHdyYXBwZXIwLmZpbmQoXCJidXR0b25cIikuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIHdyYXBwZXIxLmZpbmQoXCJidXR0b25cIikuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdCh3cmFwcGVyMC5maW5kKFwiaW5wdXRcIikpLnRvSGF2ZUxlbmd0aCgyKVxuICAgIGV4cGVjdCh3cmFwcGVyMS5maW5kKFwiaW5wdXRcIikpLnRvSGF2ZUxlbmd0aCgxKVxuICB9KVxuXG4gIGl0KFwiaGFuZGxlUHJlZml4Q2xpY2sg6aqM6K+BXCIsICgpID0+IHtcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoPENvbG9yUGlja2VyIGRlZmF1bHRWYWx1ZT1cIiMwN0MxNjBcIiAvPilcbiAgICB3cmFwcGVyLmZpbmQoXCIuYWR1aS1jcC1wcmVmaXhcIikuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIHdyYXBwZXIuZmluZChcImJ1dHRvblwiKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgamVzdC5hZHZhbmNlVGltZXJzQnlUaW1lKDUwKVxuICAgIHdyYXBwZXIuZmluZChcIi5hZHVpLWNwLXByZWZpeFwiKS5hdCgxKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUNBLE9BQU9BLEtBQUssSUFBSUMsU0FBUyxRQUFRLE9BQU87QUFDeEMsU0FBU0MsS0FBSyxRQUFRLFFBQVE7QUFDOUIsT0FBT0MsWUFBWSxNQUFNLHFCQUFxQjtBQUU5QyxPQUFPQyxXQUFXLE1BQU0sSUFBSTtBQUM1QixTQUFTQyxHQUFHLFFBQVEsc0JBQXNCO0FBQUEsSUFFcENDLGtCQUFrQixhQUFBQyxVQUFBO0VBQUEsU0FBQUQsbUJBQUE7SUFBQSxJQUFBRSxLQUFBO0lBQUFDLGVBQUEsT0FBQUgsa0JBQUE7SUFBQSxTQUFBSSxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUFBQyxJQUFBLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO01BQUFGLElBQUEsQ0FBQUUsSUFBQSxJQUFBSixTQUFBLENBQUFJLElBQUE7SUFBQTtJQUFBUCxLQUFBLEdBQUFRLFVBQUEsT0FBQVYsa0JBQUEsS0FBQVcsTUFBQSxDQUFBSixJQUFBO0lBQUFMLEtBQUEsQ0FDdEJVLEtBQUssR0FBRztNQUNOQyxLQUFLLEVBQUU7SUFDVCxDQUFDO0lBQUEsT0FBQVgsS0FBQTtFQUFBO0VBQUFZLFNBQUEsQ0FBQWQsa0JB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