@pie-lib/text-select 1.13.0-beta.4 → 1.13.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/lib/__tests__/text-select.test.js +56 -0
- package/lib/__tests__/utils.test.js +23 -0
- package/lib/token-select/__tests__/index.test.js +268 -0
- package/lib/token-select/__tests__/token.test.js +35 -0
- package/lib/tokenizer/__tests__/builder.test.js +399 -0
- package/lib/tokenizer/__tests__/controls.test.js +34 -0
- package/lib/tokenizer/__tests__/index.test.js +210 -0
- package/lib/tokenizer/__tests__/selection-utils.test.js +27 -0
- package/lib/tokenizer/__tests__/token-text.test.js +154 -0
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,30 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.13.0-beta.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/text-select@1.12.7...@pie-lib/text-select@1.13.0-beta.5) (2025-07-25)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-lib/text-select
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [1.13.0-beta.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/text-select@1.12.7...@pie-lib/text-select@1.13.0-beta.4) (2025-07-25)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-lib/text-select
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# [1.13.0-beta.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/text-select@1.12.7...@pie-lib/text-select@1.13.0-beta.3) (2025-07-25)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @pie-lib/text-select
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
6
30
|
# [1.13.0-beta.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/text-select@1.12.7...@pie-lib/text-select@1.13.0-beta.4) (2025-07-23)
|
|
7
31
|
|
|
8
32
|
**Note:** Version bump only for package @pie-lib/text-select
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _textSelect = _interopRequireDefault(require("../text-select"));
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _enzymeToJson = _interopRequireDefault(require("enzyme-to-json"));
|
|
12
|
+
|
|
13
|
+
describe('text-select', function () {
|
|
14
|
+
describe('snapshot', function () {
|
|
15
|
+
it('renders', function () {
|
|
16
|
+
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_textSelect["default"], {
|
|
17
|
+
text: "foo",
|
|
18
|
+
tokens: [],
|
|
19
|
+
selectedTokens: [],
|
|
20
|
+
onChange: jest.fn(),
|
|
21
|
+
maxNoOfSelections: 4
|
|
22
|
+
}));
|
|
23
|
+
expect(w).toMatchSnapshot();
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe('logic', function () {
|
|
27
|
+
var w, onChange;
|
|
28
|
+
beforeEach(function () {
|
|
29
|
+
onChange = jest.fn();
|
|
30
|
+
w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_textSelect["default"], {
|
|
31
|
+
text: "foo",
|
|
32
|
+
tokens: [],
|
|
33
|
+
selectedTokens: [],
|
|
34
|
+
onChange: onChange
|
|
35
|
+
}));
|
|
36
|
+
});
|
|
37
|
+
describe('change', function () {
|
|
38
|
+
it('calls onChange', function () {
|
|
39
|
+
var changeArgs = [{
|
|
40
|
+
start: 0,
|
|
41
|
+
end: 1,
|
|
42
|
+
selected: true
|
|
43
|
+
}, {
|
|
44
|
+
start: 1,
|
|
45
|
+
end: 2
|
|
46
|
+
}];
|
|
47
|
+
w.instance().change(changeArgs);
|
|
48
|
+
expect(onChange).toBeCalledWith([{
|
|
49
|
+
start: 0,
|
|
50
|
+
end: 1
|
|
51
|
+
}]);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdGV4dC1zZWxlY3QudGVzdC5qc3giXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsInciLCJqZXN0IiwiZm4iLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJvbkNoYW5nZSIsImJlZm9yZUVhY2giLCJjaGFuZ2VBcmdzIiwic3RhcnQiLCJlbmQiLCJzZWxlY3RlZCIsImluc3RhbmNlIiwiY2hhbmdlIiwidG9CZUNhbGxlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQUEsUUFBUSxDQUFDLGFBQUQsRUFBZ0IsWUFBTTtBQUM1QkEsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCQyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEIsVUFBTUMsQ0FBQyxHQUFHLG1DQUNSLGdDQUFDLHNCQUFEO0FBQVksUUFBQSxJQUFJLEVBQUMsS0FBakI7QUFBdUIsUUFBQSxNQUFNLEVBQUUsRUFBL0I7QUFBbUMsUUFBQSxjQUFjLEVBQUUsRUFBbkQ7QUFBdUQsUUFBQSxRQUFRLEVBQUVDLElBQUksQ0FBQ0MsRUFBTCxFQUFqRTtBQUE0RSxRQUFBLGlCQUFpQixFQUFFO0FBQS9GLFFBRFEsQ0FBVjtBQUdBQyxNQUFBQSxNQUFNLENBQUNILENBQUQsQ0FBTixDQUFVSSxlQUFWO0FBQ0QsS0FMQyxDQUFGO0FBTUQsR0FQTyxDQUFSO0FBU0FOLEVBQUFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBTTtBQUN0QixRQUFJRSxDQUFKLEVBQU9LLFFBQVA7QUFDQUMsSUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZkQsTUFBQUEsUUFBUSxHQUFHSixJQUFJLENBQUNDLEVBQUwsRUFBWDtBQUNBRixNQUFBQSxDQUFDLEdBQUcsbUNBQVEsZ0NBQUMsc0JBQUQ7QUFBWSxRQUFBLElBQUksRUFBQyxLQUFqQjtBQUF1QixRQUFBLE1BQU0sRUFBRSxFQUEvQjtBQUFtQyxRQUFBLGNBQWMsRUFBRSxFQUFuRDtBQUF1RCxRQUFBLFFBQVEsRUFBRUs7QUFBakUsUUFBUixDQUFKO0FBQ0QsS0FIUyxDQUFWO0FBS0FQLElBQUFBLFFBQVEsQ0FBQyxRQUFELEVBQVcsWUFBTTtBQUN2QkMsTUFBQUEsRUFBRSxDQUFDLGdCQUFELEVBQW1CLFlBQU07QUFDekIsWUFBTVEsVUFBVSxHQUFHLENBQ2pCO0FBQUVDLFVBQUFBLEtBQUssRUFBRSxDQUFUO0FBQVlDLFVBQUFBLEdBQUcsRUFBRSxDQUFqQjtBQUFvQkMsVUFBQUEsUUFBUSxFQUFFO0FBQTlCLFNBRGlCLEVBRWpCO0FBQUVGLFVBQUFBLEtBQUssRUFBRSxDQUFUO0FBQVlDLFVBQUFBLEdBQUcsRUFBRTtBQUFqQixTQUZpQixDQUFuQjtBQUtBVCxRQUFBQSxDQUFDLENBQUNXLFFBQUYsR0FBYUMsTUFBYixDQUFvQkwsVUFBcEI7QUFDQUosUUFBQUEsTUFBTSxDQUFDRSxRQUFELENBQU4sQ0FBaUJRLGNBQWpCLENBQWdDLENBQUM7QUFBRUwsVUFBQUEsS0FBSyxFQUFFLENBQVQ7QUFBWUMsVUFBQUEsR0FBRyxFQUFFO0FBQWpCLFNBQUQsQ0FBaEM7QUFDRCxPQVJDLENBQUY7QUFTRCxLQVZPLENBQVI7QUFXRCxHQWxCTyxDQUFSO0FBbUJELENBN0JPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVGV4dFNlbGVjdCBmcm9tICcuLi90ZXh0LXNlbGVjdCc7XG5pbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdG9Kc29uIGZyb20gJ2VuenltZS10by1qc29uJztcbmRlc2NyaWJlKCd0ZXh0LXNlbGVjdCcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IHNoYWxsb3coXG4gICAgICAgIDxUZXh0U2VsZWN0IHRleHQ9XCJmb29cIiB0b2tlbnM9e1tdfSBzZWxlY3RlZFRva2Vucz17W119IG9uQ2hhbmdlPXtqZXN0LmZuKCl9IG1heE5vT2ZTZWxlY3Rpb25zPXs0fSAvPixcbiAgICAgICk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBsZXQgdywgb25DaGFuZ2U7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgICAgIHcgPSBzaGFsbG93KDxUZXh0U2VsZWN0IHRleHQ9XCJmb29cIiB0b2tlbnM9e1tdfSBzZWxlY3RlZFRva2Vucz17W119IG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz4pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NoYW5nZScsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZScsICgpID0+IHtcbiAgICAgICAgY29uc3QgY2hhbmdlQXJncyA9IFtcbiAgICAgICAgICB7IHN0YXJ0OiAwLCBlbmQ6IDEsIHNlbGVjdGVkOiB0cnVlIH0sXG4gICAgICAgICAgeyBzdGFydDogMSwgZW5kOiAyIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgdy5pbnN0YW5jZSgpLmNoYW5nZShjaGFuZ2VBcmdzKTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChbeyBzdGFydDogMCwgZW5kOiAxIH1dKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _utils = require("../utils");
|
|
4
|
+
|
|
5
|
+
describe('logic', function () {
|
|
6
|
+
it('returns text if no html elements', function () {
|
|
7
|
+
var formattedText = (0, _utils.prepareText)("foo bar");
|
|
8
|
+
expect(formattedText).toEqual('foo bar');
|
|
9
|
+
});
|
|
10
|
+
it('replaces br with new lines', function () {
|
|
11
|
+
var formattedText = (0, _utils.prepareText)("<p>foo<br>bar</p>");
|
|
12
|
+
expect(formattedText).toEqual('foo\nbar');
|
|
13
|
+
});
|
|
14
|
+
it('replaces p with 2 new lines', function () {
|
|
15
|
+
var formattedText = (0, _utils.prepareText)("<p>foo<br>bar</p><p>bar<br>foo</p>");
|
|
16
|
+
expect(formattedText).toEqual('foo\nbar\n\nbar\nfoo');
|
|
17
|
+
});
|
|
18
|
+
it('adds p if there are no paragraphs', function () {
|
|
19
|
+
var formattedText = (0, _utils.prepareText)("foo<br>bar<br>foo");
|
|
20
|
+
expect(formattedText).toEqual('foo\nbar\nfoo');
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMudGVzdC5qc3giXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsImZvcm1hdHRlZFRleHQiLCJleHBlY3QiLCJ0b0VxdWFsIl0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUVBQSxRQUFRLENBQUMsT0FBRCxFQUFVLFlBQU07QUFDdEJDLEVBQUFBLEVBQUUsQ0FBQyxrQ0FBRCxFQUFxQyxZQUFNO0FBQzNDLFFBQU1DLGFBQWEsR0FBRyxrQ0FBdEI7QUFFQUMsSUFBQUEsTUFBTSxDQUFDRCxhQUFELENBQU4sQ0FBc0JFLE9BQXRCLENBQThCLFNBQTlCO0FBQ0QsR0FKQyxDQUFGO0FBTUFILEVBQUFBLEVBQUUsQ0FBQyw0QkFBRCxFQUErQixZQUFNO0FBQ3JDLFFBQU1DLGFBQWEsR0FBRyw0Q0FBdEI7QUFFQUMsSUFBQUEsTUFBTSxDQUFDRCxhQUFELENBQU4sQ0FBc0JFLE9BQXRCLENBQThCLFVBQTlCO0FBQ0QsR0FKQyxDQUFGO0FBTUFILEVBQUFBLEVBQUUsQ0FBQyw2QkFBRCxFQUFnQyxZQUFNO0FBQ3RDLFFBQU1DLGFBQWEsR0FBRyw2REFBdEI7QUFFQUMsSUFBQUEsTUFBTSxDQUFDRCxhQUFELENBQU4sQ0FBc0JFLE9BQXRCLENBQThCLHNCQUE5QjtBQUNELEdBSkMsQ0FBRjtBQU1BSCxFQUFBQSxFQUFFLENBQUMsbUNBQUQsRUFBc0MsWUFBTTtBQUM1QyxRQUFNQyxhQUFhLEdBQUcsNENBQXRCO0FBRUFDLElBQUFBLE1BQU0sQ0FBQ0QsYUFBRCxDQUFOLENBQXNCRSxPQUF0QixDQUE4QixlQUE5QjtBQUNELEdBSkMsQ0FBRjtBQUtELENBeEJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcmVwYXJlVGV4dCB9IGZyb20gJy4uL3V0aWxzJztcblxuZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICBpdCgncmV0dXJucyB0ZXh0IGlmIG5vIGh0bWwgZWxlbWVudHMnLCAoKSA9PiB7XG4gICAgY29uc3QgZm9ybWF0dGVkVGV4dCA9IHByZXBhcmVUZXh0KGBmb28gYmFyYCk7XG5cbiAgICBleHBlY3QoZm9ybWF0dGVkVGV4dCkudG9FcXVhbCgnZm9vIGJhcicpO1xuICB9KTtcblxuICBpdCgncmVwbGFjZXMgYnIgd2l0aCBuZXcgbGluZXMnLCAoKSA9PiB7XG4gICAgY29uc3QgZm9ybWF0dGVkVGV4dCA9IHByZXBhcmVUZXh0KGA8cD5mb288YnI+YmFyPC9wPmApO1xuXG4gICAgZXhwZWN0KGZvcm1hdHRlZFRleHQpLnRvRXF1YWwoJ2Zvb1xcbmJhcicpO1xuICB9KTtcblxuICBpdCgncmVwbGFjZXMgcCB3aXRoIDIgbmV3IGxpbmVzJywgKCkgPT4ge1xuICAgIGNvbnN0IGZvcm1hdHRlZFRleHQgPSBwcmVwYXJlVGV4dChgPHA+Zm9vPGJyPmJhcjwvcD48cD5iYXI8YnI+Zm9vPC9wPmApO1xuXG4gICAgZXhwZWN0KGZvcm1hdHRlZFRleHQpLnRvRXF1YWwoJ2Zvb1xcbmJhclxcblxcbmJhclxcbmZvbycpO1xuICB9KTtcblxuICBpdCgnYWRkcyBwIGlmIHRoZXJlIGFyZSBubyBwYXJhZ3JhcGhzJywgKCkgPT4ge1xuICAgIGNvbnN0IGZvcm1hdHRlZFRleHQgPSBwcmVwYXJlVGV4dChgZm9vPGJyPmJhcjxicj5mb29gKTtcblxuICAgIGV4cGVjdChmb3JtYXR0ZWRUZXh0KS50b0VxdWFsKCdmb29cXG5iYXJcXG5mb28nKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _index = require("../index");
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
var _enzyme = require("enzyme");
|
|
10
|
+
|
|
11
|
+
describe('token-select', function () {
|
|
12
|
+
describe('snapshot', function () {
|
|
13
|
+
it('renders', function () {
|
|
14
|
+
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.TokenSelect, {
|
|
15
|
+
tokens: [{
|
|
16
|
+
text: 'foo bar',
|
|
17
|
+
start: 0,
|
|
18
|
+
end: 7,
|
|
19
|
+
predefined: true,
|
|
20
|
+
selectable: true,
|
|
21
|
+
selected: false
|
|
22
|
+
}],
|
|
23
|
+
classes: {},
|
|
24
|
+
onChange: jest.fn()
|
|
25
|
+
}));
|
|
26
|
+
expect(w).toMatchSnapshot();
|
|
27
|
+
});
|
|
28
|
+
it('renders sentences properly', function () {
|
|
29
|
+
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.TokenSelect, {
|
|
30
|
+
tokens: [{
|
|
31
|
+
text: 'foo,',
|
|
32
|
+
start: 0,
|
|
33
|
+
end: 4,
|
|
34
|
+
predefined: true,
|
|
35
|
+
selectable: true,
|
|
36
|
+
selected: false
|
|
37
|
+
}, {
|
|
38
|
+
text: '\n',
|
|
39
|
+
start: 4,
|
|
40
|
+
end: 5,
|
|
41
|
+
selected: false
|
|
42
|
+
}, {
|
|
43
|
+
text: 'bar',
|
|
44
|
+
start: 5,
|
|
45
|
+
end: 8,
|
|
46
|
+
predefined: true,
|
|
47
|
+
selectable: true,
|
|
48
|
+
selected: false
|
|
49
|
+
}],
|
|
50
|
+
classes: {},
|
|
51
|
+
onChange: jest.fn()
|
|
52
|
+
}));
|
|
53
|
+
expect(w).toMatchSnapshot();
|
|
54
|
+
});
|
|
55
|
+
it('renders paragraphs properly', function () {
|
|
56
|
+
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.TokenSelect, {
|
|
57
|
+
tokens: [{
|
|
58
|
+
text: 'foo,',
|
|
59
|
+
start: 0,
|
|
60
|
+
end: 4,
|
|
61
|
+
predefined: true,
|
|
62
|
+
selectable: true,
|
|
63
|
+
selected: false
|
|
64
|
+
}, {
|
|
65
|
+
text: '\n\n',
|
|
66
|
+
start: 4,
|
|
67
|
+
end: 5,
|
|
68
|
+
selected: false
|
|
69
|
+
}, {
|
|
70
|
+
text: 'bar',
|
|
71
|
+
start: 5,
|
|
72
|
+
end: 8,
|
|
73
|
+
predefined: true,
|
|
74
|
+
selectable: true,
|
|
75
|
+
selected: false
|
|
76
|
+
}],
|
|
77
|
+
classes: {},
|
|
78
|
+
onChange: jest.fn()
|
|
79
|
+
}));
|
|
80
|
+
expect(w).toMatchSnapshot();
|
|
81
|
+
});
|
|
82
|
+
it('renders in view mode with selected tokens', function () {
|
|
83
|
+
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.TokenSelect, {
|
|
84
|
+
disabled: true,
|
|
85
|
+
tokens: [{
|
|
86
|
+
text: 'foo,',
|
|
87
|
+
start: 0,
|
|
88
|
+
end: 4,
|
|
89
|
+
predefined: true,
|
|
90
|
+
selectable: true,
|
|
91
|
+
selected: true
|
|
92
|
+
}, {
|
|
93
|
+
text: '\n',
|
|
94
|
+
start: 4,
|
|
95
|
+
end: 5,
|
|
96
|
+
selected: false
|
|
97
|
+
}, {
|
|
98
|
+
text: 'bar',
|
|
99
|
+
start: 5,
|
|
100
|
+
end: 8,
|
|
101
|
+
predefined: true,
|
|
102
|
+
selectable: true,
|
|
103
|
+
selected: true
|
|
104
|
+
}],
|
|
105
|
+
classes: {},
|
|
106
|
+
onChange: jest.fn()
|
|
107
|
+
}));
|
|
108
|
+
expect(w).toMatchSnapshot();
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
describe('logic', function () {
|
|
112
|
+
var w, onChange;
|
|
113
|
+
beforeEach(function () {
|
|
114
|
+
onChange = jest.fn();
|
|
115
|
+
w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.TokenSelect, {
|
|
116
|
+
tokens: [{
|
|
117
|
+
text: 'foo',
|
|
118
|
+
start: 0,
|
|
119
|
+
end: 3
|
|
120
|
+
}, {
|
|
121
|
+
text: 'bar',
|
|
122
|
+
start: 4,
|
|
123
|
+
end: 7
|
|
124
|
+
}],
|
|
125
|
+
classes: {},
|
|
126
|
+
onChange: onChange
|
|
127
|
+
}));
|
|
128
|
+
});
|
|
129
|
+
describe('selectedCount', function () {
|
|
130
|
+
it('returns the correct count', function () {
|
|
131
|
+
expect(w.instance().selectedCount()).toEqual(0);
|
|
132
|
+
});
|
|
133
|
+
it('returns the correct count for 1 selected', function () {
|
|
134
|
+
w.setProps({
|
|
135
|
+
tokens: [{
|
|
136
|
+
selected: true
|
|
137
|
+
}]
|
|
138
|
+
});
|
|
139
|
+
expect(w.instance().selectedCount()).toEqual(1);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
describe('canSelectMore', function () {
|
|
143
|
+
it('returns true for undefined max selections', function () {
|
|
144
|
+
w.setProps({
|
|
145
|
+
maxNoOfSelections: undefined
|
|
146
|
+
});
|
|
147
|
+
expect(w.instance().canSelectMore(10)).toEqual(true);
|
|
148
|
+
});
|
|
149
|
+
it('returns true for 0 max selections', function () {
|
|
150
|
+
w.setProps({
|
|
151
|
+
maxNoOfSelections: 0
|
|
152
|
+
});
|
|
153
|
+
expect(w.instance().canSelectMore(10)).toEqual(true);
|
|
154
|
+
});
|
|
155
|
+
it('returns true for -1 max selections', function () {
|
|
156
|
+
w.setProps({
|
|
157
|
+
maxNoOfSelections: -1
|
|
158
|
+
});
|
|
159
|
+
expect(w.instance().canSelectMore(10)).toEqual(true);
|
|
160
|
+
});
|
|
161
|
+
it('returns true for 5 max selections and count 4', function () {
|
|
162
|
+
w.setProps({
|
|
163
|
+
maxNoOfSelections: 5
|
|
164
|
+
});
|
|
165
|
+
expect(w.instance().canSelectMore(4)).toEqual(true);
|
|
166
|
+
});
|
|
167
|
+
it('returns true for 5 max selections and count 5', function () {
|
|
168
|
+
w.setProps({
|
|
169
|
+
maxNoOfSelections: 5
|
|
170
|
+
});
|
|
171
|
+
expect(w.instance().canSelectMore(5)).toEqual(false);
|
|
172
|
+
});
|
|
173
|
+
it('returns false for 5 max selections and count 6', function () {
|
|
174
|
+
w.setProps({
|
|
175
|
+
maxNoOfSelections: 5
|
|
176
|
+
});
|
|
177
|
+
expect(w.instance().canSelectMore(6)).toEqual(false);
|
|
178
|
+
});
|
|
179
|
+
it('returns true for 1 max selections and count 1', function () {
|
|
180
|
+
w.setProps({
|
|
181
|
+
maxNoOfSelections: 1
|
|
182
|
+
});
|
|
183
|
+
expect(w.instance().canSelectMore(1)).toEqual(true);
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
describe('toggleToken', function () {
|
|
187
|
+
it('return if clicked target is not selectable', function () {
|
|
188
|
+
w.setProps({
|
|
189
|
+
maxNoOfSelections: 1,
|
|
190
|
+
tokens: [{
|
|
191
|
+
selected: true
|
|
192
|
+
}]
|
|
193
|
+
});
|
|
194
|
+
var closest = jest.fn().mockReturnValue(null);
|
|
195
|
+
var mockedEvent = {
|
|
196
|
+
target: {
|
|
197
|
+
closest: closest
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
w.instance().toggleToken(mockedEvent);
|
|
201
|
+
expect(onChange).not.toBeCalled();
|
|
202
|
+
});
|
|
203
|
+
it('calls onChange', function () {
|
|
204
|
+
w.setProps({
|
|
205
|
+
maxNoOfSelections: 0,
|
|
206
|
+
tokens: [{
|
|
207
|
+
selected: true
|
|
208
|
+
}]
|
|
209
|
+
});
|
|
210
|
+
var closest = jest.fn().mockReturnValue({
|
|
211
|
+
dataset: {
|
|
212
|
+
indexkey: '0'
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
var mockedEvent = {
|
|
216
|
+
target: {
|
|
217
|
+
closest: closest
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
w.instance().toggleToken(mockedEvent);
|
|
221
|
+
expect(onChange).toBeCalled();
|
|
222
|
+
});
|
|
223
|
+
it('returns if max tokens have been selected', function () {
|
|
224
|
+
w.setProps({
|
|
225
|
+
maxNoOfSelections: 0,
|
|
226
|
+
tokens: [{
|
|
227
|
+
selected: true
|
|
228
|
+
}]
|
|
229
|
+
});
|
|
230
|
+
var closest = jest.fn().mockReturnValue({
|
|
231
|
+
dataset: {
|
|
232
|
+
indexkey: '0'
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
var mockedEvent = {
|
|
236
|
+
target: {
|
|
237
|
+
closest: closest
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
w.instance().toggleToken(mockedEvent);
|
|
241
|
+
expect(onChange).not.toBeCalledWith([{
|
|
242
|
+
selected: true
|
|
243
|
+
}]);
|
|
244
|
+
});
|
|
245
|
+
it('calls onChange if maxNoOfSelections is 1 and selectedCount is 1', function () {
|
|
246
|
+
w.setProps({
|
|
247
|
+
maxNoOfSelections: 1,
|
|
248
|
+
tokens: [{
|
|
249
|
+
selected: true
|
|
250
|
+
}]
|
|
251
|
+
});
|
|
252
|
+
var closest = jest.fn().mockReturnValue({
|
|
253
|
+
dataset: {
|
|
254
|
+
indexkey: '0'
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
var mockedEvent = {
|
|
258
|
+
target: {
|
|
259
|
+
closest: closest
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
w.instance().toggleToken(mockedEvent);
|
|
263
|
+
expect(onChange).toBeCalled();
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
});
|
|
268
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbi1zZWxlY3QvX190ZXN0c19fL2luZGV4LnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJ3IiwidGV4dCIsInN0YXJ0IiwiZW5kIiwicHJlZGVmaW5lZCIsInNlbGVjdGFibGUiLCJzZWxlY3RlZCIsImplc3QiLCJmbiIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm9uQ2hhbmdlIiwiYmVmb3JlRWFjaCIsImluc3RhbmNlIiwic2VsZWN0ZWRDb3VudCIsInRvRXF1YWwiLCJzZXRQcm9wcyIsInRva2VucyIsIm1heE5vT2ZTZWxlY3Rpb25zIiwidW5kZWZpbmVkIiwiY2FuU2VsZWN0TW9yZSIsImNsb3Nlc3QiLCJtb2NrUmV0dXJuVmFsdWUiLCJtb2NrZWRFdmVudCIsInRhcmdldCIsInRvZ2dsZVRva2VuIiwibm90IiwidG9CZUNhbGxlZCIsImRhdGFzZXQiLCJpbmRleGtleSIsInRvQmVDYWxsZWRXaXRoIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUFBLFFBQVEsQ0FBQyxjQUFELEVBQWlCLFlBQU07QUFDN0JBLEVBQUFBLFFBQVEsQ0FBQyxVQUFELEVBQWEsWUFBTTtBQUN6QkMsSUFBQUEsRUFBRSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ2xCLFVBQU1DLENBQUMsR0FBRyxtQ0FDUixnQ0FBQyxrQkFBRDtBQUNFLFFBQUEsTUFBTSxFQUFFLENBQ047QUFDRUMsVUFBQUEsSUFBSSxFQUFFLFNBRFI7QUFFRUMsVUFBQUEsS0FBSyxFQUFFLENBRlQ7QUFHRUMsVUFBQUEsR0FBRyxFQUFFLENBSFA7QUFJRUMsVUFBQUEsVUFBVSxFQUFFLElBSmQ7QUFLRUMsVUFBQUEsVUFBVSxFQUFFLElBTGQ7QUFNRUMsVUFBQUEsUUFBUSxFQUFFO0FBTlosU0FETSxDQURWO0FBV0UsUUFBQSxPQUFPLEVBQUUsRUFYWDtBQVlFLFFBQUEsUUFBUSxFQUFFQyxJQUFJLENBQUNDLEVBQUw7QUFa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QWVBUCxNQUFBQSxFQUFFLENBQUMsaUVBQUQsRUFBb0UsWUFBTTtBQUMxRUMsUUFBQUEsQ0FBQyxDQUFDZ0IsUUFBRixDQUFXO0FBQUVFLFVBQUFBLGlCQUFpQixFQUFFLENBQXJCO0FBQXdCRCxVQUFBQSxNQUFNLEVBQUUsQ0FBQztBQUFFWCxZQUFBQSxRQUFRLEVBQUU7QUFBWixXQUFEO0FBQWhDLFNBQVg7QUFFQSxZQUFNZSxPQUFPLEdBQUdkLElBQUksQ0FBQ0MsRUFBTCxHQUFVYyxlQUFWLENBQTBCO0FBQ3hDTSxVQUFBQSxPQUFPLEVBQUU7QUFDUEMsWUFBQUEsUUFBUSxFQUFFO0FBREg7QUFEK0IsU0FBMUIsQ0FBaEI7QUFLQSxZQUFNTixXQUFXLEdBQUc7QUFBRUMsVUFBQUEsTUFBTSxFQUFFO0FBQUVILFlBQUFBLE9BQU8sRUFBUEE7QUFBRjtBQUFWLFNBQXBCO0FBRUFyQixRQUFBQSxDQUFDLENBQUNhLFFBQUYsR0FBYVksV0FBYixDQUF5QkYsV0FBekI7QUFFQWQsUUFBQUEsTUFBTSxDQUFDRSxRQUFELENBQU4sQ0FBaUJnQixVQUFqQjtBQUNELE9BYkMsQ0FBRjtBQWNELEtBeERPLENBQVI7QUF5REQsR0E3SE8sQ0FBUjtBQThIRCxDQTVQTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9rZW5TZWxlY3QgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5cbmRlc2NyaWJlKCd0b2tlbi1zZWxlY3QnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHcgPSBzaGFsbG93KFxuICAgICAgICA8VG9rZW5TZWxlY3RcbiAgICAgICAgICB0b2tlbnM9e1tcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogJ2ZvbyBiYXInLFxuICAgICAgICAgICAgICBzdGFydDogMCxcbiAgICAgICAgICAgICAgZW5kOiA3LFxuICAgICAgICAgICAgICBwcmVkZWZpbmVkOiB0cnVlLFxuICAgICAgICAgICAgICBzZWxlY3RhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF19XG4gICAgICAgICAgY2xhc3Nlcz17e319XG4gICAgICAgICAgb25DaGFuZ2U9e2plc3QuZm4oKX1cbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgc2VudGVuY2VzIHByb3Blcmx5JywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IHNoYWxsb3coXG4gICAgICAgIDxUb2tlblNlbGVjdFxuICAgICAgICAgIHRva2Vucz17W1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXh0OiAnZm9vLCcsXG4gICAgICAgICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICAgICAgICBlbmQ6IDQsXG4gICAgICAgICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgICAgICAgIHNlbGVjdGFibGU6IHRydWUsXG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6ICdcXG4nLFxuICAgICAgICAgICAgICBzdGFydDogNCxcbiAgICAgICAgICAgICAgZW5kOiA1LFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXh0OiAnYmFyJyxcbiAgICAgICAgICAgICAgc3RhcnQ6IDUsXG4gICAgICAgICAgICAgIGVuZDogOCxcbiAgICAgICAgICAgICAgcHJlZGVmaW5lZDogdHJ1ZSxcbiAgICAgICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICAgIG9uQ2hhbmdlPXtqZXN0LmZuKCl9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHBhcmFncmFwaHMgcHJvcGVybHknLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gc2hhbGxvdyhcbiAgICAgICAgPFRva2VuU2VsZWN0XG4gICAgICAgICAgdG9rZW5zPXtbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6ICdmb28sJyxcbiAgICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICAgIGVuZDogNCxcbiAgICAgICAgICAgICAgcHJlZGVmaW5lZDogdHJ1ZSxcbiAgICAgICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogJ1xcblxcbicsXG4gICAgICAgICAgICAgIHN0YXJ0OiA0LFxuICAgICAgICAgICAgICBlbmQ6IDUsXG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6ICdiYXInLFxuICAgICAgICAgICAgICBzdGFydDogNSxcbiAgICAgICAgICAgICAgZW5kOiA4LFxuICAgICAgICAgICAgICBwcmVkZWZpbmVkOiB0cnVlLFxuICAgICAgICAgICAgICBzZWxlY3RhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF19XG4gICAgICAgICAgY2xhc3Nlcz17e319XG4gICAgICAgICAgb25DaGFuZ2U9e2plc3QuZm4oKX1cbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgaW4gdmlldyBtb2RlIHdpdGggc2VsZWN0ZWQgdG9rZW5zJywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IHNoYWxsb3coXG4gICAgICAgIDxUb2tlblNlbGVjdFxuICAgICAgICAgIGRpc2FibGVkXG4gICAgICAgICAgdG9rZW5zPXtbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6ICdmb28sJyxcbiAgICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICAgIGVuZDogNCxcbiAgICAgICAgICAgICAgcHJlZGVmaW5lZDogdHJ1ZSxcbiAgICAgICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXh0OiAnXFxuJyxcbiAgICAgICAgICAgICAgc3RhcnQ6IDQsXG4gICAgICAgICAgICAgIGVuZDogNSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGV4dDogJ2JhcicsXG4gICAgICAgICAgICAgIHN0YXJ0OiA1LFxuICAgICAgICAgICAgICBlbmQ6IDgsXG4gICAgICAgICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgICAgICAgIHNlbGVjdGFibGU6IHRydWUsXG4gICAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICAgIG9uQ2hhbmdlPXtqZXN0LmZuKCl9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGxldCB3LCBvbkNoYW5nZTtcbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICAgICAgdyA9IHNoYWxsb3coXG4gICAgICAgIDxUb2tlblNlbGVjdFxuICAgICAgICAgIHRva2Vucz17W1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXh0OiAnZm9vJyxcbiAgICAgICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgICAgIGVuZDogMyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6ICdiYXInLFxuICAgICAgICAgICAgICBzdGFydDogNCxcbiAgICAgICAgICAgICAgZW5kOiA3LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCdzZWxlY3RlZENvdW50JywgKCkgPT4ge1xuICAgICAgaXQoJ3JldHVybnMgdGhlIGNvcnJlY3QgY291bnQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuc2VsZWN0ZWRDb3VudCgpKS50b0VxdWFsKDApO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdyZXR1cm5zIHRoZSBjb3JyZWN0IGNvdW50IGZvciAxIHNlbGVjdGVkJywgKCkgPT4ge1xuICAgICAgICB3LnNldFByb3BzKHsgdG9rZW5zOiBbeyBzZWxlY3RlZDogdHJ1ZSB9XSB9KTtcbiAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5zZWxlY3RlZENvdW50KCkpLnRvRXF1YWwoMSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdjYW5TZWxlY3RNb3JlJywgKCkgPT4ge1xuICAgICAgaXQoJ3JldHVybnMgdHJ1ZSBmb3IgdW5kZWZpbmVkIG1heCBzZWxlY3Rpb25zJywgKCkgPT4ge1xuICAgICAgICB3LnNldFByb3BzKHsgbWF4Tm9PZlNlbGVjdGlvbnM6IHVuZGVmaW5lZCB9KTtcbiAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5jYW5TZWxlY3RNb3JlKDEwKSkudG9FcXVhbCh0cnVlKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3JldHVybnMgdHJ1ZSBmb3IgMCBtYXggc2VsZWN0aW9ucycsICgpID0+IHtcbiAgICAgICAgdy5zZXRQcm9wcyh7IG1heE5vT2ZTZWxlY3Rpb25zOiAwIH0pO1xuICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmNhblNlbGVjdE1vcmUoMTApKS50b0VxdWFsKHRydWUpO1xuICAgICAgfSk7XG4gICAgICBpdCgncmV0dXJucyB0cnVlIGZvciAtMSBtYXggc2VsZWN0aW9ucycsICgpID0+IHtcbiAgICAgICAgdy5zZXRQcm9wcyh7IG1heE5vT2ZTZWxlY3Rpb25zOiAtMSB9KTtcbiAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5jYW5TZWxlY3RNb3JlKDEwKSkudG9FcXVhbCh0cnVlKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3JldHVybnMgdHJ1ZSBmb3IgNSBtYXggc2VsZWN0aW9ucyBhbmQgY291bnQgNCcsICgpID0+IHtcbiAgICAgICAgdy5zZXRQcm9wcyh7IG1heE5vT2ZTZWxlY3Rpb25zOiA1IH0pO1xuICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmNhblNlbGVjdE1vcmUoNCkpLnRvRXF1YWwodHJ1ZSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3JldHVybnMgdHJ1ZSBmb3IgNSBtYXggc2VsZWN0aW9ucyBhbmQgY291bnQgNScsICgpID0+IHtcbiAgICAgICAgdy5zZXRQcm9wcyh7IG1heE5vT2ZTZWxlY3Rpb25zOiA1IH0pO1xuICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmNhblNlbGVjdE1vcmUoNSkpLnRvRXF1YWwoZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdyZXR1cm5zIGZhbHNlIGZvciA1IG1heCBzZWxlY3Rpb25zIGFuZCBjb3VudCA2JywgKCkgPT4ge1xuICAgICAgICB3LnNldFByb3BzKHsgbWF4Tm9PZlNlbGVjdGlvbnM6IDUgfSk7XG4gICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuY2FuU2VsZWN0TW9yZSg2KSkudG9FcXVhbChmYWxzZSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3JldHVybnMgdHJ1ZSBmb3IgMSBtYXggc2VsZWN0aW9ucyBhbmQgY291bnQgMScsICgpID0+IHtcbiAgICAgICAgdy5zZXRQcm9wcyh7IG1heE5vT2ZTZWxlY3Rpb25zOiAxIH0pO1xuICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmNhblNlbGVjdE1vcmUoMSkpLnRvRXF1YWwodHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd0b2dnbGVUb2tlbicsICgpID0+IHtcbiAgICAgIGl0KCdyZXR1cm4gaWYgY2xpY2tlZCB0YXJnZXQgaXMgbm90IHNlbGVjdGFibGUnLCAoKSA9PiB7XG4gICAgICAgIHcuc2V0UHJvcHMoeyBtYXhOb09mU2VsZWN0aW9uczogMSwgdG9rZW5zOiBbeyBzZWxlY3RlZDogdHJ1ZSB9XSB9KTtcblxuICAgICAgICBjb25zdCBjbG9zZXN0ID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShudWxsKTtcbiAgICAgICAgY29uc3QgbW9ja2VkRXZlbnQgPSB7IHRhcmdldDogeyBjbG9zZXN0IH0gfTtcblxuICAgICAgICB3Lmluc3RhbmNlKCkudG9nZ2xlVG9rZW4obW9ja2VkRXZlbnQpO1xuXG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkubm90LnRvQmVDYWxsZWQoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHcuc2V0UHJvcHMoeyBtYXhOb09mU2VsZWN0aW9uczogMCwgdG9rZW5zOiBbeyBzZWxlY3RlZDogdHJ1ZSB9XSB9KTtcblxuICAgICAgICBjb25zdCBjbG9zZXN0ID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgZGF0YXNldDoge1xuICAgICAgICAgICAgaW5kZXhrZXk6ICcwJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgbW9ja2VkRXZlbnQgPSB7IHRhcmdldDogeyBjbG9zZXN0IH0gfTtcblxuICAgICAgICB3Lmluc3RhbmNlKCkudG9nZ2xlVG9rZW4obW9ja2VkRXZlbnQpO1xuXG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdyZXR1cm5zIGlmIG1heCB0b2tlbnMgaGF2ZSBiZWVuIHNlbGVjdGVkJywgKCkgPT4ge1xuICAgICAgICB3LnNldFByb3BzKHsgbWF4Tm9PZlNlbGVjdGlvbnM6IDAsIHRva2VuczogW3sgc2VsZWN0ZWQ6IHRydWUgfV0gfSk7XG5cbiAgICAgICAgY29uc3QgY2xvc2VzdCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIGRhdGFzZXQ6IHtcbiAgICAgICAgICAgIGluZGV4a2V5OiAnMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IG1vY2tlZEV2ZW50ID0geyB0YXJnZXQ6IHsgY2xvc2VzdCB9IH07XG5cbiAgICAgICAgdy5pbnN0YW5jZSgpLnRvZ2dsZVRva2VuKG1vY2tlZEV2ZW50KTtcblxuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLm5vdC50b0JlQ2FsbGVkV2l0aChbeyBzZWxlY3RlZDogdHJ1ZSB9XSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlIGlmIG1heE5vT2ZTZWxlY3Rpb25zIGlzIDEgYW5kIHNlbGVjdGVkQ291bnQgaXMgMScsICgpID0+IHtcbiAgICAgICAgdy5zZXRQcm9wcyh7IG1heE5vT2ZTZWxlY3Rpb25zOiAxLCB0b2tlbnM6IFt7IHNlbGVjdGVkOiB0cnVlIH1dIH0pO1xuXG4gICAgICAgIGNvbnN0IGNsb3Nlc3QgPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICBkYXRhc2V0OiB7XG4gICAgICAgICAgICBpbmRleGtleTogJzAnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBtb2NrZWRFdmVudCA9IHsgdGFyZ2V0OiB7IGNsb3Nlc3QgfSB9O1xuXG4gICAgICAgIHcuaW5zdGFuY2UoKS50b2dnbGVUb2tlbihtb2NrZWRFdmVudCk7XG5cbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _token = require("../token");
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
describe('token', function () {
|
|
12
|
+
describe('snapshot', function () {
|
|
13
|
+
it('renders', function () {
|
|
14
|
+
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_token.Token, {
|
|
15
|
+
classes: {
|
|
16
|
+
token: 'token',
|
|
17
|
+
selectable: 'selectable'
|
|
18
|
+
},
|
|
19
|
+
text: 'foo bar'
|
|
20
|
+
}));
|
|
21
|
+
expect(w).toMatchSnapshot();
|
|
22
|
+
});
|
|
23
|
+
it('renders with brs', function () {
|
|
24
|
+
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_token.Token, {
|
|
25
|
+
classes: {
|
|
26
|
+
token: 'token',
|
|
27
|
+
selectable: 'selectable'
|
|
28
|
+
},
|
|
29
|
+
text: 'foo \nbar'
|
|
30
|
+
}));
|
|
31
|
+
expect(w).toMatchSnapshot();
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbi1zZWxlY3QvX190ZXN0c19fL3Rva2VuLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJ3IiwidG9rZW4iLCJzZWxlY3RhYmxlIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBTTtBQUN0QkEsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCQyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEIsVUFBTUMsQ0FBQyxHQUFHLG1DQUNSLGdDQUFDLFlBQUQ7QUFDRSxRQUFBLE9BQU8sRUFBRTtBQUNQQyxVQUFBQSxLQUFLLEVBQUUsT0FEQTtBQUVQQyxVQUFBQSxVQUFVLEVBQUU7QUFGTCxTQURYO0FBS0UsUUFBQSxJQUFJLEVBQUU7QUFMUixRQURRLENBQVY7QUFTQUMsTUFBQUEsTUFBTSxDQUFDSCxDQUFELENBQU4sQ0FBVUksZUFBVjtBQUNELEtBWEMsQ0FBRjtBQWFBTCxJQUFBQSxFQUFFLENBQUMsa0JBQUQsRUFBcUIsWUFBTTtBQUMzQixVQUFNQyxDQUFDLEdBQUcsbUNBQ1IsZ0NBQUMsWUFBRDtBQUNFLFFBQUEsT0FBTyxFQUFFO0FBQ1BDLFVBQUFBLEtBQUssRUFBRSxPQURBO0FBRVBDLFVBQUFBLFVBQVUsRUFBRTtBQUZMLFNBRFg7QUFLRSxRQUFBLElBQUksRUFBRTtBQUxSLFFBRFEsQ0FBVjtBQVNBQyxNQUFBQSxNQUFNLENBQUNILENBQUQsQ0FBTixDQUFVSSxlQUFWO0FBQ0QsS0FYQyxDQUFGO0FBWUQsR0ExQk8sQ0FBUjtBQTJCRCxDQTVCTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9rZW4gfSBmcm9tICcuLi90b2tlbic7XG5pbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmRlc2NyaWJlKCd0b2tlbicsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IHNoYWxsb3coXG4gICAgICAgIDxUb2tlblxuICAgICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICAgIHRva2VuOiAndG9rZW4nLFxuICAgICAgICAgICAgc2VsZWN0YWJsZTogJ3NlbGVjdGFibGUnLFxuICAgICAgICAgIH19XG4gICAgICAgICAgdGV4dD17J2ZvbyBiYXInfVxuICAgICAgICAvPixcbiAgICAgICk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGJycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHcgPSBzaGFsbG93KFxuICAgICAgICA8VG9rZW5cbiAgICAgICAgICBjbGFzc2VzPXt7XG4gICAgICAgICAgICB0b2tlbjogJ3Rva2VuJyxcbiAgICAgICAgICAgIHNlbGVjdGFibGU6ICdzZWxlY3RhYmxlJyxcbiAgICAgICAgICB9fVxuICAgICAgICAgIHRleHQ9eydmb28gXFxuYmFyJ31cbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|