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>
130 lines • 17.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 Table from "..";
window.ResizeObserver = window.ResizeObserver || jest.fn().mockImplementation(function () {
return {
disconnect: jest.fn(),
observe: jest.fn(),
unobserve: jest.fn()
};
});
var Column = Table.Column;
var dataSource = [{
key: 0,
one: "第一项"
}, {
key: 1,
one: "第二项"
}, {
key: 2,
one: "第三项"
}];
var ExpandMounter = function (_React$Component) {
function ExpandMounter() {
var _this;
_classCallCheck(this, ExpandMounter);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _callSuper(this, ExpandMounter, [].concat(args));
_this.state = {
keys: null
};
return _this;
}
_inherits(ExpandMounter, _React$Component);
return _createClass(ExpandMounter, [{
key: "render",
value: function render() {
var _this2 = this;
var keys = this.state.keys;
return React.createElement(Table, {
dataSource: dataSource,
expandedRowKeys: keys,
onExpandChange: function onExpandChange(argKeys) {
return _this2.setState({
keys: argKeys
});
}
}, React.createElement(Column, {
title: "one",
dataIndex: "one"
}));
}
}]);
}(React.Component);
describe("base", function () {
it("快照核对", function () {
var wrapper = TestRenderer.create(React.createElement(Table, {
dataSource: dataSource,
defaultExpandedRowKeys: [1],
onExpandChange: function onExpandChange() {}
}, React.createElement(Column, {
title: "one",
dataIndex: "one"
})));
expect(wrapper).toMatchSnapshot();
});
it("是否能内部驱动", function () {
var onExpandChange = jest.fn();
var wrapper = mount(React.createElement(Table, {
dataSource: dataSource,
onExpandChange: onExpandChange,
defaultExpandedRowKeys: [1]
}, React.createElement(Column, {
title: "one",
dataIndex: "one"
})));
expect(wrapper.find("Table").state().expandedRowKeys).toEqual([1]);
wrapper.find("Icon").at(0).simulate("click");
expect(wrapper.find("Table").state().expandedRowKeys).toEqual([1, 0]);
});
it("是否能外部控制", function () {
var onExpandChange = jest.fn();
var wrapper0 = mount(React.createElement(Table, {
dataSource: dataSource,
onExpandChange: onExpandChange,
expandedRowKeys: [1]
}, React.createElement(Column, {
title: "one",
dataIndex: "one"
})));
expect(wrapper0.find("Table").state().expandedRowKeys).toEqual([1]);
wrapper0.find("Icon").at(0).simulate("click");
expect(wrapper0.find("Table").state().expandedRowKeys).toEqual([1]);
var wrapper1 = mount(React.createElement(ExpandMounter, null));
wrapper1.find("Icon").at(0).simulate("click");
expect(wrapper1.find("Table").state().expandedRowKeys).toEqual([0]);
wrapper1.find("Icon").at(0).simulate("click");
expect(wrapper1.find("Table").state().expandedRowKeys).toEqual([]);
});
it("是否支持 expandOnRowClick", function () {
var onExpandChange = jest.fn();
var wrapper = mount(React.createElement(Table, {
dataSource: dataSource,
defaultExpandedRowKeys: [1],
onExpandChange: onExpandChange,
expandOnRowClick: true
}, React.createElement(Column, {
title: "one",
dataIndex: "one"
})));
wrapper.find('[role="row"]').at(0).simulate("click");
expect(onExpandChange).toHaveBeenCalledWith([1, 0]);
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIm1vdW50IiwiVGVzdFJlbmRlcmVyIiwiVGFibGUiLCJ3aW5kb3ciLCJSZXNpemVPYnNlcnZlciIsImplc3QiLCJmbiIsIm1vY2tJbXBsZW1lbnRhdGlvbiIsImRpc2Nvbm5lY3QiLCJvYnNlcnZlIiwidW5vYnNlcnZlIiwiQ29sdW1uIiwiZGF0YVNvdXJjZSIsImtleSIsIm9uZSIsIkV4cGFuZE1vdW50ZXIiLCJfUmVhY3QkQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsIl9jYWxsU3VwZXIiLCJjb25jYXQiLCJzdGF0ZSIsImtleXMiLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJ2YWx1ZSIsInJlbmRlciIsIl90aGlzMiIsImNyZWF0ZUVsZW1lbnQiLCJleHBhbmRlZFJvd0tleXMiLCJvbkV4cGFuZENoYW5nZSIsImFyZ0tleXMiLCJzZXRTdGF0ZSIsInRpdGxlIiwiZGF0YUluZGV4IiwiQ29tcG9uZW50IiwiZGVzY3JpYmUiLCJpdCIsIndyYXBwZXIiLCJjcmVhdGUiLCJkZWZhdWx0RXhwYW5kZWRSb3dLZXlzIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwiZmluZCIsInRvRXF1YWwiLCJhdCIsInNpbXVsYXRlIiwid3JhcHBlcjAiLCJ3cmFwcGVyMSIsImV4cGFuZE9uUm93Q2xpY2siLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvdGFibGUvX190ZXN0c19fL2V4cGFuZFJvdy50ZXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgbW91bnQgfSBmcm9tIFwiZW56eW1lXCJcbmltcG9ydCBUZXN0UmVuZGVyZXIgZnJvbSBcInJlYWN0LXRlc3QtcmVuZGVyZXJcIlxuaW1wb3J0IFRhYmxlIGZyb20gXCIuLlwiXG5cbndpbmRvdy5SZXNpemVPYnNlcnZlciA9XG4gIHdpbmRvdy5SZXNpemVPYnNlcnZlciB8fFxuICBqZXN0LmZuKCkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+ICh7XG4gICAgZGlzY29ubmVjdDogamVzdC5mbigpLFxuICAgIG9ic2VydmU6IGplc3QuZm4oKSxcbiAgICB1bm9ic2VydmU6IGplc3QuZm4oKSxcbiAgfSkpXG5cbmNvbnN0IHsgQ29sdW1uIH0gPSBUYWJsZVxuXG5jb25zdCBkYXRhU291cmNlID0gW1xuICB7XG4gICAga2V5OiAwLFxuICAgIG9uZTogXCLnrKzkuIDpoblcIixcbiAgfSxcbiAge1xuICAgIGtleTogMSxcbiAgICBvbmU6IFwi56ys5LqM6aG5XCIsXG4gIH0sXG4gIHtcbiAgICBrZXk6IDIsXG4gICAgb25lOiBcIuesrOS4iemhuVwiLFxuICB9LFxuXVxuXG5jbGFzcyBFeHBhbmRNb3VudGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGUgPSB7XG4gICAga2V5czogbnVsbCxcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGtleXMgfSA9IHRoaXMuc3RhdGVcbiAgICByZXR1cm4gKFxuICAgICAgPFRhYmxlXG4gICAgICAgIGRhdGFTb3VyY2U9e2RhdGFTb3VyY2V9XG4gICAgICAgIGV4cGFuZGVkUm93S2V5cz17a2V5c31cbiAgICAgICAgb25FeHBhbmRDaGFuZ2U9eyhhcmdLZXlzKSA9PiB0aGlzLnNldFN0YXRlKHsga2V5czogYXJnS2V5cyB9KX1cbiAgICAgID5cbiAgICAgICAgPENvbHVtbiB0aXRsZT1cIm9uZVwiIGRhdGFJbmRleD1cIm9uZVwiIC8+XG4gICAgICA8L1RhYmxlPlxuICAgIClcbiAgfVxufVxuXG5kZXNjcmliZShcImJhc2VcIiwgKCkgPT4ge1xuICBpdChcIuW/q+eFp+aguOWvuVwiLCAoKSA9PiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IFRlc3RSZW5kZXJlci5jcmVhdGUoXG4gICAgICA8VGFibGVcbiAgICAgICAgZGF0YVNvdXJjZT17ZGF0YVNvdXJjZX1cbiAgICAgICAgZGVmYXVsdEV4cGFuZGVkUm93S2V5cz17WzFdfVxuICAgICAgICBvbkV4cGFuZENoYW5nZT17KCkgPT4ge319XG4gICAgICA+XG4gICAgICAgIDxDb2x1bW4gdGl0bGU9XCJvbmVcIiBkYXRhSW5kZXg9XCJvbmVcIiAvPlxuICAgICAgPC9UYWJsZT5cbiAgICApXG4gICAgZXhwZWN0KHdyYXBwZXIpLnRvTWF0Y2hTbmFwc2hvdCgpXG4gIH0pXG5cbiAgaXQoXCLmmK/lkKbog73lhoXpg6jpqbHliqhcIiwgKCkgPT4ge1xuICAgIGNvbnN0IG9uRXhwYW5kQ2hhbmdlID0gamVzdC5mbigpXG4gICAgY29uc3Qgd3JhcHBlciA9IG1vdW50KFxuICAgICAgPFRhYmxlXG4gICAgICAgIGRhdGFTb3VyY2U9e2RhdGFTb3VyY2V9XG4gICAgICAgIG9uRXhwYW5kQ2hhbmdlPXtvbkV4cGFuZENoYW5nZX1cbiAgICAgICAgZGVmYXVsdEV4cGFuZGVkUm93S2V5cz17WzFdfVxuICAgICAgPlxuICAgICAgICA8Q29sdW1uIHRpdGxlPVwib25lXCIgZGF0YUluZGV4PVwib25lXCIgLz5cbiAgICAgIDwvVGFibGU+XG4gICAgKVxuICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoXCJUYWJsZVwiKS5zdGF0ZSgpLmV4cGFuZGVkUm93S2V5cykudG9FcXVhbChbMV0pXG4gICAgd3JhcHBlci5maW5kKFwiSWNvblwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KHdyYXBwZXIuZmluZChcIlRhYmxlXCIpLnN0YXRlKCkuZXhwYW5kZWRSb3dLZXlzKS50b0VxdWFsKFsxLCAwXSlcbiAgfSlcblxuICBpdChcIuaYr+WQpuiDveWklumDqOaOp+WItlwiLCAoKSA9PiB7XG4gICAgY29uc3Qgb25FeHBhbmRDaGFuZ2UgPSBqZXN0LmZuKClcbiAgICBjb25zdCB3cmFwcGVyMCA9IG1vdW50KFxuICAgICAgPFRhYmxlXG4gICAgICAgIGRhdGFTb3VyY2U9e2RhdGFTb3VyY2V9XG4gICAgICAgIG9uRXhwYW5kQ2hhbmdlPXtvbkV4cGFuZENoYW5nZX1cbiAgICAgICAgZXhwYW5kZWRSb3dLZXlzPXtbMV19XG4gICAgICA+XG4gICAgICAgIDxDb2x1bW4gdGl0bGU9XCJvbmVcIiBkYXRhSW5kZXg9XCJvbmVcIiAvPlxuICAgICAgPC9UYWJsZT5cbiAgICApXG4gICAgZXhwZWN0KHdyYXBwZXIwLmZpbmQoXCJUYWJsZVwiKS5zdGF0ZSgpLmV4cGFuZGVkUm93S2V5cykudG9FcXVhbChbMV0pXG4gICAgd3JhcHBlcjAuZmluZChcIkljb25cIikuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdCh3cmFwcGVyMC5maW5kKFwiVGFibGVcIikuc3RhdGUoKS5leHBhbmRlZFJvd0tleXMpLnRvRXF1YWwoWzFdKVxuXG4gICAgY29uc3Qgd3JhcHBlcjEgPSBtb3VudCg8RXhwYW5kTW91bnRlciAvPilcbiAgICB3cmFwcGVyMS5maW5kKFwiSWNvblwiKS5hdCgwKS5zaW11bGF0ZShcImNsaWNrXCIpXG4gICAgZXhwZWN0KHdyYXBwZXIxLmZpbmQoXCJUYWJsZVwiKS5zdGF0ZSgpLmV4cGFuZGVkUm93S2V5cykudG9FcXVhbChbMF0pXG4gICAgd3JhcHBlcjEuZmluZChcIkljb25cIikuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdCh3cmFwcGVyMS5maW5kKFwiVGFibGVcIikuc3RhdGUoKS5leHBhbmRlZFJvd0tleXMpLnRvRXF1YWwoW10pXG4gIH0pXG5cbiAgaXQoXCLmmK/lkKbmlK/mjIEgZXhwYW5kT25Sb3dDbGlja1wiLCAoKSA9PiB7XG4gICAgY29uc3Qgb25FeHBhbmRDaGFuZ2UgPSBqZXN0LmZuKClcbiAgICBjb25zdCB3cmFwcGVyID0gbW91bnQoXG4gICAgICA8VGFibGVcbiAgICAgICAgZGF0YVNvdXJjZT17ZGF0YVNvdXJjZX1cbiAgICAgICAgZGVmYXVsdEV4cGFuZGVkUm93S2V5cz17WzFdfVxuICAgICAgICBvbkV4cGFuZENoYW5nZT17b25FeHBhbmRDaGFuZ2V9XG4gICAgICAgIGV4cGFuZE9uUm93Q2xpY2tcbiAgICAgID5cbiAgICAgICAgPENvbHVtbiB0aXRsZT1cIm9uZVwiIGRhdGFJbmRleD1cIm9uZVwiIC8+XG4gICAgICA8L1RhYmxlPlxuICAgIClcbiAgICB3cmFwcGVyLmZpbmQoJ1tyb2xlPVwicm93XCJdJykuYXQoMCkuc2ltdWxhdGUoXCJjbGlja1wiKVxuICAgIGV4cGVjdChvbkV4cGFuZENoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoWzEsIDBdKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0MsS0FBSyxRQUFRLFFBQVE7QUFDOUIsT0FBT0MsWUFBWSxNQUFNLHFCQUFxQjtBQUM5QyxPQUFPQyxLQUFLLE1BQU0sSUFBSTtBQUV0QkMsTUFBTSxDQUFDQyxjQUFjLEdBQ25CRCxNQUFNLENBQUNDLGNBQWMsSUFDckJDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUMsQ0FBQ0Msa0JBQWtCLENBQUM7RUFBQSxPQUFPO0lBQ2xDQyxVQUFVLEVBQUVILElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7SUFDckJHLE9BQU8sRUFBRUosSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztJQUNsQkksU0FBUyxFQUFFTCxJQUFJLENBQUNDLEVBQUUsQ0FBQztFQUNyQixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUwsSUFBUUssTUFBTSxHQUFLVCxLQUFLLENBQWhCUyxNQUFNO0FBRWQsSUFBTUMsVUFBVSxHQUFHLENBQ2pCO0VBQ0VDLEdBQUcsRUFBRSxDQUFDO0VBQ05DLEdBQUcsRUFBRTtBQUNQLENBQUMsRUFDRDtFQUNFRCxHQUFHLEVBQUUsQ0FBQztFQUNOQyxHQUFHLEVBQUU7QUFDUCxDQUFDLEVBQ0Q7RUFDRUQsR0FBRyxFQUFFLENBQUM7RUFDTkMsR0FBRyxFQUFFO0FBQ1AsQ0FB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