@pie-lib/text-select 1.14.0-beta.0 → 1.14.0

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.
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL2luZGV4LnRlc3QuanN4Il0sIm5hbWVzIjpbInRva2VucyIsInN0YXJ0IiwiZW5kIiwidGV4dCIsImVmZiIsImplc3QiLCJtb2NrIiwid29yZHMiLCJmbiIsIm1vY2tSZXR1cm5WYWx1ZSIsInNlbnRlbmNlcyIsInBhcmFncmFwaHMiLCJkZXNjcmliZSIsIml0IiwidyIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm9uQ2hhbmdlIiwiYmVmb3JlRWFjaCIsImluZGV4IiwiaW5zdGFuY2UiLCJ0b2tlbkluZGV4IiwidG9FcXVhbCIsImkiLCJzZXRDb3JyZWN0IiwicmVtb3ZlVG9rZW4iLCJ0b2tlbkNsaWNrIiwibm90IiwidG9CZUNhbGxlZCIsInNldFN0YXRlIiwic2V0Q29ycmVjdE1vZGUiLCJzZWxlY3RUb2tlbiIsInRvQmVDYWxsZWRXaXRoIiwiYnVpbGRUb2tlbnMiLCJjbGVhciIsInRvZ2dsZUNvcnJlY3RNb2RlIiwic3RhdGUiLCJjb3JyZWN0Iiwic2V0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUztBQUFBLFNBQU0sQ0FDbkI7QUFDRUMsSUFBQUEsS0FBSyxFQUFFLENBRFQ7QUFFRUMsSUFBQUEsR0FBRyxFQUFFLENBRlA7QUFHRUMsSUFBQUEsSUFBSSxFQUFFO0FBSFIsR0FEbUIsQ0FBTjtBQUFBLENBQWY7O0FBUUEsSUFBTUMsR0FBRyxHQUFHLFNBQU5BLEdBQU07QUFBQSxTQUFNSixNQUFNLEdBQUcsQ0FBSCxDQUFaO0FBQUEsQ0FBWjs7QUFFQUssSUFBSSxDQUFDQyxJQUFMLENBQVUsWUFBVixFQUF3QjtBQUFBLFNBQU87QUFDN0JDLElBQUFBLEtBQUssRUFBRUYsSUFBSSxDQUFDRyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsQ0FBQztBQUFFUixNQUFBQSxLQUFLLEVBQUUsQ0FBVDtB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LENBQWlCZSxjQUFqQixDQUFnQyxFQUFoQyxFQUFvQyxFQUFwQztBQUNELE9BSEMsQ0FBRjtBQUlBbkIsTUFBQUEsRUFBRSxDQUFDLGtEQUFELEVBQXFELFlBQU07QUFDM0RDLFFBQUFBLENBQUMsQ0FBQ00sUUFBRixHQUFhSyxXQUFiLENBQXlCO0FBQUV4QixVQUFBQSxLQUFLLEVBQUUsQ0FBVDtBQUFZQyxVQUFBQSxHQUFHLEVBQUUsQ0FBakI7QUFBb0JDLFVBQUFBLElBQUksRUFBRTtBQUExQixTQUF6QjtBQUNBWSxRQUFBQSxNQUFNLENBQUNFLFFBQUQsQ0FBTixDQUFpQlUsR0FBakIsQ0FBcUJDLFVBQXJCO0FBQ0QsT0FIQyxDQUFGO0FBSUQsS0FUTyxDQUFSO0FBVUQsR0E5R08sQ0FBUjtBQStHRCxDQXZITyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9rZW5pemVyIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IHsgd29yZHMsIHNlbnRlbmNlcywgcGFyYWdyYXBocyB9IGZyb20gJy4uL2J1aWxkZXInO1xuXG5jb25zdCB0b2tlbnMgPSAoKSA9PiBbXG4gIHtcbiAgICBzdGFydDogMCxcbiAgICBlbmQ6IDEsXG4gICAgdGV4dDogJ2YnLFxuICB9LFxuXTtcblxuY29uc3QgZWZmID0gKCkgPT4gdG9rZW5zKClbMF07XG5cbmplc3QubW9jaygnLi4vYnVpbGRlcicsICgpID0+ICh7XG4gIHdvcmRzOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFt7IHN0YXJ0OiAwLCBlbmQ6IDMsIHRleHQ6ICdmb28nIH1dKSxcbiAgc2VudGVuY2VzOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFt7IHN0YXJ0OiAwLCBlbmQ6IDMsIHRleHQ6ICdmb28nIH1dKSxcbiAgcGFyYWdyYXBoczogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShbeyBzdGFydDogMCwgZW5kOiAzLCB0ZXh0OiAnZm9vJyB9XSksXG59KSk7XG5kZXNjcmliZSgndG9rZW5pemVyJywgKCkgPT4ge1xuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gc2hhbGxvdyg8VG9rZW5pemVyIHRleHQ9XCJmb29cIiBjbGFzc2VzPXt7fX0gb25DaGFuZ2U9e2plc3QuZm4oKX0gdG9rZW5zPXt0b2tlbnMoKX0gLz4pO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9naWMnLCAoKSA9PiB7XG4gICAgbGV0IHc7XG4gICAgbGV0IG9uQ2hhbmdlO1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgICAgIHcgPSBzaGFsbG93KDxUb2tlbml6ZXIgdGV4dD1cImZvb1wiIGNsYXNzZXM9e3t9fSBvbkNoYW5nZT17b25DaGFuZ2V9IHRva2Vucz17dG9rZW5zKCl9IC8+KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgndG9rZW5JbmRleCcsICgpID0+IHtcbiAgICAgIGl0KCdyZXR1cm5zIDAnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdy5pbnN0YW5jZSgpLnRva2VuSW5kZXgoZWZmKCkpO1xuICAgICAgICBleHBlY3QoaW5kZXgpLnRvRXF1YWwoMCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3JldHVybnMgLTEnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdy5pbnN0YW5jZSgpLnRva2VuSW5kZXgoeyBzdGFydDogMiwgZW5kOiAzLCB0ZXh0OiAnZicgfSk7XG4gICAgICAgIGV4cGVjdChpbmRleCkudG9FcXVhbCgtMSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd0b2tlbkNsaWNrJywgKCkgPT4ge1xuICAgICAgbGV0IGk7XG5cbiAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICBpID0gdy5pbnN0YW5jZSgpO1xuICAgICAgICBpLnNldENvcnJlY3QgPSBqZXN0LmZuKCk7XG4gICAgICAgIGkucmVtb3ZlVG9rZW4gPSBqZXN0LmZuKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIHJlbW92ZVRva2VuIGlmIHNldENvcnJlY3RNb2RlID09IGZhbHNlJywgKCkgPT4ge1xuICAgICAgICBpLnRva2VuQ2xpY2soZWZmKCkpO1xuICAgICAgICBleHBlY3QoaS5zZXRDb3JyZWN0KS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgICBleHBlY3QoaS5yZW1vdmVUb2tlbikudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdjYWxscyBzZXRDb3JyZWN0IGlmIHNldENvcnJlY3RNb2RlID09IHRydWUnLCAoKSA9PiB7XG4gICAgICAgIGkuc2V0U3RhdGUoeyBzZXRDb3JyZWN0TW9kZTogdHJ1ZSB9KTtcbiAgICAgICAgaS50b2tlbkNsaWNrKGVmZigpKTtcbiAgICAgICAgZXhwZWN0KGkuc2V0Q29ycmVjdCkudG9CZUNhbGxlZCgpO1xuICAgICAgICBleHBlY3QoaS5yZW1vdmVUb2tlbikubm90LnRvQmVDYWxsZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3NlbGVjdFRva2VuJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkuc2VsZWN0VG9rZW4oeyBzdGFydDogMSwgZW5kOiAzLCB0ZXh0OiAnb28nIH0sIFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9XSk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoW3sgc3RhcnQ6IDEsIGVuZDogMywgdGV4dDogJ29vJyB9XSwgJycpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnYnVpbGRQYXJhZ3JhcGhzVG9rZW5zJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIHBhcmFncmFwaHMnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5idWlsZFRva2VucygncGFyYWdyYXBoJywgcGFyYWdyYXBocyk7XG4gICAgICAgIGV4cGVjdChwYXJhZ3JhcGhzKS50b0JlQ2FsbGVkV2l0aCgnZm9vJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdidWlsZFNlbnRlbmNlVG9rZW5zJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIHNlbnRlbmNlcycsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmJ1aWxkVG9rZW5zKCdzZW50ZW5jZScsIHNlbnRlbmNlcyk7XG4gICAgICAgIGV4cGVjdChzZW50ZW5jZXMpLnRvQmVDYWxsZWRXaXRoKCdmb28nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2J1aWxkV29yZFRva2VucycsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyB3b3JkcycsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmJ1aWxkVG9rZW5zKCd3b3JkJywgd29yZHMpO1xuICAgICAgICBleHBlY3Qod29yZHMpLnRvQmVDYWxsZWRXaXRoKCdmb28nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NsZWFyJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlIHdpdGggYW4gZW1wdHkgYXJyYXknLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5jbGVhcigpO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvQmVDYWxsZWRXaXRoKFtdLCAnJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd0b2dnbGVDb3JyZWN0TW9kZScsICgpID0+IHtcbiAgICAgIGl0KCdzZXQgc3RhdGUnLCAoKSA9PiB7XG4gICAgICAgIHcuc2V0U3RhdGUoeyBzZXRDb3JyZWN0TW9kZTogdHJ1ZSB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnRvZ2dsZUNvcnJlY3RNb2RlKCk7XG4gICAgICAgIGV4cGVjdCh3LnN0YXRlKCdzZXRDb3JyZWN0TW9kZScpKS50b0VxdWFsKGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3NldENvcnJlY3QnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5zZXRDb3JyZWN0KHsgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnIH0pO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvQmVDYWxsZWRXaXRoKFt7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJywgY29ycmVjdDogdHJ1ZSB9XSwgJycpO1xuICAgICAgfSk7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugdy8gY29ycmVjdDogZmFsc2UnLCAoKSA9PiB7XG4gICAgICAgIHcuc2V0UHJvcHMoe1xuICAgICAgICAgIHRva2VuczogW3sgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnLCBjb3JyZWN0OiB0cnVlIH1dLFxuICAgICAgICB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnNldENvcnJlY3QoeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicgfSk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoW3sgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnLCBjb3JyZWN0OiBmYWxzZSB9XSwgJycpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgncmVtb3ZlVG9rZW4nLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yZW1vdmVUb2tlbih7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9KTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChbXSwgJycpO1xuICAgICAgfSk7XG4gICAgICBpdCgnZG9lcyBub3QgY2FsbCBvbkNoYW5nZSBpZiBpdCBjYW50IGZpbmQgdGhlIHRva2VuJywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkucmVtb3ZlVG9rZW4oeyBzdGFydDogMiwgZW5kOiAzLCB0ZXh0OiAnYScgfSk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkubm90LnRvQmVDYWxsZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL3Rva2VuLXRleHQudGVzdC5qc3giXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJjbGVhclNlbGVjdGlvbiIsImZuIiwiZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4iLCJtb2NrUmV0dXJuVmFsdWUiLCJpbnRlcnNlY3Rpb24iLCJoYXNPdmVybGFwIiwic3Vycm91bmRlZFRva2VucyIsIm5vcm1hbGl6ZSIsInRleHQiLCJzdGFydCIsImVuZCIsInByZWRlZmluZWQiLCJ0b2tlbnMiLCJta0V2ZW50IiwicHJldmVudERlZmF1bHQiLCJkZXNjcmliZSIsIml0IiwidyIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm9uU2VsZWN0VG9rZW4iLCJvblRva2VuQ2xpY2siLCJiZWZvcmVFYWNoIiwiZ2xvYmFsIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwidG9TdHJpbmciLCJldmVudCIsImluc3RhbmNlIiwib25DbGljayIsInRvQmVDYWxsZWQiLCJyb290IiwidG9CZUNhbGxlZFdpdGgiLCJub3QiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsb0JBQVYsRUFBZ0M7QUFBQSxTQUFPO0FBQ3JDQyxJQUFBQSxjQUFjLEVBQUVGLElBQUksQ0FBQ0csRUFBTCxFQURxQjtBQUVyQ0MsSUFBQUEsNkJBQTZCLEVBQUVKLElBQUksQ0FBQ0csRUFBTCxHQUFVRSxlQUFWLENBQTBCLEVBQTFCO0FBRk0sR0FBUDtBQUFBLENBQWhDO0FBS0FMLElBQUksQ0FBQ0MsSUFBTCxDQUFVLFlBQVYsRUFBd0I7QUFBQSxTQUFPO0FBQzdCSyxJQUFBQSxZQUFZLEVBQUVOLElBQUksQ0FBQ0csRUFBTCxHQUFVRSxlQUFWLENBQTBCO0FBQ3RDRSxNQUFBQSxVQUFVLEVBQUVQLElBQUksQ0FBQ0csRUFBTCxHQUFVRSxlQUFWLENBQTBC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LFFBQUFBLENBQUMsQ0FBQ1csUUFBRixHQUFhQyxPQUFiLENBQXFCRixLQUFyQjtBQUNBVCxRQUFBQSxNQUFNLENBQUNFLGFBQUQsQ0FBTixDQUFzQmEsR0FBdEIsQ0FBMEJILFVBQTFCO0FBQ0QsT0ExQkMsQ0FBRjtBQTJCRCxLQS9ETyxDQUFSO0FBZ0VELEdBdEZPLENBQVI7QUF1RkQsQ0FqR08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUb2tlblRleHQgZnJvbSAnLi4vdG9rZW4tdGV4dCc7XG5pbXBvcnQgeyBpbnRlcnNlY3Rpb24gfSBmcm9tICcuLi9idWlsZGVyJztcbmltcG9ydCB7IGNsZWFyU2VsZWN0aW9uLCBnZXRDYXJldENoYXJhY3Rlck9mZnNldFdpdGhpbiB9IGZyb20gJy4uL3NlbGVjdGlvbi11dGlscyc7XG5cbmplc3QubW9jaygnLi4vc2VsZWN0aW9uLXV0aWxzJywgKCkgPT4gKHtcbiAgY2xlYXJTZWxlY3Rpb246IGplc3QuZm4oKSxcbiAgZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW46IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoMTApLFxufSkpO1xuXG5qZXN0Lm1vY2soJy4uL2J1aWxkZXInLCAoKSA9PiAoe1xuICBpbnRlcnNlY3Rpb246IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgIGhhc092ZXJsYXA6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoZmFsc2UpLFxuICAgIHN1cnJvdW5kZWRUb2tlbnM6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoW10pLFxuICB9KSxcbiAgbm9ybWFsaXplOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFtcbiAgICB7XG4gICAgICB0ZXh0OiBgbG9yZW1cXG5mb28gYmFyYCxcbiAgICAgIHN0YXJ0OiAwLFxuICAgICAgZW5kOiAxMyxcbiAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgfSxcbiAgXSksXG59KSk7XG5cbmNvbnN0IHRva2VucyA9ICgpID0+IFtcbiAge1xuICAgIHN0YXJ0OiAwLFxuICAgIGVuZDogNyxcbiAgICB0ZXh0OiBgbG9yZW1cXG5mb28gYmFyYCxcbiAgfSxcbl07XG5cbmNvbnN0IG1rRXZlbnQgPSAoKSA9PiAoe1xuICBwcmV2ZW50RGVmYXVsdDogamVzdC5mbigpLFxufSk7XG5cbmRlc2NyaWJlKCd0b2tlbi10ZXh0JywgKCkgPT4ge1xuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gc2hhbGxvdyhcbiAgICAgICAgPFRva2VuVGV4dCBvblRva2VuQ2xpY2s9e2plc3QuZm4oKX0gb25TZWxlY3RUb2tlbj17amVzdC5mbigpfSB0ZXh0PXtgbG9yZW1cXG5mb28gYmFyYH0gdG9rZW5zPXt0b2tlbnMoKX0gLz4sXG4gICAgICApO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9naWMnLCAoKSA9PiB7XG4gICAgbGV0IHc7XG4gICAgbGV0IG9uU2VsZWN0VG9rZW47XG4gICAgbGV0IG9uVG9rZW5DbGljaztcbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIGdsb2JhbC53aW5kb3cuZ2V0U2VsZWN0aW9uID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgIHRvU3RyaW5nOiAoKSA9PiAnYmFyJyxcbiAgICAgIH0pO1xuXG4gICAgICBvblNlbGVjdFRva2VuID0gamVzdC5mbigpO1xuICAgICAgb25Ub2tlbkNsaWNrID0gamVzdC5mbigpO1xuXG4gICAgICB3ID0gc2hhbGxvdyhcbiAgICAgICAgPFRva2VuVGV4dFxuICAgICAgICAgIG9uVG9rZW5DbGljaz17b25Ub2tlbkNsaWNrfVxuICAgICAgICAgIG9uU2VsZWN0VG9rZW49e29uU2VsZWN0VG9rZW59XG4gICAgICAgICAgdGV4dD17YGxvcmVtXFxuZm9vIGJhcmB9XG4gICAgICAgICAgdG9rZW5zPXt0b2tlbnMoKX1cbiAgICAgICAgLz4sXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ21vdXNldXAnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgZXZlbnQucHJldmVudERlZmF1bHQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbWtFdmVudCgpO1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChldmVudC5wcmV2ZW50RGVmYXVsdCkudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdjYWxscyBnZXRDYXJldENoYXJhY3Rlck9mZnNldFdpdGhpbicsICgpID0+IHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBta0V2ZW50KCk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yb290ID0ge307XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KGdldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluKS50b0JlQ2FsbGVkV2l0aCh7fSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIGNsZWFyIHNlbGVjdGlvbiBpZiB0aGVyZSBpcyBhbiBvdmVybGFwJywgKCkgPT4ge1xuICAgICAgICBpbnRlcnNlY3Rpb24ubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICBoYXNPdmVybGFwOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBta0V2ZW50KCk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yb290ID0ge307XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KGNsZWFyU2VsZWN0aW9uKS50b0JlQ2FsbGVkKCk7XG4gICAgICAgIGV4cGVjdChvblNlbGVjdFRva2VuKS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdjYWxscyBvblNlbGVjdFRva2VuJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudCA9IG1rRXZlbnQoKTtcbiAgICAgICAgaW50ZXJzZWN0aW9uLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgaGFzT3ZlcmxhcDogZmFsc2UsXG4gICAgICAgICAgc3Vycm91bmRlZFRva2VuczogW10sXG4gICAgICAgIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkucm9vdCA9IHt9O1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChvblNlbGVjdFRva2VuKS50b0JlQ2FsbGVkV2l0aCh7IHRleHQ6ICdiYXInLCBzdGFydDogMTAsIGVuZDogMTMgfSwgW10pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdkb2VzIG5vdCBjYWxsIG9uU2VsZWN0VG9rZW4gZm9yIFtcIlxcblwiLCBcIiBcIiwgXCJcXHRcIl0nLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbWtFdmVudCgpO1xuXG4gICAgICAgIGludGVyc2VjdGlvbi5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIGhhc092ZXJsYXA6IGZhbHNlLFxuICAgICAgICAgIHN1cnJvdW5kZWRUb2tlbnM6IFtdLFxuICAgICAgICB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnJvb3QgPSB7fTtcblxuICAgICAgICBnbG9iYWwud2luZG93LmdldFNlbGVjdGlvbiA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIHRvU3RyaW5nOiAoKSA9PiAnXFxuJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KG9uU2VsZWN0VG9rZW4pLm5vdC50b0JlQ2FsbGVkKCk7XG5cbiAgICAgICAgZ2xvYmFsLndpbmRvdy5nZXRTZWxlY3Rpb24gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICB0b1N0cmluZzogKCkgPT4gJyAnLFxuICAgICAgICB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICBleHBlY3Qob25TZWxlY3RUb2tlbikubm90LnRvQmVDYWxsZWQoKTtcblxuICAgICAgICBnbG9iYWwud2luZG93LmdldFNlbGVjdGlvbiA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIHRvU3RyaW5nOiAoKSA9PiAnXFx0JyxcbiAgICAgICAgfSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KG9uU2VsZWN0VG9rZW4pLm5vdC50b0JlQ2FsbGVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==