@pie-lib/text-select 1.13.0-beta.5 → 1.13.0-beta.7
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 +32 -0
- package/package.json +5 -5
- package/lib/__tests__/text-select.test.js +0 -56
- package/lib/__tests__/utils.test.js +0 -23
- package/lib/token-select/__tests__/index.test.js +0 -268
- package/lib/token-select/__tests__/token.test.js +0 -35
- package/lib/tokenizer/__tests__/builder.test.js +0 -399
- package/lib/tokenizer/__tests__/controls.test.js +0 -34
- package/lib/tokenizer/__tests__/index.test.js +0 -210
- package/lib/tokenizer/__tests__/selection-utils.test.js +0 -27
- package/lib/tokenizer/__tests__/token-text.test.js +0 -154
|
@@ -1,210 +0,0 @@
|
|
|
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
|
-
var _builder = require("../builder");
|
|
12
|
-
|
|
13
|
-
var tokens = function tokens() {
|
|
14
|
-
return [{
|
|
15
|
-
start: 0,
|
|
16
|
-
end: 1,
|
|
17
|
-
text: 'f'
|
|
18
|
-
}];
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
var eff = function eff() {
|
|
22
|
-
return tokens()[0];
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
jest.mock("../builder", function () {
|
|
26
|
-
return {
|
|
27
|
-
words: jest.fn().mockReturnValue([{
|
|
28
|
-
start: 0,
|
|
29
|
-
end: 3,
|
|
30
|
-
text: 'foo'
|
|
31
|
-
}]),
|
|
32
|
-
sentences: jest.fn().mockReturnValue([{
|
|
33
|
-
start: 0,
|
|
34
|
-
end: 3,
|
|
35
|
-
text: 'foo'
|
|
36
|
-
}]),
|
|
37
|
-
paragraphs: jest.fn().mockReturnValue([{
|
|
38
|
-
start: 0,
|
|
39
|
-
end: 3,
|
|
40
|
-
text: 'foo'
|
|
41
|
-
}])
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
describe('tokenizer', function () {
|
|
45
|
-
describe('snapshot', function () {
|
|
46
|
-
it('renders', function () {
|
|
47
|
-
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.Tokenizer, {
|
|
48
|
-
text: "foo",
|
|
49
|
-
classes: {},
|
|
50
|
-
onChange: jest.fn(),
|
|
51
|
-
tokens: tokens()
|
|
52
|
-
}));
|
|
53
|
-
expect(w).toMatchSnapshot();
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('logic', function () {
|
|
57
|
-
var w;
|
|
58
|
-
var onChange;
|
|
59
|
-
beforeEach(function () {
|
|
60
|
-
onChange = jest.fn();
|
|
61
|
-
w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.Tokenizer, {
|
|
62
|
-
text: "foo",
|
|
63
|
-
classes: {},
|
|
64
|
-
onChange: onChange,
|
|
65
|
-
tokens: tokens()
|
|
66
|
-
}));
|
|
67
|
-
});
|
|
68
|
-
describe('tokenIndex', function () {
|
|
69
|
-
it('returns 0', function () {
|
|
70
|
-
var index = w.instance().tokenIndex(eff());
|
|
71
|
-
expect(index).toEqual(0);
|
|
72
|
-
});
|
|
73
|
-
it('returns -1', function () {
|
|
74
|
-
var index = w.instance().tokenIndex({
|
|
75
|
-
start: 2,
|
|
76
|
-
end: 3,
|
|
77
|
-
text: 'f'
|
|
78
|
-
});
|
|
79
|
-
expect(index).toEqual(-1);
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
describe('tokenClick', function () {
|
|
83
|
-
var i;
|
|
84
|
-
beforeEach(function () {
|
|
85
|
-
i = w.instance();
|
|
86
|
-
i.setCorrect = jest.fn();
|
|
87
|
-
i.removeToken = jest.fn();
|
|
88
|
-
});
|
|
89
|
-
it('calls removeToken if setCorrectMode == false', function () {
|
|
90
|
-
i.tokenClick(eff());
|
|
91
|
-
expect(i.setCorrect).not.toBeCalled();
|
|
92
|
-
expect(i.removeToken).toBeCalled();
|
|
93
|
-
});
|
|
94
|
-
it('calls setCorrect if setCorrectMode == true', function () {
|
|
95
|
-
i.setState({
|
|
96
|
-
setCorrectMode: true
|
|
97
|
-
});
|
|
98
|
-
i.tokenClick(eff());
|
|
99
|
-
expect(i.setCorrect).toBeCalled();
|
|
100
|
-
expect(i.removeToken).not.toBeCalled();
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
describe('selectToken', function () {
|
|
104
|
-
it('calls onChange', function () {
|
|
105
|
-
w.instance().selectToken({
|
|
106
|
-
start: 1,
|
|
107
|
-
end: 3,
|
|
108
|
-
text: 'oo'
|
|
109
|
-
}, [{
|
|
110
|
-
start: 0,
|
|
111
|
-
end: 1,
|
|
112
|
-
text: 'f'
|
|
113
|
-
}]);
|
|
114
|
-
expect(onChange).toBeCalledWith([{
|
|
115
|
-
start: 1,
|
|
116
|
-
end: 3,
|
|
117
|
-
text: 'oo'
|
|
118
|
-
}], '');
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
describe('buildParagraphsTokens', function () {
|
|
122
|
-
it('calls paragraphs', function () {
|
|
123
|
-
w.instance().buildTokens('paragraph', _builder.paragraphs);
|
|
124
|
-
expect(_builder.paragraphs).toBeCalledWith('foo');
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
describe('buildSentenceTokens', function () {
|
|
128
|
-
it('calls sentences', function () {
|
|
129
|
-
w.instance().buildTokens('sentence', _builder.sentences);
|
|
130
|
-
expect(_builder.sentences).toBeCalledWith('foo');
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
describe('buildWordTokens', function () {
|
|
134
|
-
it('calls words', function () {
|
|
135
|
-
w.instance().buildTokens('word', _builder.words);
|
|
136
|
-
expect(_builder.words).toBeCalledWith('foo');
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
describe('clear', function () {
|
|
140
|
-
it('calls onChange with an empty array', function () {
|
|
141
|
-
w.instance().clear();
|
|
142
|
-
expect(onChange).toBeCalledWith([], '');
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
describe('toggleCorrectMode', function () {
|
|
146
|
-
it('set state', function () {
|
|
147
|
-
w.setState({
|
|
148
|
-
setCorrectMode: true
|
|
149
|
-
});
|
|
150
|
-
w.instance().toggleCorrectMode();
|
|
151
|
-
expect(w.state('setCorrectMode')).toEqual(false);
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
describe('setCorrect', function () {
|
|
155
|
-
it('calls onChange', function () {
|
|
156
|
-
w.instance().setCorrect({
|
|
157
|
-
start: 0,
|
|
158
|
-
end: 1,
|
|
159
|
-
text: 'f'
|
|
160
|
-
});
|
|
161
|
-
expect(onChange).toBeCalledWith([{
|
|
162
|
-
start: 0,
|
|
163
|
-
end: 1,
|
|
164
|
-
text: 'f',
|
|
165
|
-
correct: true
|
|
166
|
-
}], '');
|
|
167
|
-
});
|
|
168
|
-
it('calls onChange w/ correct: false', function () {
|
|
169
|
-
w.setProps({
|
|
170
|
-
tokens: [{
|
|
171
|
-
start: 0,
|
|
172
|
-
end: 1,
|
|
173
|
-
text: 'f',
|
|
174
|
-
correct: true
|
|
175
|
-
}]
|
|
176
|
-
});
|
|
177
|
-
w.instance().setCorrect({
|
|
178
|
-
start: 0,
|
|
179
|
-
end: 1,
|
|
180
|
-
text: 'f'
|
|
181
|
-
});
|
|
182
|
-
expect(onChange).toBeCalledWith([{
|
|
183
|
-
start: 0,
|
|
184
|
-
end: 1,
|
|
185
|
-
text: 'f',
|
|
186
|
-
correct: false
|
|
187
|
-
}], '');
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
describe('removeToken', function () {
|
|
191
|
-
it('calls onChange', function () {
|
|
192
|
-
w.instance().removeToken({
|
|
193
|
-
start: 0,
|
|
194
|
-
end: 1,
|
|
195
|
-
text: 'f'
|
|
196
|
-
});
|
|
197
|
-
expect(onChange).toBeCalledWith([], '');
|
|
198
|
-
});
|
|
199
|
-
it('does not call onChange if it cant find the token', function () {
|
|
200
|
-
w.instance().removeToken({
|
|
201
|
-
start: 2,
|
|
202
|
-
end: 3,
|
|
203
|
-
text: 'a'
|
|
204
|
-
});
|
|
205
|
-
expect(onChange).not.toBeCalled();
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL2luZGV4LnRlc3QuanN4Il0sIm5hbWVzIjpbInRva2VucyIsInN0YXJ0IiwiZW5kIiwidGV4dCIsImVmZiIsImplc3QiLCJtb2NrIiwid29yZHMiLCJmbiIsIm1vY2tSZXR1cm5WYWx1ZSIsInNlbnRlbmNlcyIsInBhcmFncmFwaHMiLCJkZXNjcmliZSIsIml0IiwidyIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm9uQ2hhbmdlIiwiYmVmb3JlRWFjaCIsImluZGV4IiwiaW5zdGFuY2UiLCJ0b2tlbkluZGV4IiwidG9FcXVhbCIsImkiLCJzZXRDb3JyZWN0IiwicmVtb3ZlVG9rZW4iLCJ0b2tlbkNsaWNrIiwibm90IiwidG9CZUNhbGxlZCIsInNldFN0YXRlIiwic2V0Q29ycmVjdE1vZGUiLCJzZWxlY3RUb2tlbiIsInRvQmVDYWxsZWRXaXRoIiwiYnVpbGRUb2tlbnMiLCJjbGVhciIsInRvZ2dsZUNvcnJlY3RNb2RlIiwic3RhdGUiLCJjb3JyZWN0Iiwic2V0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUztBQUFBLFNBQU0sQ0FDbkI7QUFDRUMsSUFBQUEsS0FBSyxFQUFFLENBRFQ7QUFFRUMsSUFBQUEsR0FBRyxFQUFFLENBRlA7QUFHRUMsSUFBQUEsSUFBSSxFQUFFO0FBSFIsR0FEbUIsQ0FBTjtBQUFBLENBQWY7O0FBUUEsSUFBTUMsR0FBRyxHQUFHLFNBQU5BLEdBQU07QUFBQSxTQUFNSixNQUFNLEdBQUcsQ0FBSCxDQUFaO0FBQUEsQ0FBWjs7QUFFQUssSUFBSSxDQUFDQyxJQUFMLGVBQXdCO0FBQUEsU0FBTztBQUM3QkMsSUFBQUEsS0FBSyxFQUFFRixJQUFJLENBQUNHLEVBQUwsR0FBVUMsZUFBVixDQUEwQixDQUFDO0FBQUVSLE1BQUFBLEtBQUssRUFBRSxDQUFUO0FBQVlDLE1BQUFB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QWpCLENBQWdDLEVBQWhDLEVBQW9DLEVBQXBDO0FBQ0QsT0FIQyxDQUFGO0FBSUFuQixNQUFBQSxFQUFFLENBQUMsa0RBQUQsRUFBcUQsWUFBTTtBQUMzREMsUUFBQUEsQ0FBQyxDQUFDTSxRQUFGLEdBQWFLLFdBQWIsQ0FBeUI7QUFBRXhCLFVBQUFBLEtBQUssRUFBRSxDQUFUO0FBQVlDLFVBQUFBLEdBQUcsRUFBRSxDQUFqQjtBQUFvQkMsVUFBQUEsSUFBSSxFQUFFO0FBQTFCLFNBQXpCO0FBQ0FZLFFBQUFBLE1BQU0sQ0FBQ0UsUUFBRCxDQUFOLENBQWlCVSxHQUFqQixDQUFxQkMsVUFBckI7QUFDRCxPQUhDLENBQUY7QUFJRCxLQVRPLENBQVI7QUFVRCxHQTlHTyxDQUFSO0FBK0dELENBdkhPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb2tlbml6ZXIgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgeyB3b3Jkcywgc2VudGVuY2VzLCBwYXJhZ3JhcGhzIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5cbmNvbnN0IHRva2VucyA9ICgpID0+IFtcbiAge1xuICAgIHN0YXJ0OiAwLFxuICAgIGVuZDogMSxcbiAgICB0ZXh0OiAnZicsXG4gIH0sXG5dO1xuXG5jb25zdCBlZmYgPSAoKSA9PiB0b2tlbnMoKVswXTtcblxuamVzdC5tb2NrKCcuLi9idWlsZGVyJywgKCkgPT4gKHtcbiAgd29yZHM6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoW3sgc3RhcnQ6IDAsIGVuZDogMywgdGV4dDogJ2ZvbycgfV0pLFxuICBzZW50ZW5jZXM6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoW3sgc3RhcnQ6IDAsIGVuZDogMywgdGV4dDogJ2ZvbycgfV0pLFxuICBwYXJhZ3JhcGhzOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFt7IHN0YXJ0OiAwLCBlbmQ6IDMsIHRleHQ6ICdmb28nIH1dKSxcbn0pKTtcbmRlc2NyaWJlKCd0b2tlbml6ZXInLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHcgPSBzaGFsbG93KDxUb2tlbml6ZXIgdGV4dD1cImZvb1wiIGNsYXNzZXM9e3t9fSBvbkNoYW5nZT17amVzdC5mbigpfSB0b2tlbnM9e3Rva2VucygpfSAvPik7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBsZXQgdztcbiAgICBsZXQgb25DaGFuZ2U7XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICAgICAgdyA9IHNoYWxsb3coPFRva2VuaXplciB0ZXh0PVwiZm9vXCIgY2xhc3Nlcz17e319IG9uQ2hhbmdlPXtvbkNoYW5nZX0gdG9rZW5zPXt0b2tlbnMoKX0gLz4pO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCd0b2tlbkluZGV4JywgKCkgPT4ge1xuICAgICAgaXQoJ3JldHVybnMgMCcsICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB3Lmluc3RhbmNlKCkudG9rZW5JbmRleChlZmYoKSk7XG4gICAgICAgIGV4cGVjdChpbmRleCkudG9FcXVhbCgwKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgncmV0dXJucyAtMScsICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB3Lmluc3RhbmNlKCkudG9rZW5JbmRleCh7IHN0YXJ0OiAyLCBlbmQ6IDMsIHRleHQ6ICdmJyB9KTtcbiAgICAgICAgZXhwZWN0KGluZGV4KS50b0VxdWFsKC0xKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Rva2VuQ2xpY2snLCAoKSA9PiB7XG4gICAgICBsZXQgaTtcblxuICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgIGkgPSB3Lmluc3RhbmNlKCk7XG4gICAgICAgIGkuc2V0Q29ycmVjdCA9IGplc3QuZm4oKTtcbiAgICAgICAgaS5yZW1vdmVUb2tlbiA9IGplc3QuZm4oKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnY2FsbHMgcmVtb3ZlVG9rZW4gaWYgc2V0Q29ycmVjdE1vZGUgPT0gZmFsc2UnLCAoKSA9PiB7XG4gICAgICAgIGkudG9rZW5DbGljayhlZmYoKSk7XG4gICAgICAgIGV4cGVjdChpLnNldENvcnJlY3QpLm5vdC50b0JlQ2FsbGVkKCk7XG4gICAgICAgIGV4cGVjdChpLnJlbW92ZVRva2VuKS50b0JlQ2FsbGVkKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIHNldENvcnJlY3QgaWYgc2V0Q29ycmVjdE1vZGUgPT0gdHJ1ZScsICgpID0+IHtcbiAgICAgICAgaS5zZXRTdGF0ZSh7IHNldENvcnJlY3RNb2RlOiB0cnVlIH0pO1xuICAgICAgICBpLnRva2VuQ2xpY2soZWZmKCkpO1xuICAgICAgICBleHBlY3QoaS5zZXRDb3JyZWN0KS50b0JlQ2FsbGVkKCk7XG4gICAgICAgIGV4cGVjdChpLnJlbW92ZVRva2VuKS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc2VsZWN0VG9rZW4nLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5zZWxlY3RUb2tlbih7IHN0YXJ0OiAxLCBlbmQ6IDMsIHRleHQ6ICdvbycgfSwgW3sgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnIH1dKTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChbeyBzdGFydDogMSwgZW5kOiAzLCB0ZXh0OiAnb28nIH1dLCAnJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdidWlsZFBhcmFncmFwaHNUb2tlbnMnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgcGFyYWdyYXBocycsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmJ1aWxkVG9rZW5zKCdwYXJhZ3JhcGgnLCBwYXJhZ3JhcGhzKTtcbiAgICAgICAgZXhwZWN0KHBhcmFncmFwaHMpLnRvQmVDYWxsZWRXaXRoKCdmb28nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2J1aWxkU2VudGVuY2VUb2tlbnMnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgc2VudGVuY2VzJywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkuYnVpbGRUb2tlbnMoJ3NlbnRlbmNlJywgc2VudGVuY2VzKTtcbiAgICAgICAgZXhwZWN0KHNlbnRlbmNlcykudG9CZUNhbGxlZFdpdGgoJ2ZvbycpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnYnVpbGRXb3JkVG9rZW5zJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIHdvcmRzJywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkuYnVpbGRUb2tlbnMoJ3dvcmQnLCB3b3Jkcyk7XG4gICAgICAgIGV4cGVjdCh3b3JkcykudG9CZUNhbGxlZFdpdGgoJ2ZvbycpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnY2xlYXInLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2l0aCBhbiBlbXB0eSBhcnJheScsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmNsZWFyKCk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoW10sICcnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3RvZ2dsZUNvcnJlY3RNb2RlJywgKCkgPT4ge1xuICAgICAgaXQoJ3NldCBzdGF0ZScsICgpID0+IHtcbiAgICAgICAgdy5zZXRTdGF0ZSh7IHNldENvcnJlY3RNb2RlOiB0cnVlIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkudG9nZ2xlQ29ycmVjdE1vZGUoKTtcbiAgICAgICAgZXhwZWN0KHcuc3RhdGUoJ3NldENvcnJlY3RNb2RlJykpLnRvRXF1YWwoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc2V0Q29ycmVjdCcsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZScsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnNldENvcnJlY3QoeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicgfSk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoW3sgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnLCBjb3JyZWN0OiB0cnVlIH1dLCAnJyk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3LyBjb3JyZWN0OiBmYWxzZScsICgpID0+IHtcbiAgICAgICAgdy5zZXRQcm9wcyh7XG4gICAgICAgICAgdG9rZW5zOiBbeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicsIGNvcnJlY3Q6IHRydWUgfV0sXG4gICAgICAgIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkuc2V0Q29ycmVjdCh7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9KTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChbeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicsIGNvcnJlY3Q6IGZhbHNlIH1dLCAnJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdyZW1vdmVUb2tlbicsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZScsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnJlbW92ZVRva2VuKHsgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnIH0pO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvQmVDYWxsZWRXaXRoKFtdLCAnJyk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdkb2VzIG5vdCBjYWxsIG9uQ2hhbmdlIGlmIGl0IGNhbnQgZmluZCB0aGUgdG9rZW4nLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yZW1vdmVUb2tlbih7IHN0YXJ0OiAyLCBlbmQ6IDMsIHRleHQ6ICdhJyB9KTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _selectionUtils = require("../selection-utils");
|
|
4
|
-
|
|
5
|
-
describe('selection-utils', function () {
|
|
6
|
-
var selection;
|
|
7
|
-
var range;
|
|
8
|
-
beforeEach(function () {
|
|
9
|
-
selection = {
|
|
10
|
-
removeAllRanges: jest.fn(),
|
|
11
|
-
addRange: jest.fn(),
|
|
12
|
-
getRangeAt: jest.fn().mockReturnValue(range)
|
|
13
|
-
};
|
|
14
|
-
global.document.getSelection = jest.fn().mockReturnValue(selection);
|
|
15
|
-
global.document.createRange = jest.fn();
|
|
16
|
-
});
|
|
17
|
-
describe('clearSelection', function () {
|
|
18
|
-
it('calls removeAllRanges', function () {
|
|
19
|
-
(0, _selectionUtils.clearSelection)();
|
|
20
|
-
expect(selection.removeAllRanges).toBeCalled();
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
xdescribe('getCaretCharacterOffsetWithin', function () {
|
|
24
|
-
it('TODO', function () {});
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL3NlbGVjdGlvbi11dGlscy50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwic2VsZWN0aW9uIiwicmFuZ2UiLCJiZWZvcmVFYWNoIiwicmVtb3ZlQWxsUmFuZ2VzIiwiamVzdCIsImZuIiwiYWRkUmFuZ2UiLCJnZXRSYW5nZUF0IiwibW9ja1JldHVyblZhbHVlIiwiZ2xvYmFsIiwiZG9jdW1lbnQiLCJnZXRTZWxlY3Rpb24iLCJjcmVhdGVSYW5nZSIsIml0IiwiZXhwZWN0IiwidG9CZUNhbGxlZCIsInhkZXNjcmliZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFFQUEsUUFBUSxDQUFDLGlCQUFELEVBQW9CLFlBQU07QUFDaEMsTUFBSUMsU0FBSjtBQUNBLE1BQUlDLEtBQUo7QUFDQUMsRUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZkYsSUFBQUEsU0FBUyxHQUFHO0FBQ1ZHLE1BQUFBLGVBQWUsRUFBRUMsSUFBSSxDQUFDQyxFQUFMLEVBRFA7QUFFVkMsTUFBQUEsUUFBUSxFQUFFRixJQUFJLENBQUNDLEVBQUwsRUFGQTtBQUdWRSxNQUFBQSxVQUFVLEVBQUVILElBQUksQ0FBQ0MsRUFBTCxHQUFVRyxlQUFWLENBQTBCUCxLQUExQjtBQUhGLEtBQVo7QUFLQVEsSUFBQUEsTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxZQUFoQixHQUErQlAsSUFBSSxDQUFDQyxFQUFMLEdBQVVHLGVBQVYsQ0FBMEJSLFNBQTFCLENBQS9CO0FBQ0FTLElBQUFBLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkUsV0FBaEIsR0FBOEJSLElBQUksQ0FBQ0MsRUFBTCxFQUE5QjtBQUNELEdBUlMsQ0FBVjtBQVVBTixFQUFBQSxRQUFRLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUMvQmMsSUFBQUEsRUFBRSxDQUFDLHVCQUFELEVBQTBCLFlBQU07QUFDaEM7QUFDQUMsTUFBQUEsTUFBTSxDQUFDZCxTQUFTLENBQUNHLGVBQVgsQ0FBTixDQUFrQ1ksVUFBbEM7QUFDRCxLQUhDLENBQUY7QUFJRCxHQUxPLENBQVI7QUFPQUMsRUFBQUEsU0FBUyxDQUFDLCtCQUFELEVBQWtDLFlBQU07QUFDL0NILElBQUFBLEVBQUUsQ0FBQyxNQUFELEVBQVMsWUFBTSxDQUFFLENBQWpCLENBQUY7QUFDRCxHQUZRLENBQVQ7QUFHRCxDQXZCTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xlYXJTZWxlY3Rpb24sIGdldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluIH0gZnJvbSAnLi4vc2VsZWN0aW9uLXV0aWxzJztcblxuZGVzY3JpYmUoJ3NlbGVjdGlvbi11dGlscycsICgpID0+IHtcbiAgbGV0IHNlbGVjdGlvbjtcbiAgbGV0IHJhbmdlO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBzZWxlY3Rpb24gPSB7XG4gICAgICByZW1vdmVBbGxSYW5nZXM6IGplc3QuZm4oKSxcbiAgICAgIGFkZFJhbmdlOiBqZXN0LmZuKCksXG4gICAgICBnZXRSYW5nZUF0OiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHJhbmdlKSxcbiAgICB9O1xuICAgIGdsb2JhbC5kb2N1bWVudC5nZXRTZWxlY3Rpb24gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHNlbGVjdGlvbik7XG4gICAgZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZVJhbmdlID0gamVzdC5mbigpO1xuICB9KTtcblxuICBkZXNjcmliZSgnY2xlYXJTZWxlY3Rpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIHJlbW92ZUFsbFJhbmdlcycsICgpID0+IHtcbiAgICAgIGNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICBleHBlY3Qoc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcykudG9CZUNhbGxlZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICB4ZGVzY3JpYmUoJ2dldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluJywgKCkgPT4ge1xuICAgIGl0KCdUT0RPJywgKCkgPT4ge30pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _enzyme = require("enzyme");
|
|
6
|
-
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
|
|
9
|
-
var _tokenText = _interopRequireDefault(require("../token-text"));
|
|
10
|
-
|
|
11
|
-
var _builder = require("../builder");
|
|
12
|
-
|
|
13
|
-
var _selectionUtils = require("../selection-utils");
|
|
14
|
-
|
|
15
|
-
jest.mock("../selection-utils", function () {
|
|
16
|
-
return {
|
|
17
|
-
clearSelection: jest.fn(),
|
|
18
|
-
getCaretCharacterOffsetWithin: jest.fn().mockReturnValue(10)
|
|
19
|
-
};
|
|
20
|
-
});
|
|
21
|
-
jest.mock("../builder", function () {
|
|
22
|
-
return {
|
|
23
|
-
intersection: jest.fn().mockReturnValue({
|
|
24
|
-
hasOverlap: jest.fn().mockReturnValue(false),
|
|
25
|
-
surroundedTokens: jest.fn().mockReturnValue([])
|
|
26
|
-
}),
|
|
27
|
-
normalize: jest.fn().mockReturnValue([{
|
|
28
|
-
text: "lorem\nfoo bar",
|
|
29
|
-
start: 0,
|
|
30
|
-
end: 13,
|
|
31
|
-
predefined: true
|
|
32
|
-
}])
|
|
33
|
-
};
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
var tokens = function tokens() {
|
|
37
|
-
return [{
|
|
38
|
-
start: 0,
|
|
39
|
-
end: 7,
|
|
40
|
-
text: "lorem\nfoo bar"
|
|
41
|
-
}];
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
var mkEvent = function mkEvent() {
|
|
45
|
-
return {
|
|
46
|
-
preventDefault: jest.fn()
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
describe('token-text', function () {
|
|
51
|
-
describe('snapshot', function () {
|
|
52
|
-
it('renders', function () {
|
|
53
|
-
var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_tokenText["default"], {
|
|
54
|
-
onTokenClick: jest.fn(),
|
|
55
|
-
onSelectToken: jest.fn(),
|
|
56
|
-
text: "lorem\nfoo bar",
|
|
57
|
-
tokens: tokens()
|
|
58
|
-
}));
|
|
59
|
-
expect(w).toMatchSnapshot();
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
describe('logic', function () {
|
|
63
|
-
var w;
|
|
64
|
-
var onSelectToken;
|
|
65
|
-
var onTokenClick;
|
|
66
|
-
beforeEach(function () {
|
|
67
|
-
global.window.getSelection = jest.fn().mockReturnValue({
|
|
68
|
-
toString: function toString() {
|
|
69
|
-
return 'bar';
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
onSelectToken = jest.fn();
|
|
73
|
-
onTokenClick = jest.fn();
|
|
74
|
-
w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_tokenText["default"], {
|
|
75
|
-
onTokenClick: onTokenClick,
|
|
76
|
-
onSelectToken: onSelectToken,
|
|
77
|
-
text: "lorem\nfoo bar",
|
|
78
|
-
tokens: tokens()
|
|
79
|
-
}));
|
|
80
|
-
});
|
|
81
|
-
describe('mouseup', function () {
|
|
82
|
-
it('calls event.preventDefault', function () {
|
|
83
|
-
var event = mkEvent();
|
|
84
|
-
w.instance().onClick(event);
|
|
85
|
-
expect(event.preventDefault).toBeCalled();
|
|
86
|
-
});
|
|
87
|
-
it('calls getCaretCharacterOffsetWithin', function () {
|
|
88
|
-
var event = mkEvent();
|
|
89
|
-
w.instance().root = {};
|
|
90
|
-
w.instance().onClick(event);
|
|
91
|
-
expect(_selectionUtils.getCaretCharacterOffsetWithin).toBeCalledWith({});
|
|
92
|
-
});
|
|
93
|
-
it('calls clear selection if there is an overlap', function () {
|
|
94
|
-
_builder.intersection.mockReturnValue({
|
|
95
|
-
hasOverlap: true
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
var event = mkEvent();
|
|
99
|
-
w.instance().root = {};
|
|
100
|
-
w.instance().onClick(event);
|
|
101
|
-
expect(_selectionUtils.clearSelection).toBeCalled();
|
|
102
|
-
expect(onSelectToken).not.toBeCalled();
|
|
103
|
-
});
|
|
104
|
-
it('calls onSelectToken', function () {
|
|
105
|
-
var event = mkEvent();
|
|
106
|
-
|
|
107
|
-
_builder.intersection.mockReturnValue({
|
|
108
|
-
hasOverlap: false,
|
|
109
|
-
surroundedTokens: []
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
w.instance().root = {};
|
|
113
|
-
w.instance().onClick(event);
|
|
114
|
-
expect(onSelectToken).toBeCalledWith({
|
|
115
|
-
text: 'bar',
|
|
116
|
-
start: 10,
|
|
117
|
-
end: 13
|
|
118
|
-
}, []);
|
|
119
|
-
});
|
|
120
|
-
it('does not call onSelectToken for ["\n", " ", "\t"]', function () {
|
|
121
|
-
var event = mkEvent();
|
|
122
|
-
|
|
123
|
-
_builder.intersection.mockReturnValue({
|
|
124
|
-
hasOverlap: false,
|
|
125
|
-
surroundedTokens: []
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
w.instance().root = {};
|
|
129
|
-
global.window.getSelection = jest.fn().mockReturnValue({
|
|
130
|
-
toString: function toString() {
|
|
131
|
-
return '\n';
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
w.instance().onClick(event);
|
|
135
|
-
expect(onSelectToken).not.toBeCalled();
|
|
136
|
-
global.window.getSelection = jest.fn().mockReturnValue({
|
|
137
|
-
toString: function toString() {
|
|
138
|
-
return ' ';
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
w.instance().onClick(event);
|
|
142
|
-
expect(onSelectToken).not.toBeCalled();
|
|
143
|
-
global.window.getSelection = jest.fn().mockReturnValue({
|
|
144
|
-
toString: function toString() {
|
|
145
|
-
return '\t';
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
w.instance().onClick(event);
|
|
149
|
-
expect(onSelectToken).not.toBeCalled();
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL3Rva2VuLXRleHQudGVzdC5qc3giXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJjbGVhclNlbGVjdGlvbiIsImZuIiwiZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4iLCJtb2NrUmV0dXJuVmFsdWUiLCJpbnRlcnNlY3Rpb24iLCJoYXNPdmVybGFwIiwic3Vycm91bmRlZFRva2VucyIsIm5vcm1hbGl6ZSIsInRleHQiLCJzdGFydCIsImVuZCIsInByZWRlZmluZWQiLCJ0b2tlbnMiLCJta0V2ZW50IiwicHJldmVudERlZmF1bHQiLCJkZXNjcmliZSIsIml0IiwidyIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm9uU2VsZWN0VG9rZW4iLCJvblRva2VuQ2xpY2siLCJiZWZvcmVFYWNoIiwiZ2xvYmFsIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwidG9TdHJpbmciLCJldmVudCIsImluc3RhbmNlIiwib25DbGljayIsInRvQmVDYWxsZWQiLCJyb290IiwidG9CZUNhbGxlZFdpdGgiLCJub3QiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLHVCQUFnQztBQUFBLFNBQU87QUFDckNDLElBQUFBLGNBQWMsRUFBRUYsSUFBSSxDQUFDRyxFQUFMLEVBRHFCO0FBRXJDQyxJQUFBQSw2QkFBNkIsRUFBRUosSUFBSSxDQUFDRyxFQUFMLEdBQVVFLGVBQVYsQ0FBMEIsRUFBMUI7QUFGTSxHQUFQO0FBQUEsQ0FBaEM7QUFLQUwsSUFBSSxDQUFDQyxJQUFMLGVBQXdCO0FBQUEsU0FBTztBQUM3QkssSUFBQUEsWUFBWSxFQUFFTixJQUFJLENBQUNHLEVBQUwsR0FBVUUsZUFBVixDQUEwQjtBQUN0Q0UsTUFBQUEsVUFBVSxFQUFFUCxJQUFJLENBQUNHLEVBQUwsR0FBVUUsZUFBVixDQUEwQixLQUExQixDQUQwQjtBQUV0Q0cs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QUYsR0FBYUMsT0FBYixDQUFxQkYsS0FBckI7QUFDQVQsUUFBQUEsTUFBTSxDQUFDRSxhQUFELENBQU4sQ0FBc0JhLEdBQXRCLENBQTBCSCxVQUExQjtBQUNELE9BMUJDLENBQUY7QUEyQkQsS0EvRE8sQ0FBUjtBQWdFRCxHQXRGTyxDQUFSO0FBdUZELENBakdPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVG9rZW5UZXh0IGZyb20gJy4uL3Rva2VuLXRleHQnO1xuaW1wb3J0IHsgaW50ZXJzZWN0aW9uIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQgeyBjbGVhclNlbGVjdGlvbiwgZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4gfSBmcm9tICcuLi9zZWxlY3Rpb24tdXRpbHMnO1xuXG5qZXN0Lm1vY2soJy4uL3NlbGVjdGlvbi11dGlscycsICgpID0+ICh7XG4gIGNsZWFyU2VsZWN0aW9uOiBqZXN0LmZuKCksXG4gIGdldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKDEwKSxcbn0pKTtcblxuamVzdC5tb2NrKCcuLi9idWlsZGVyJywgKCkgPT4gKHtcbiAgaW50ZXJzZWN0aW9uOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICBoYXNPdmVybGFwOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKGZhbHNlKSxcbiAgICBzdXJyb3VuZGVkVG9rZW5zOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFtdKSxcbiAgfSksXG4gIG5vcm1hbGl6ZTogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShbXG4gICAge1xuICAgICAgdGV4dDogYGxvcmVtXFxuZm9vIGJhcmAsXG4gICAgICBzdGFydDogMCxcbiAgICAgIGVuZDogMTMsXG4gICAgICBwcmVkZWZpbmVkOiB0cnVlLFxuICAgIH0sXG4gIF0pLFxufSkpO1xuXG5jb25zdCB0b2tlbnMgPSAoKSA9PiBbXG4gIHtcbiAgICBzdGFydDogMCxcbiAgICBlbmQ6IDcsXG4gICAgdGV4dDogYGxvcmVtXFxuZm9vIGJhcmAsXG4gIH0sXG5dO1xuXG5jb25zdCBta0V2ZW50ID0gKCkgPT4gKHtcbiAgcHJldmVudERlZmF1bHQ6IGplc3QuZm4oKSxcbn0pO1xuXG5kZXNjcmliZSgndG9rZW4tdGV4dCcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IHNoYWxsb3coXG4gICAgICAgIDxUb2tlblRleHQgb25Ub2tlbkNsaWNrPXtqZXN0LmZuKCl9IG9uU2VsZWN0VG9rZW49e2plc3QuZm4oKX0gdGV4dD17YGxvcmVtXFxuZm9vIGJhcmB9IHRva2Vucz17dG9rZW5zKCl9IC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGxldCB3O1xuICAgIGxldCBvblNlbGVjdFRva2VuO1xuICAgIGxldCBvblRva2VuQ2xpY2s7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBnbG9iYWwud2luZG93LmdldFNlbGVjdGlvbiA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICB0b1N0cmluZzogKCkgPT4gJ2JhcicsXG4gICAgICB9KTtcblxuICAgICAgb25TZWxlY3RUb2tlbiA9IGplc3QuZm4oKTtcbiAgICAgIG9uVG9rZW5DbGljayA9IGplc3QuZm4oKTtcblxuICAgICAgdyA9IHNoYWxsb3coXG4gICAgICAgIDxUb2tlblRleHRcbiAgICAgICAgICBvblRva2VuQ2xpY2s9e29uVG9rZW5DbGlja31cbiAgICAgICAgICBvblNlbGVjdFRva2VuPXtvblNlbGVjdFRva2VufVxuICAgICAgICAgIHRleHQ9e2Bsb3JlbVxcbmZvbyBiYXJgfVxuICAgICAgICAgIHRva2Vucz17dG9rZW5zKCl9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdtb3VzZXVwJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIGV2ZW50LnByZXZlbnREZWZhdWx0JywgKCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudCA9IG1rRXZlbnQoKTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICBleHBlY3QoZXZlbnQucHJldmVudERlZmF1bHQpLnRvQmVDYWxsZWQoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnY2FsbHMgZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4nLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbWtFdmVudCgpO1xuICAgICAgICB3Lmluc3RhbmNlKCkucm9vdCA9IHt9O1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChnZXRDYXJldENoYXJhY3Rlck9mZnNldFdpdGhpbikudG9CZUNhbGxlZFdpdGgoe30pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdjYWxscyBjbGVhciBzZWxlY3Rpb24gaWYgdGhlcmUgaXMgYW4gb3ZlcmxhcCcsICgpID0+IHtcbiAgICAgICAgaW50ZXJzZWN0aW9uLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgaGFzT3ZlcmxhcDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbWtFdmVudCgpO1xuICAgICAgICB3Lmluc3RhbmNlKCkucm9vdCA9IHt9O1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChjbGVhclNlbGVjdGlvbikudG9CZUNhbGxlZCgpO1xuICAgICAgICBleHBlY3Qob25TZWxlY3RUb2tlbikubm90LnRvQmVDYWxsZWQoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnY2FsbHMgb25TZWxlY3RUb2tlbicsICgpID0+IHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBta0V2ZW50KCk7XG4gICAgICAgIGludGVyc2VjdGlvbi5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIGhhc092ZXJsYXA6IGZhbHNlLFxuICAgICAgICAgIHN1cnJvdW5kZWRUb2tlbnM6IFtdLFxuICAgICAgICB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnJvb3QgPSB7fTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICBleHBlY3Qob25TZWxlY3RUb2tlbikudG9CZUNhbGxlZFdpdGgoeyB0ZXh0OiAnYmFyJywgc3RhcnQ6IDEwLCBlbmQ6IDEzIH0sIFtdKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnZG9lcyBub3QgY2FsbCBvblNlbGVjdFRva2VuIGZvciBbXCJcXG5cIiwgXCIgXCIsIFwiXFx0XCJdJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudCA9IG1rRXZlbnQoKTtcblxuICAgICAgICBpbnRlcnNlY3Rpb24ubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICBoYXNPdmVybGFwOiBmYWxzZSxcbiAgICAgICAgICBzdXJyb3VuZGVkVG9rZW5zOiBbXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yb290ID0ge307XG5cbiAgICAgICAgZ2xvYmFsLndpbmRvdy5nZXRTZWxlY3Rpb24gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICB0b1N0cmluZzogKCkgPT4gJ1xcbicsXG4gICAgICAgIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChvblNlbGVjdFRva2VuKS5ub3QudG9CZUNhbGxlZCgpO1xuXG4gICAgICAgIGdsb2JhbC53aW5kb3cuZ2V0U2VsZWN0aW9uID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgdG9TdHJpbmc6ICgpID0+ICcgJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KG9uU2VsZWN0VG9rZW4pLm5vdC50b0JlQ2FsbGVkKCk7XG5cbiAgICAgICAgZ2xvYmFsLndpbmRvdy5nZXRTZWxlY3Rpb24gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICB0b1N0cmluZzogKCkgPT4gJ1xcdCcsXG4gICAgICAgIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChvblNlbGVjdFRva2VuKS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|