@pie-lib/editable-html 11.3.0-beta.0 → 11.4.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.
- package/CHANGELOG.json +12 -3322
- package/CHANGELOG.md +116 -100
- package/lib/block-tags.js +1 -1
- package/lib/block-tags.js.map +1 -0
- package/lib/constants.js +1 -1
- package/lib/constants.js.map +1 -0
- package/lib/editor.js +7 -7
- package/lib/editor.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -0
- package/lib/parse-html.js +1 -1
- package/lib/parse-html.js.map +1 -0
- package/lib/plugins/characters/custom-popper.js +1 -1
- package/lib/plugins/characters/custom-popper.js.map +1 -0
- package/lib/plugins/characters/index.js +1 -1
- package/lib/plugins/characters/index.js.map +1 -0
- package/lib/plugins/characters/utils.js +1 -1
- package/lib/plugins/characters/utils.js.map +1 -0
- package/lib/plugins/css/icons/index.js +1 -1
- package/lib/plugins/css/icons/index.js.map +1 -0
- package/lib/plugins/css/index.js +1 -1
- package/lib/plugins/css/index.js.map +1 -0
- package/lib/plugins/customPlugin/index.js +1 -1
- package/lib/plugins/customPlugin/index.js.map +1 -0
- package/lib/plugins/html/icons/index.js +1 -1
- package/lib/plugins/html/icons/index.js.map +1 -0
- package/lib/plugins/html/index.js +1 -1
- package/lib/plugins/html/index.js.map +1 -0
- package/lib/plugins/image/alt-dialog.js +1 -1
- package/lib/plugins/image/alt-dialog.js.map +1 -0
- package/lib/plugins/image/component.js +1 -1
- package/lib/plugins/image/component.js.map +1 -0
- package/lib/plugins/image/image-toolbar.js +1 -1
- package/lib/plugins/image/image-toolbar.js.map +1 -0
- package/lib/plugins/image/index.js +1 -1
- package/lib/plugins/image/index.js.map +1 -0
- package/lib/plugins/image/insert-image-handler.js +1 -1
- package/lib/plugins/image/insert-image-handler.js.map +1 -0
- package/lib/plugins/index.js +1 -1
- package/lib/plugins/index.js.map +1 -0
- package/lib/plugins/list/index.js +1 -1
- package/lib/plugins/list/index.js.map +1 -0
- package/lib/plugins/math/index.js +1 -1
- package/lib/plugins/math/index.js.map +1 -0
- package/lib/plugins/media/index.js +1 -1
- package/lib/plugins/media/index.js.map +1 -0
- package/lib/plugins/media/media-dialog.js +4 -4
- package/lib/plugins/media/media-dialog.js.map +1 -0
- package/lib/plugins/media/media-toolbar.js +1 -1
- package/lib/plugins/media/media-toolbar.js.map +1 -0
- package/lib/plugins/media/media-wrapper.js +1 -1
- package/lib/plugins/media/media-wrapper.js.map +1 -0
- package/lib/plugins/rendering/index.js +1 -1
- package/lib/plugins/rendering/index.js.map +1 -0
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +4 -4
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -0
- package/lib/plugins/respArea/drag-in-the-blank/index.js +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -0
- package/lib/plugins/respArea/explicit-constructed-response/index.js +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -0
- package/lib/plugins/respArea/icons/index.js +1 -1
- package/lib/plugins/respArea/icons/index.js.map +1 -0
- package/lib/plugins/respArea/index.js +1 -1
- package/lib/plugins/respArea/index.js.map +1 -0
- package/lib/plugins/respArea/inline-dropdown/index.js +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -0
- package/lib/plugins/respArea/math-templated/index.js +1 -1
- package/lib/plugins/respArea/math-templated/index.js.map +1 -0
- package/lib/plugins/respArea/utils.js +1 -1
- package/lib/plugins/respArea/utils.js.map +1 -0
- package/lib/plugins/table/CustomTablePlugin.js +1 -1
- package/lib/plugins/table/CustomTablePlugin.js.map +1 -0
- package/lib/plugins/table/icons/index.js +1 -1
- package/lib/plugins/table/icons/index.js.map +1 -0
- package/lib/plugins/table/index.js +1 -1
- package/lib/plugins/table/index.js.map +1 -0
- package/lib/plugins/table/table-toolbar.js +1 -1
- package/lib/plugins/table/table-toolbar.js.map +1 -0
- package/lib/plugins/textAlign/icons/index.js +1 -1
- package/lib/plugins/textAlign/icons/index.js.map +1 -0
- package/lib/plugins/textAlign/index.js +1 -1
- package/lib/plugins/textAlign/index.js.map +1 -0
- package/lib/plugins/toolbar/default-toolbar.js +1 -1
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -0
- package/lib/plugins/toolbar/done-button.js +1 -1
- package/lib/plugins/toolbar/done-button.js.map +1 -0
- package/lib/plugins/toolbar/editor-and-toolbar.js +4 -4
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -0
- package/lib/plugins/toolbar/index.js +1 -1
- package/lib/plugins/toolbar/index.js.map +1 -0
- package/lib/plugins/toolbar/toolbar-buttons.js +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -0
- package/lib/plugins/toolbar/toolbar.js +1 -1
- package/lib/plugins/toolbar/toolbar.js.map +1 -0
- package/lib/plugins/utils.js +1 -1
- package/lib/plugins/utils.js.map +1 -0
- package/lib/serialization.js +1 -1
- package/lib/serialization.js.map +1 -0
- package/lib/shared/alert-dialog.js +75 -0
- package/lib/shared/index.js +136 -0
- package/lib/theme.js +1 -1
- package/lib/theme.js.map +1 -0
- package/package.json +7 -6
- package/src/editor.jsx +3 -3
- package/src/plugins/media/media-dialog.js +1 -1
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +1 -1
- package/src/plugins/toolbar/default-toolbar.jsx +6 -4
- package/src/plugins/toolbar/editor-and-toolbar.jsx +1 -1
- package/src/plugins/toolbar/toolbar.jsx +4 -4
- package/lib/__tests__/editor.test.js +0 -470
- package/lib/__tests__/serialization.test.js +0 -246
- package/lib/__tests__/utils.js +0 -106
- package/lib/plugins/image/__tests__/component.test.js +0 -51
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +0 -56
- package/lib/plugins/image/__tests__/image-toolbar.test.js +0 -26
- package/lib/plugins/image/__tests__/index.test.js +0 -98
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +0 -125
- package/lib/plugins/image/__tests__/mock-change.js +0 -25
- package/lib/plugins/list/__tests__/index.test.js +0 -79
- package/lib/plugins/math/__tests__/index.test.js +0 -300
- package/lib/plugins/media/__tests__/index.test.js +0 -71
- package/lib/plugins/table/__tests__/index.test.js +0 -442
- package/lib/plugins/table/__tests__/table-toolbar.test.js +0 -54
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +0 -128
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +0 -51
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +0 -54
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +0 -120
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _serialization = require("../serialization");
|
|
4
|
-
|
|
5
|
-
jest.mock('../plugins/math', function () {
|
|
6
|
-
return {
|
|
7
|
-
serialization: {
|
|
8
|
-
serialize: jest.fn(function (o, c) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}),
|
|
11
|
-
deserialize: jest.fn(function (el, next) {
|
|
12
|
-
return undefined;
|
|
13
|
-
})
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
});
|
|
17
|
-
describe('TEXT_RULE', function () {
|
|
18
|
-
var mkBr = function mkBr(previousSibling) {
|
|
19
|
-
return {
|
|
20
|
-
remove: jest.fn(),
|
|
21
|
-
previousSibling: previousSibling,
|
|
22
|
-
replaceWith: function replaceWith(foo) {
|
|
23
|
-
previousSibling.textContent = previousSibling.textContent.replace(/(<br>)|(<\/br>)/g, foo);
|
|
24
|
-
},
|
|
25
|
-
normalize: jest.fn().mockReturnThis(),
|
|
26
|
-
tagName: 'br'
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
var mkTextNode = function mkTextNode() {
|
|
31
|
-
var textContent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
32
|
-
return {
|
|
33
|
-
nodeName: '#text',
|
|
34
|
-
textContent: textContent,
|
|
35
|
-
normalize: jest.fn().mockReturnThis()
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
var mkEl = function mkEl(querySelectorAllResult) {
|
|
40
|
-
return {
|
|
41
|
-
querySelectorAll: jest.fn().mockReturnValue(querySelectorAllResult),
|
|
42
|
-
normalize: jest.fn().mockReturnThis()
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
describe('deserialize', function () {
|
|
47
|
-
it('if no previous text node, no error is thrown', function () {
|
|
48
|
-
var br = mkBr();
|
|
49
|
-
var el = mkEl([br]);
|
|
50
|
-
expect(function () {
|
|
51
|
-
return _serialization.TEXT_RULE.deserialize(el);
|
|
52
|
-
}).not.toThrow();
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('htmlToValue', function () {
|
|
57
|
-
it('converts', function () {
|
|
58
|
-
var expected = {
|
|
59
|
-
object: 'value',
|
|
60
|
-
document: {
|
|
61
|
-
object: 'document',
|
|
62
|
-
data: {},
|
|
63
|
-
nodes: [{
|
|
64
|
-
object: 'block',
|
|
65
|
-
type: 'div',
|
|
66
|
-
isVoid: false,
|
|
67
|
-
data: {
|
|
68
|
-
attributes: {}
|
|
69
|
-
},
|
|
70
|
-
nodes: [{
|
|
71
|
-
object: 'block',
|
|
72
|
-
type: 'paragraph',
|
|
73
|
-
isVoid: false,
|
|
74
|
-
data: {
|
|
75
|
-
attributes: {}
|
|
76
|
-
},
|
|
77
|
-
nodes: [{
|
|
78
|
-
object: 'text',
|
|
79
|
-
leaves: [{
|
|
80
|
-
object: 'leaf',
|
|
81
|
-
text: 'foo',
|
|
82
|
-
marks: []
|
|
83
|
-
}]
|
|
84
|
-
}, {
|
|
85
|
-
object: 'inline',
|
|
86
|
-
type: 'image',
|
|
87
|
-
isVoid: true,
|
|
88
|
-
data: {
|
|
89
|
-
src: 'blah.jpg',
|
|
90
|
-
width: null,
|
|
91
|
-
height: null,
|
|
92
|
-
margin: '',
|
|
93
|
-
justifyContent: '',
|
|
94
|
-
alignment: null,
|
|
95
|
-
alt: null
|
|
96
|
-
},
|
|
97
|
-
nodes: [{
|
|
98
|
-
object: 'text',
|
|
99
|
-
leaves: [{
|
|
100
|
-
object: 'leaf',
|
|
101
|
-
text: '',
|
|
102
|
-
marks: []
|
|
103
|
-
}]
|
|
104
|
-
}]
|
|
105
|
-
}, {
|
|
106
|
-
object: 'text',
|
|
107
|
-
leaves: [{
|
|
108
|
-
object: 'leaf',
|
|
109
|
-
text: 'bar',
|
|
110
|
-
marks: []
|
|
111
|
-
}]
|
|
112
|
-
}]
|
|
113
|
-
}]
|
|
114
|
-
}]
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
var html = "<div><p>foo<img src=\"blah.jpg\"/>bar</p></div>";
|
|
118
|
-
var v = (0, _serialization.htmlToValue)(html);
|
|
119
|
-
console.log(JSON.stringify(v.toJSON()));
|
|
120
|
-
expect(v.toJSON()).toEqual(expected);
|
|
121
|
-
});
|
|
122
|
-
it('does not break', function () {
|
|
123
|
-
/*
|
|
124
|
-
More than 12 iterations of the same kind would previously break the input. Here we have 16 text nodes, and now it works.
|
|
125
|
-
*/
|
|
126
|
-
var expected = {
|
|
127
|
-
object: 'value',
|
|
128
|
-
document: {
|
|
129
|
-
object: 'document',
|
|
130
|
-
data: {},
|
|
131
|
-
nodes: [{
|
|
132
|
-
object: 'block',
|
|
133
|
-
type: 'div',
|
|
134
|
-
isVoid: false,
|
|
135
|
-
data: {
|
|
136
|
-
attributes: {}
|
|
137
|
-
},
|
|
138
|
-
nodes: [{
|
|
139
|
-
object: 'text',
|
|
140
|
-
leaves: [{
|
|
141
|
-
object: 'leaf',
|
|
142
|
-
text: 'Foo ',
|
|
143
|
-
marks: []
|
|
144
|
-
}, {
|
|
145
|
-
object: 'leaf',
|
|
146
|
-
text: 'x',
|
|
147
|
-
marks: [{
|
|
148
|
-
object: 'mark',
|
|
149
|
-
type: 'italic',
|
|
150
|
-
data: {}
|
|
151
|
-
}]
|
|
152
|
-
}, {
|
|
153
|
-
object: 'leaf',
|
|
154
|
-
text: ' bar ',
|
|
155
|
-
marks: []
|
|
156
|
-
}, {
|
|
157
|
-
object: 'leaf',
|
|
158
|
-
text: 'x',
|
|
159
|
-
marks: [{
|
|
160
|
-
object: 'mark',
|
|
161
|
-
type: 'italic',
|
|
162
|
-
data: {}
|
|
163
|
-
}]
|
|
164
|
-
}, {
|
|
165
|
-
object: 'leaf',
|
|
166
|
-
text: ' Foo ',
|
|
167
|
-
marks: []
|
|
168
|
-
}, {
|
|
169
|
-
object: 'leaf',
|
|
170
|
-
text: 'x',
|
|
171
|
-
marks: [{
|
|
172
|
-
object: 'mark',
|
|
173
|
-
type: 'italic',
|
|
174
|
-
data: {}
|
|
175
|
-
}]
|
|
176
|
-
}, {
|
|
177
|
-
object: 'leaf',
|
|
178
|
-
text: ' bar ',
|
|
179
|
-
marks: []
|
|
180
|
-
}, {
|
|
181
|
-
object: 'leaf',
|
|
182
|
-
text: 'x',
|
|
183
|
-
marks: [{
|
|
184
|
-
object: 'mark',
|
|
185
|
-
type: 'italic',
|
|
186
|
-
data: {}
|
|
187
|
-
}]
|
|
188
|
-
}, {
|
|
189
|
-
object: 'leaf',
|
|
190
|
-
text: ' Foo ',
|
|
191
|
-
marks: []
|
|
192
|
-
}, {
|
|
193
|
-
object: 'leaf',
|
|
194
|
-
text: 'x',
|
|
195
|
-
marks: [{
|
|
196
|
-
object: 'mark',
|
|
197
|
-
type: 'italic',
|
|
198
|
-
data: {}
|
|
199
|
-
}]
|
|
200
|
-
}, {
|
|
201
|
-
object: 'leaf',
|
|
202
|
-
text: ' bar ',
|
|
203
|
-
marks: []
|
|
204
|
-
}, {
|
|
205
|
-
object: 'leaf',
|
|
206
|
-
text: 'x',
|
|
207
|
-
marks: [{
|
|
208
|
-
object: 'mark',
|
|
209
|
-
type: 'italic',
|
|
210
|
-
data: {}
|
|
211
|
-
}]
|
|
212
|
-
}, {
|
|
213
|
-
object: 'leaf',
|
|
214
|
-
text: ' Foo ',
|
|
215
|
-
marks: []
|
|
216
|
-
}, {
|
|
217
|
-
object: 'leaf',
|
|
218
|
-
text: 'x',
|
|
219
|
-
marks: [{
|
|
220
|
-
object: 'mark',
|
|
221
|
-
type: 'italic',
|
|
222
|
-
data: {}
|
|
223
|
-
}]
|
|
224
|
-
}, {
|
|
225
|
-
object: 'leaf',
|
|
226
|
-
text: ' bar ',
|
|
227
|
-
marks: []
|
|
228
|
-
}, {
|
|
229
|
-
object: 'leaf',
|
|
230
|
-
text: 'x',
|
|
231
|
-
marks: [{
|
|
232
|
-
object: 'mark',
|
|
233
|
-
type: 'italic',
|
|
234
|
-
data: {}
|
|
235
|
-
}]
|
|
236
|
-
}]
|
|
237
|
-
}]
|
|
238
|
-
}]
|
|
239
|
-
}
|
|
240
|
-
};
|
|
241
|
-
var html = '<div>Foo <em>x</em> bar <em>x</em> Foo <em>x</em> bar <em>x</em> Foo <em>x</em> bar <em>x</em> Foo <em>x</em> bar <em>x</em></div>';
|
|
242
|
-
var v = (0, _serialization.htmlToValue)(html);
|
|
243
|
-
expect(v.toJSON()).toEqual(expected);
|
|
244
|
-
});
|
|
245
|
-
});
|
|
246
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vc2VyaWFsaXphdGlvbi50ZXN0LmpzIl0sIm5hbWVzIjpbImplc3QiLCJtb2NrIiwic2VyaWFsaXphdGlvbiIsInNlcmlhbGl6ZSIsImZuIiwibyIsImMiLCJ1bmRlZmluZWQiLCJkZXNlcmlhbGl6ZSIsImVsIiwibmV4dCIsImRlc2NyaWJlIiwibWtCciIsInByZXZpb3VzU2libGluZyIsInJlbW92ZSIsInJlcGxhY2VXaXRoIiwiZm9vIiwidGV4dENvbnRlbnQiLCJyZXBsYWNlIiwibm9ybWFsaXplIiwibW9ja1JldHVyblRoaXMiLCJ0YWdOYW1lIiwibWtUZXh0Tm9kZSIsIm5vZGVOYW1lIiwibWtFbCIsInF1ZXJ5U2VsZWN0b3JBbGxSZXN1bHQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibW9ja1JldHVyblZhbHVlIiwiaXQiLCJiciIsImV4cGVjdCIsIlRFWFRfUlVMRSIsIm5vdCIsInRvVGhyb3ciLCJleHBlY3RlZCIsIm9iamVjdCIsImRvY3VtZW50IiwiZGF0YSIsIm5vZGVzIiwidHlwZSIsImlzVm9pZCIsImF0dHJpYnV0ZXMiLCJsZWF2ZXMiLCJ0ZXh0IiwibWFya3MiLCJzcmMiLCJ3aWR0aCIsImhlaWdodCIsIm1hcmdpbiIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25tZW50IiwiYWx0IiwiaHRtbCIsInYiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsInRvSlNPTiIsInRvRXF1YWwiXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBRUFBLElBQUksQ0FBQ0MsSUFBTCxDQUFVLGlCQUFWLEVBQTZCO0FBQUEsU0FBTztBQUNsQ0MsSUFBQUEsYUFBYSxFQUFFO0FBQ2JDLE1BQUFBLFNBQVMsRUFBRUgsSUFBSSxDQUFDSSxFQUFMLENBQVEsVUFBQ0MsQ0FBRCxFQUFJQyxDQUFKLEVBQVU7QUFDM0IsZUFBT0MsU0FBUDtBQUNELE9BRlUsQ0FERTtBQUliQyxNQUFBQSxXQUFXLEVBQUVSLElBQUksQ0FBQ0ks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RUMsY0FBQUEsS0FBSyxFQUFFLENBQ0w7QUFDRVQsZ0JBQUFBLE1BQU0sRUFBRSxNQURWO0FBRUVJLGdCQUFBQSxJQUFJLEVBQUUsUUFGUjtBQUdFRixnQkFBQUEsSUFBSSxFQUFFO0FBSFIsZUFESztBQUhULGFBdEhNO0FBRlYsV0FESztBQUxULFNBREs7QUFIQztBQUZLLEtBQWpCO0FBc0pBLFFBQU1lLElBQUksR0FDUixvSUFERjtBQUVBLFFBQU1DLENBQUMsR0FBRyxnQ0FBWUQsSUFBWixDQUFWO0FBRUF0QixJQUFBQSxNQUFNLENBQUN1QixDQUFDLENBQUNLLE1BQUYsRUFBRCxDQUFOLENBQW1CQyxPQUFuQixDQUEyQnpCLFFBQTNCO0FBQ0QsR0EvSkMsQ0FBRjtBQWdLRCxDQXBQTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaHRtbFRvVmFsdWUsIFRFWFRfUlVMRSB9IGZyb20gJy4uL3NlcmlhbGl6YXRpb24nO1xuXG5qZXN0Lm1vY2soJy4uL3BsdWdpbnMvbWF0aCcsICgpID0+ICh7XG4gIHNlcmlhbGl6YXRpb246IHtcbiAgICBzZXJpYWxpemU6IGplc3QuZm4oKG8sIGMpID0+IHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSksXG4gICAgZGVzZXJpYWxpemU6IGplc3QuZm4oKGVsLCBuZXh0KSA9PiB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0pLFxuICB9LFxufSkpO1xuXG5kZXNjcmliZSgnVEVYVF9SVUxFJywgKCkgPT4ge1xuICBjb25zdCBta0JyID0gKHByZXZpb3VzU2libGluZykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICByZW1vdmU6IGplc3QuZm4oKSxcbiAgICAgIHByZXZpb3VzU2libGluZyxcbiAgICAgIHJlcGxhY2VXaXRoOiAoZm9vKSA9PiB7XG4gICAgICAgIHByZXZpb3VzU2libGluZy50ZXh0Q29udGVudCA9IHByZXZpb3VzU2libGluZy50ZXh0Q29udGVudC5yZXBsYWNlKC8oPGJyPil8KDxcXC9icj4pL2csIGZvbyk7XG4gICAgICB9LFxuICAgICAgbm9ybWFsaXplOiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgICAgIHRhZ05hbWU6ICdicicsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdCBta1RleHROb2RlID0gKHRleHRDb250ZW50ID0gJycpID0+ICh7XG4gICAgbm9kZU5hbWU6ICcjdGV4dCcsXG4gICAgdGV4dENvbnRlbnQsXG4gICAgbm9ybWFsaXplOiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgfSk7XG5cbiAgY29uc3QgbWtFbCA9IChxdWVyeVNlbGVjdG9yQWxsUmVzdWx0KSA9PiAoe1xuICAgIHF1ZXJ5U2VsZWN0b3JBbGw6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUocXVlcnlTZWxlY3RvckFsbFJlc3VsdCksXG4gICAgbm9ybWFsaXplOiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2Rlc2VyaWFsaXplJywgKCkgPT4ge1xuICAgIGl0KCdpZiBubyBwcmV2aW91cyB0ZXh0IG5vZGUsIG5vIGVycm9yIGlzIHRocm93bicsICgpID0+IHtcbiAgICAgIGNvbnN0IGJyID0gbWtCcigpO1xuICAgICAgY29uc3QgZWwgPSBta0VsKFticl0pO1xuICAgICAgZXhwZWN0KCgpID0+IFRFWFRfUlVMRS5kZXNlcmlhbGl6ZShlbCkpLm5vdC50b1Rocm93KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdodG1sVG9WYWx1ZScsICgpID0+IHtcbiAgaXQoJ2NvbnZlcnRzJywgKCkgPT4ge1xuICAgIGNvbnN0IGV4cGVjdGVkID0ge1xuICAgICAgb2JqZWN0OiAndmFsdWUnLFxuICAgICAgZG9jdW1lbnQ6IHtcbiAgICAgICAgb2JqZWN0OiAnZG9jdW1lbnQnLFxuICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgICAgICB0eXBlOiAnZGl2JyxcbiAgICAgICAgICAgIGlzVm9pZDogZmFsc2UsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3BhcmFncmFwaCcsXG4gICAgICAgICAgICAgICAgaXNWb2lkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgICAgICAgICAgICBsZWF2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdmb28nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdpbmxpbmUnLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgICBpc1ZvaWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzcmM6ICdibGFoLmpwZycsXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJycsXG4gICAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgIGFsaWdubWVudDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICBhbHQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWF2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgICAgICAgICAgICBsZWF2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdiYXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgaHRtbCA9IGA8ZGl2PjxwPmZvbzxpbWcgc3JjPVwiYmxhaC5qcGdcIi8+YmFyPC9wPjwvZGl2PmA7XG4gICAgY29uc3QgdiA9IGh0bWxUb1ZhbHVlKGh0bWwpO1xuXG4gICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkodi50b0pTT04oKSkpO1xuICAgIGV4cGVjdCh2LnRvSlNPTigpKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgfSk7XG5cbiAgaXQoJ2RvZXMgbm90IGJyZWFrJywgKCkgPT4ge1xuICAgIC8qXG4gICAgIE1vcmUgdGhhbiAxMiBpdGVyYXRpb25zIG9mIHRoZSBzYW1lIGtpbmQgd291bGQgcHJldmlvdXNseSBicmVhayB0aGUgaW5wdXQuIEhlcmUgd2UgaGF2ZSAxNiB0ZXh0IG5vZGVzLCBhbmQgbm93IGl0IHdvcmtzLlxuICAgICAqL1xuICAgIGNvbnN0IGV4cGVjdGVkID0ge1xuICAgICAgb2JqZWN0OiAndmFsdWUnLFxuICAgICAgZG9jdW1lbnQ6IHtcbiAgICAgICAgb2JqZWN0OiAnZG9jdW1lbnQnLFxuICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgICAgICB0eXBlOiAnZGl2JyxcbiAgICAgICAgICAgIGlzVm9pZDogZmFsc2UsXG4gICAgICAgICAgICBkYXRhOiB7IGF0dHJpYnV0ZXM6IHt9IH0sXG4gICAgICAgICAgICBub2RlczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgICAgbGVhdmVzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnRm9vICcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAneCcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbWFyaycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaXRhbGljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJyBiYXIgJyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICd4JyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdtYXJrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnIEZvbyAnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW10sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3gnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ21hcmsnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2l0YWxpYycsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICcgYmFyICcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAneCcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbWFyaycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaXRhbGljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJyBGb28gJyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICd4JyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdtYXJrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnIGJhciAnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW10sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3gnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ21hcmsnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2l0YWxpYycsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICcgRm9vICcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAneCcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbWFyaycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaXRhbGljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJyBiYXIgJyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICd4JyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdtYXJrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBodG1sID1cbiAgICAgICc8ZGl2PkZvbyA8ZW0+eDwvZW0+IGJhciA8ZW0+eDwvZW0+IEZvbyA8ZW0+eDwvZW0+IGJhciA8ZW0+eDwvZW0+IEZvbyA8ZW0+eDwvZW0+IGJhciA8ZW0+eDwvZW0+IEZvbyA8ZW0+eDwvZW0+IGJhciA8ZW0+eDwvZW0+PC9kaXY+JztcbiAgICBjb25zdCB2ID0gaHRtbFRvVmFsdWUoaHRtbCk7XG5cbiAgICBleHBlY3Qodi50b0pTT04oKSkudG9FcXVhbChleHBlY3RlZCk7XG4gIH0pO1xufSk7XG4iXX0=
|
package/lib/__tests__/utils.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.classObject = classObject;
|
|
9
|
-
exports.mockComponents = mockComponents;
|
|
10
|
-
exports.mockIconButton = mockIconButton;
|
|
11
|
-
exports.mockMathInput = mockMathInput;
|
|
12
|
-
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
|
|
15
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
16
|
-
|
|
17
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
18
|
-
|
|
19
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
20
|
-
|
|
21
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
22
|
-
|
|
23
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
24
|
-
|
|
25
|
-
var _react = _interopRequireDefault(require("react"));
|
|
26
|
-
|
|
27
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
28
|
-
|
|
29
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
30
|
-
|
|
31
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
32
|
-
|
|
33
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
34
|
-
|
|
35
|
-
function classObject() {
|
|
36
|
-
var out = {};
|
|
37
|
-
|
|
38
|
-
for (var a in arguments) {
|
|
39
|
-
var value = arguments[a];
|
|
40
|
-
out[value] = value;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return out;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function mockComponents() {
|
|
47
|
-
var _arguments = arguments;
|
|
48
|
-
var out = {};
|
|
49
|
-
|
|
50
|
-
var _loop = function _loop() {
|
|
51
|
-
var value = _arguments[a];
|
|
52
|
-
|
|
53
|
-
out[value] = /*#__PURE__*/function (_React$Component) {
|
|
54
|
-
(0, _inherits2["default"])(_class, _React$Component);
|
|
55
|
-
|
|
56
|
-
var _super = _createSuper(_class);
|
|
57
|
-
|
|
58
|
-
function _class() {
|
|
59
|
-
(0, _classCallCheck2["default"])(this, _class);
|
|
60
|
-
return _super.apply(this, arguments);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
(0, _createClass2["default"])(_class, [{
|
|
64
|
-
key: "render",
|
|
65
|
-
value: function render() {
|
|
66
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
67
|
-
"data-mock-component": "true"
|
|
68
|
-
}, value);
|
|
69
|
-
}
|
|
70
|
-
}]);
|
|
71
|
-
return _class;
|
|
72
|
-
}(_react["default"].Component);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
for (var a in arguments) {
|
|
76
|
-
_loop();
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return out;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function mockIconButton() {
|
|
83
|
-
jest.mock('@material-ui/core/IconButton', function () {
|
|
84
|
-
return function (props) {
|
|
85
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
86
|
-
className: props.className,
|
|
87
|
-
style: props.style,
|
|
88
|
-
ariaLabel: props['aria-label']
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function mockMathInput() {
|
|
95
|
-
jest.mock('@pie-lib/math-input', function () {
|
|
96
|
-
return _objectSpread({
|
|
97
|
-
addBrackets: jest.fn(function (s) {
|
|
98
|
-
return s;
|
|
99
|
-
}),
|
|
100
|
-
removeBrackets: jest.fn(function (s) {
|
|
101
|
-
return s;
|
|
102
|
-
})
|
|
103
|
-
}, mockComponents('Keypad', 'MathQuillInput', 'EditableMathInput', 'HorizontalKeypad'));
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMuanMiXSwibmFtZXMiOlsiY2xhc3NPYmplY3QiLCJvdXQiLCJhIiwiYXJndW1lbnRzIiwidmFsdWUiLCJtb2NrQ29tcG9uZW50cyIsIlJlYWN0IiwiQ29tcG9uZW50IiwibW9ja0ljb25CdXR0b24iLCJqZXN0IiwibW9jayIsInByb3BzIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJtb2NrTWF0aElucHV0IiwiYWRkQnJhY2tldHMiLCJmbiIsInMiLCJyZW1vdmVCcmFja2V0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7QUFFTyxTQUFTQSxXQUFULEdBQXVCO0FBQzVCLE1BQU1DLEdBQUcsR0FBRyxFQUFaOztBQUNBLE9BQUssSUFBSUMsQ0FBVCxJQUFjQyxTQUFkLEVBQXlCO0FBQ3ZCLFFBQU1DLEtBQUssR0FBR0QsU0FBUyxDQUFDRCxDQUFELENBQXZCO0FBQ0FELElBQUFBLEdBQUcsQ0FBQ0csS0FBRCxDQUFILEdBQWFBLEtBQWI7QUFDRDs7QUFDRCxTQUFPSCxHQUFQO0FBQ0Q7O0FBRU0sU0FBU0ksY0FBVCxHQUEwQjtBQUFBO0FBQy9CLE1BQU1KLEdBQUcsR0FBRyxFQUFaOztBQUQrQjtBQUc3QixRQUFNRyxLQUFLLEdBQUdELFVBQVMsQ0FBQ0QsQ0FBRCxDQUF2Qjs7QUFDQUQsSUFBQUEsR0FBRyxDQUFDRyxLQUFELENBQUg7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUEsZUFDRSxrQkFBUztBQUNQLDhCQUFPO0FBQUssbUNBQW9CO0FBQXpCLGFBQWlDQSxLQUFqQyxDQUFQO0FBQ0Q7QUFISDtBQUFBO0FBQUEsTUFBMkJFLGtCQUFNQyxTQUFqQztBQUo2Qjs7QUFFL0IsT0FBSyxJQUFJTCxDQUFULElBQWNDLFNBQWQsRUFBeUI7QUFBQTtBQU94Qjs7QUFDRCxTQUFPRixHQUFQO0FBQ0Q7O0FBRU0sU0FBU08sY0FBVCxHQUEwQjtBQUMvQkMsRUFBQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsOEJBQVYsRUFBMEMsWUFBTTtBQUM5QyxXQUFPLFVBQUNDLEtBQUQ7QUFBQSwwQkFBVztBQUFLLFFBQUEsU0FBUyxFQUFFQSxLQUFLLENBQUNDLFNBQXRCO0FBQWlDLFFBQUEsS0FBSyxFQUFFRCxLQUFLLENBQUNFLEtBQTlDO0FBQXFELFFBQUEsU0FBUyxFQUFFRixLQUFLLENBQUMsWUFBRDtBQUFyRSxRQUFYO0FBQUEsS0FBUDtBQUNELEdBRkQ7QUFHRDs7QUFDTSxTQUFTRyxhQUFULEdBQXlCO0FBQzlCTCxFQUFBQSxJQUFJLENBQUNDLElBQUwsQ0FBVSxxQkFBVixFQUFpQztBQUFBO0FBQy9CSyxNQUFBQSxXQUFXLEVBQUVOLElBQUksQ0FBQ08sRUFBTCxDQUFRLFVBQUNDLENBQUQ7QUFBQSxlQUFPQSxDQUFQO0FBQUEsT0FBUixDQURrQjtBQUUvQkMsTUFBQUEsY0FBYyxFQUFFVCxJQUFJLENBQUNPLEVBQUwsQ0FBUSxVQUFDQyxDQUFEO0FBQUEsZUFBT0EsQ0FBUDtBQUFBLE9BQVI7QUFGZSxPQUc1QlosY0FBYyxDQUFDLFFBQUQsRUFBVyxnQkFBWCxFQUE2QixtQkFBN0IsRUFBa0Qsa0JBQWxELENBSGM7QUFBQSxHQUFqQztBQUtEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGNsYXNzT2JqZWN0KCkge1xuICBjb25zdCBvdXQgPSB7fTtcbiAgZm9yICh2YXIgYSBpbiBhcmd1bWVudHMpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGFyZ3VtZW50c1thXTtcbiAgICBvdXRbdmFsdWVdID0gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tDb21wb25lbnRzKCkge1xuICBjb25zdCBvdXQgPSB7fTtcbiAgZm9yICh2YXIgYSBpbiBhcmd1bWVudHMpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGFyZ3VtZW50c1thXTtcbiAgICBvdXRbdmFsdWVdID0gY2xhc3MgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgICAgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gPGRpdiBkYXRhLW1vY2stY29tcG9uZW50PVwidHJ1ZVwiPnt2YWx1ZX08L2Rpdj47XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja0ljb25CdXR0b24oKSB7XG4gIGplc3QubW9jaygnQG1hdGVyaWFsLXVpL2NvcmUvSWNvbkJ1dHRvbicsICgpID0+IHtcbiAgICByZXR1cm4gKHByb3BzKSA9PiA8ZGl2IGNsYXNzTmFtZT17cHJvcHMuY2xhc3NOYW1lfSBzdHlsZT17cHJvcHMuc3R5bGV9IGFyaWFMYWJlbD17cHJvcHNbJ2FyaWEtbGFiZWwnXX0gLz47XG4gIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tNYXRoSW5wdXQoKSB7XG4gIGplc3QubW9jaygnQHBpZS1saWIvbWF0aC1pbnB1dCcsICgpID0+ICh7XG4gICAgYWRkQnJhY2tldHM6IGplc3QuZm4oKHMpID0+IHMpLFxuICAgIHJlbW92ZUJyYWNrZXRzOiBqZXN0LmZuKChzKSA9PiBzKSxcbiAgICAuLi5tb2NrQ29tcG9uZW50cygnS2V5cGFkJywgJ01hdGhRdWlsbElucHV0JywgJ0VkaXRhYmxlTWF0aElucHV0JywgJ0hvcml6b250YWxLZXlwYWQnKSxcbiAgfSkpO1xufVxuIl19
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _slate = require("slate");
|
|
6
|
-
|
|
7
|
-
var _component = require("../component");
|
|
8
|
-
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
|
|
11
|
-
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
|
|
12
|
-
|
|
13
|
-
it('renders correctly', function () {
|
|
14
|
-
var node = _slate.Block.fromJSON({
|
|
15
|
-
type: 'image',
|
|
16
|
-
data: _slate.Data.create({
|
|
17
|
-
width: 50,
|
|
18
|
-
height: 50
|
|
19
|
-
})
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
var editor = {
|
|
23
|
-
value: {},
|
|
24
|
-
change: jest.fn()
|
|
25
|
-
};
|
|
26
|
-
var onDelete = jest.fn();
|
|
27
|
-
var classes = {
|
|
28
|
-
active: 'active',
|
|
29
|
-
loading: 'loading',
|
|
30
|
-
pendingDelete: 'pendingDelete'
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_component.Component, {
|
|
34
|
-
node: node,
|
|
35
|
-
editor: editor,
|
|
36
|
-
classes: classes,
|
|
37
|
-
onDelete: onDelete
|
|
38
|
-
}), {
|
|
39
|
-
createNodeMock: function createNodeMock(el) {
|
|
40
|
-
if (el.type === 'img') {
|
|
41
|
-
return {
|
|
42
|
-
naturalWidth: 100,
|
|
43
|
-
naturalHeight: 100
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}).toJSON();
|
|
48
|
-
|
|
49
|
-
expect(tree).toMatchSnapshot();
|
|
50
|
-
});
|
|
51
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwibmFtZXMiOlsiaXQiLCJub2RlIiwiQmxvY2siLCJmcm9tSlNPTiIsInR5cGUiLCJkYXRhIiwiRGF0YSIsImNyZWF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiZWRpdG9yIiwidmFsdWUiLCJjaGFuZ2UiLCJqZXN0IiwiZm4iLCJvbkRlbGV0ZSIsImNsYXNzZXMiLCJhY3RpdmUiLCJsb2FkaW5nIiwicGVuZGluZ0RlbGV0ZSIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZU5vZGVNb2NrIiwiZWwiLCJuYXR1cmFsV2lkdGgiLCJuYXR1cmFsSGVpZ2h0IiwidG9KU09OIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLEVBQUUsQ0FBQyxtQkFBRCxFQUFzQixZQUFNO0FBQzVCLE1BQU1DLElBQUksR0FBR0MsYUFBTUMsUUFBTixDQUFlO0FBQzFCQyxJQUFBQSxJQUFJLEVBQUUsT0FEb0I7QUFFMUJDLElBQUFBLElBQUksRUFBRUMsWUFBS0MsTUFBTCxDQUFZO0FBQ2hCQyxNQUFBQSxLQUFLLEVBQUUsRUFEUztBQUVoQkMsTUFBQUEsTUFBTSxFQUFFO0FBRlEsS0FBWjtBQUZvQixHQUFmLENBQWI7O0FBUUEsTUFBTUMsTUFBTSxHQUFHO0FBQ2JDLElBQUFBLEtBQUssRUFBRSxFQURNO0FBRWJDLElBQUFBLE1BQU0sRUFBRUMsSUFBSSxDQUFDQyxFQUFMO0FBRkssR0FBZjtBQUtBLE1BQU1DLFFBQVEsR0FBR0YsSUFBSSxDQUFDQyxFQUFMLEVBQWpCO0FBRUEsTUFBTUUsT0FBTyxHQUFHO0FBQ2RDLElBQUFBLE1BQU0sRUFBRSxRQURNO0FBRWRDLElBQUFBLE9BQU8sRUFBRSxTQUZLO0FBR2RDLElBQUFBLGFBQWEsRUFBRTtBQUhELEdBQWhCOztBQU1BLE1BQU1DLElBQUksR0FBR0MsOEJBQ1ZkLE1BRFUsZUFDSCxnQ0FBQyxvQkFBRDtBQUFXLElBQUEsSUFBSSxFQUFFTixJQUFqQjtBQUF1QixJQUFBLE1BQU0sRUFBRVMsTUFBL0I7QUFBdUMsSUFBQSxPQUFPLEVBQUVNLE9BQWhEO0FBQXlELElBQUEsUUFBUSxFQUFFRDtBQUFuRSxJQURHLEVBQzhFO0FBQ3ZGTyxJQUFBQSxjQUFjLEVBQUUsd0JBQUNDLEVBQUQsRUFBUTtBQUN0QixVQUFJQSxFQUFFLENBQUNuQixJQUFILEtBQVksS0FBaEIsRUFBdUI7QUFDckIsZUFBTztBQUNMb0IsVUFBQUEsWUFBWSxFQUFFLEdBRFQ7QUFFTEMsVUFBQUEsYUFBYSxFQUFFO0FBRlYsU0FBUDtBQUlEO0FBQ0Y7QUFSc0YsR0FEOUUsRUFXVkMsTUFYVSxFQUFiOztBQVlBQyxFQUFBQSxNQUFNLENBQUNQLElBQUQsQ0FBTixDQUFhUSxlQUFiO0FBQ0QsQ0FuQ0MsQ0FBRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGEsIEJsb2NrIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgcmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XG5cbml0KCdyZW5kZXJzIGNvcnJlY3RseScsICgpID0+IHtcbiAgY29uc3Qgbm9kZSA9IEJsb2NrLmZyb21KU09OKHtcbiAgICB0eXBlOiAnaW1hZ2UnLFxuICAgIGRhdGE6IERhdGEuY3JlYXRlKHtcbiAgICAgIHdpZHRoOiA1MCxcbiAgICAgIGhlaWdodDogNTAsXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IGVkaXRvciA9IHtcbiAgICB2YWx1ZToge30sXG4gICAgY2hhbmdlOiBqZXN0LmZuKCksXG4gIH07XG5cbiAgY29uc3Qgb25EZWxldGUgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICBhY3RpdmU6ICdhY3RpdmUnLFxuICAgIGxvYWRpbmc6ICdsb2FkaW5nJyxcbiAgICBwZW5kaW5nRGVsZXRlOiAncGVuZGluZ0RlbGV0ZScsXG4gIH07XG5cbiAgY29uc3QgdHJlZSA9IHJlbmRlcmVyXG4gICAgLmNyZWF0ZSg8Q29tcG9uZW50IG5vZGU9e25vZGV9IGVkaXRvcj17ZWRpdG9yfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkRlbGV0ZT17b25EZWxldGV9IC8+LCB7XG4gICAgICBjcmVhdGVOb2RlTW9jazogKGVsKSA9PiB7XG4gICAgICAgIGlmIChlbC50eXBlID09PSAnaW1nJykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYXR1cmFsV2lkdGg6IDEwMCxcbiAgICAgICAgICAgIG5hdHVyYWxIZWlnaHQ6IDEwMCxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pXG4gICAgLnRvSlNPTigpO1xuICBleHBlY3QodHJlZSkudG9NYXRjaFNuYXBzaG90KCk7XG59KTtcbiJdfQ==
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
-
|
|
7
|
-
var _enzyme = require("enzyme");
|
|
8
|
-
|
|
9
|
-
var _slate = require("slate");
|
|
10
|
-
|
|
11
|
-
var _imageToolbar = require("../image-toolbar");
|
|
12
|
-
|
|
13
|
-
var _mockChange = _interopRequireDefault(require("./mock-change"));
|
|
14
|
-
|
|
15
|
-
var _react = _interopRequireDefault(require("react"));
|
|
16
|
-
|
|
17
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
-
|
|
19
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
-
|
|
21
|
-
describe('ImageToolbar', function () {
|
|
22
|
-
var onChange;
|
|
23
|
-
beforeEach(function () {
|
|
24
|
-
onChange = jest.fn();
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
var mkWrapper = function mkWrapper(extras) {
|
|
28
|
-
var props = _objectSpread({
|
|
29
|
-
onChange: onChange,
|
|
30
|
-
classes: {}
|
|
31
|
-
}, extras);
|
|
32
|
-
|
|
33
|
-
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_imageToolbar.ImageToolbar, props));
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
describe('onChange', function () {
|
|
37
|
-
it('renders', function () {
|
|
38
|
-
return expect(mkWrapper()).toMatchSnapshot();
|
|
39
|
-
});
|
|
40
|
-
it('calls onChange with alignment', function () {
|
|
41
|
-
var w = mkWrapper();
|
|
42
|
-
w.instance().onAlignmentClick('center');
|
|
43
|
-
expect(onChange).toHaveBeenCalledWith({
|
|
44
|
-
alignment: 'center'
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
it('calls onChange with alt text', function () {
|
|
48
|
-
var w = mkWrapper();
|
|
49
|
-
w.instance().onAltTextDone('alt text');
|
|
50
|
-
expect(onChange).toHaveBeenCalledWith({
|
|
51
|
-
alt: 'alt text'
|
|
52
|
-
}, true);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLWxvZ2ljLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwib25DaGFuZ2UiLCJiZWZvcmVFYWNoIiwiamVzdCIsImZuIiwibWtXcmFwcGVyIiwiZXh0cmFzIiwicHJvcHMiLCJjbGFzc2VzIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJ3IiwiaW5zdGFuY2UiLCJvbkFsaWdubWVudENsaWNrIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJhbGlnbm1lbnQiLCJvbkFsdFRleHREb25lIiwiYWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUFBLFFBQVEsQ0FBQyxjQUFELEVBQWlCLFlBQU07QUFDN0IsTUFBSUMsUUFBSjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmRCxJQUFBQSxRQUFRLEdBQUdFLElBQUksQ0FBQ0MsRUFBTCxFQUFYO0FBQ0QsR0FGUyxDQUFWOztBQUlBLE1BQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLE1BQUQsRUFBWTtBQUM1QixRQUFNQyxLQUFLO0FBQ1ROLE1BQUFBLFFBQVEsRUFBUkEsUUFEUztBQUVUTyxNQUFBQSxPQUFPLEVBQUU7QUFGQSxPQUdORixNQUhNLENBQVg7O0FBTUEsV0FBTyxtQ0FBUSxnQ0FBQywwQkFBRCxFQUFrQkMsS0FBbEIsQ0FBUixDQUFQO0FBQ0QsR0FSRDs7QUFVQVAsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCUyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQVc7QUFDdkIsYUFBT0MsTUFBTSxDQUFDTCxTQUFTLEVBQVYsQ0FBTixDQUFvQk0sZUFBcEIsRUFBUDtBQUNELEtBRkMsQ0FBRjtBQUlBRixJQUFBQSxFQUFFLENBQUMsK0JBQUQsRUFBa0MsWUFBTTtBQUN4QyxVQUFNRyxDQUFDLEdBQUdQLFNBQVMsRUFBbkI7QUFDQU8sTUFBQUEsQ0FBQyxDQUFDQyxRQUFGLEdBQWFDLGdCQUFiLENBQThCLFFBQTlCO0FBQ0FKLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUMsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBdEM7QUFDRCxLQUpDLENBQUY7QUFNQVAsSUFBQUEsRUFBRSxDQUFDLDhCQUFELEVBQWlDLFlBQU07QUFDdkMsVUFBTUcsQ0FBQyxHQUFHUCxTQUFTLEVBQW5CO0FBQ0FPLE1BQUFBLENBQUMsQ0FBQ0MsUUFBRixHQUFhSSxhQUFiLENBQTJCLFVBQTNCO0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ1QsUUFBRCxDQUFOLENBQWlCYyxvQkFBakIsQ0FBc0M7QUFBRUcsUUFBQUEsR0FBRyxFQUFFO0FBQVAsT0FBdEMsRUFBMkQsSUFBM0Q7QUFDRCxLQUpDLENBQUY7QUFLRCxHQWhCTyxDQUFSO0FBaUJELENBbENPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWd1cmUsIHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuXG5pbXBvcnQgeyBEYXRhLCBCbG9jaywgVmFsdWUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBJbWFnZVRvb2xiYXIgfSBmcm9tICcuLi9pbWFnZS10b29sYmFyJztcbmltcG9ydCBNb2NrQ2hhbmdlIGZyb20gJy4vbW9jay1jaGFuZ2UnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZGVzY3JpYmUoJ0ltYWdlVG9vbGJhcicsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICB9KTtcblxuICBjb25zdCBta1dyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgLi4uZXh0cmFzLFxuICAgIH07XG5cbiAgICByZXR1cm4gc2hhbGxvdyg8SW1hZ2VUb29sYmFyIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdvbkNoYW5nZScsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGV4cGVjdChta1dyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2l0aCBhbGlnbm1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gbWtXcmFwcGVyKCk7XG4gICAgICB3Lmluc3RhbmNlKCkub25BbGlnbm1lbnRDbGljaygnY2VudGVyJyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWxpZ25tZW50OiAnY2VudGVyJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3aXRoIGFsdCB0ZXh0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IG1rV3JhcHBlcigpO1xuICAgICAgdy5pbnN0YW5jZSgpLm9uQWx0VGV4dERvbmUoJ2FsdCB0ZXh0Jyk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgYWx0OiAnYWx0IHRleHQnIH0sIHRydWUpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
|
-
var _imageToolbar = _interopRequireDefault(require("../image-toolbar"));
|
|
8
|
-
|
|
9
|
-
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
|
|
10
|
-
|
|
11
|
-
var _slate = require("slate");
|
|
12
|
-
|
|
13
|
-
it('renders correctly', function () {
|
|
14
|
-
var classes = {
|
|
15
|
-
holder: 'holder'
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
var tree = _reactTestRenderer["default"].create( /*#__PURE__*/_react["default"].createElement(_imageToolbar["default"], {
|
|
19
|
-
percent: 50,
|
|
20
|
-
classes: classes,
|
|
21
|
-
onChange: jest.fn()
|
|
22
|
-
})).toJSON();
|
|
23
|
-
|
|
24
|
-
expect(tree).toMatchSnapshot();
|
|
25
|
-
});
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbWFnZS10b29sYmFyLnRlc3QuanN4Il0sIm5hbWVzIjpbIml0IiwiY2xhc3NlcyIsImhvbGRlciIsInRyZWUiLCJyZW5kZXJlciIsImNyZWF0ZSIsImplc3QiLCJmbiIsInRvSlNPTiIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBQSxFQUFFLENBQUMsbUJBQUQsRUFBc0IsWUFBTTtBQUM1QixNQUFNQyxPQUFPLEdBQUc7QUFBRUMsSUFBQUEsTUFBTSxFQUFFO0FBQVYsR0FBaEI7O0FBRUEsTUFBTUMsSUFBSSxHQUFHQyw4QkFBU0MsTUFBVCxlQUFnQixnQ0FBQyx3QkFBRDtBQUFTLElBQUEsT0FBTyxFQUFFLEVBQWxCO0FBQXNCLElBQUEsT0FBTyxFQUFFSixPQUEvQjtBQUF3QyxJQUFBLFFBQVEsRUFBRUssSUFBSSxDQUFDQyxFQUFMO0FBQWxELElBQWhCLEVBQWlGQyxNQUFqRixFQUFiOztBQUNBQyxFQUFBQSxNQUFNLENBQUNOLElBQUQsQ0FBTixDQUFhTyxlQUFiO0FBQ0QsQ0FMQyxDQUFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUb29sYmFyIGZyb20gJy4uL2ltYWdlLXRvb2xiYXInO1xuaW1wb3J0IHJlbmRlcmVyIGZyb20gJ3JlYWN0LXRlc3QtcmVuZGVyZXInO1xuaW1wb3J0IHsgRGF0YSwgQmxvY2ssIFZhbHVlIH0gZnJvbSAnc2xhdGUnO1xuXG5pdCgncmVuZGVycyBjb3JyZWN0bHknLCAoKSA9PiB7XG4gIGNvbnN0IGNsYXNzZXMgPSB7IGhvbGRlcjogJ2hvbGRlcicgfTtcblxuICBjb25zdCB0cmVlID0gcmVuZGVyZXIuY3JlYXRlKDxUb29sYmFyIHBlcmNlbnQ9ezUwfSBjbGFzc2VzPXtjbGFzc2VzfSBvbkNoYW5nZT17amVzdC5mbigpfSAvPikudG9KU09OKCk7XG4gIGV4cGVjdCh0cmVlKS50b01hdGNoU25hcHNob3QoKTtcbn0pO1xuIl19
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
var _mockChange = _interopRequireWildcard(require("./mock-change"));
|
|
8
|
-
|
|
9
|
-
var _slate = require("slate");
|
|
10
|
-
|
|
11
|
-
var _ = _interopRequireDefault(require("../"));
|
|
12
|
-
|
|
13
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
-
|
|
15
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
-
|
|
17
|
-
describe('image plugin', function () {
|
|
18
|
-
var value = {};
|
|
19
|
-
var imageSupport = {
|
|
20
|
-
"delete": jest.fn(),
|
|
21
|
-
add: jest.fn()
|
|
22
|
-
};
|
|
23
|
-
var imagePlugin = (0, _["default"])({
|
|
24
|
-
onDelete: function onDelete(src, done) {
|
|
25
|
-
imageSupport["delete"](src, function (e) {
|
|
26
|
-
done(e, value);
|
|
27
|
-
});
|
|
28
|
-
},
|
|
29
|
-
insertImageRequested: function insertImageRequested(node, getHandler) {
|
|
30
|
-
var handler = getHandler(function () {
|
|
31
|
-
return value;
|
|
32
|
-
});
|
|
33
|
-
imageSupport.add(handler);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
describe('normalizeNode', function () {
|
|
37
|
-
it('should exit the function if the node is not of type document', function () {
|
|
38
|
-
var returnValue = imagePlugin.normalizeNode({
|
|
39
|
-
object: 'image'
|
|
40
|
-
});
|
|
41
|
-
expect(returnValue).toEqual(undefined);
|
|
42
|
-
});
|
|
43
|
-
it('should exit if the function if there are no changes needed', function () {
|
|
44
|
-
var nodes = [{
|
|
45
|
-
object: 'text',
|
|
46
|
-
text: 'Before Image'
|
|
47
|
-
}, {
|
|
48
|
-
type: 'image'
|
|
49
|
-
}, {
|
|
50
|
-
object: 'text',
|
|
51
|
-
text: 'After Image'
|
|
52
|
-
}];
|
|
53
|
-
var returnValue = imagePlugin.normalizeNode({
|
|
54
|
-
object: 'document',
|
|
55
|
-
findDescendant: jest.fn(function (callback) {
|
|
56
|
-
nodes.forEach(function (n) {
|
|
57
|
-
return callback(n);
|
|
58
|
-
});
|
|
59
|
-
})
|
|
60
|
-
});
|
|
61
|
-
expect(returnValue).toEqual(undefined);
|
|
62
|
-
});
|
|
63
|
-
it('should return a function if there is a node with an empty text before an image', function () {
|
|
64
|
-
var nodes = [{
|
|
65
|
-
object: 'text',
|
|
66
|
-
text: '',
|
|
67
|
-
key: '1'
|
|
68
|
-
}, {
|
|
69
|
-
type: 'image',
|
|
70
|
-
key: '2'
|
|
71
|
-
}, {
|
|
72
|
-
object: 'text',
|
|
73
|
-
text: 'After Image',
|
|
74
|
-
key: '3'
|
|
75
|
-
}];
|
|
76
|
-
var findDescendant = jest.fn(function (callback) {
|
|
77
|
-
nodes.forEach(function (n) {
|
|
78
|
-
return callback(n);
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
var change = {
|
|
82
|
-
withoutNormalization: jest.fn(function (callback) {
|
|
83
|
-
callback();
|
|
84
|
-
}),
|
|
85
|
-
insertTextByKey: jest.fn()
|
|
86
|
-
};
|
|
87
|
-
var returnValue = imagePlugin.normalizeNode({
|
|
88
|
-
object: 'document',
|
|
89
|
-
findDescendant: findDescendant
|
|
90
|
-
});
|
|
91
|
-
expect(returnValue).toEqual(expect.any(Function));
|
|
92
|
-
returnValue(change);
|
|
93
|
-
expect(change.withoutNormalization).toHaveBeenCalledWith(expect.any(Function));
|
|
94
|
-
expect(change.insertTextByKey).toHaveBeenCalledWith('1', 0, ' ');
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2ltYWdlL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwidmFsdWUiLCJpbWFnZVN1cHBvcnQiLCJqZXN0IiwiZm4iLCJhZGQiLCJpbWFnZVBsdWdpbiIsIm9uRGVsZXRlIiwic3JjIiwiZG9uZSIsImUiLCJpbnNlcnRJbWFnZVJlcXVlc3RlZCIsIm5vZGUiLCJnZXRIYW5kbGVyIiwiaGFuZGxlciIsIml0IiwicmV0dXJuVmFsdWUiLCJub3JtYWxpemVOb2RlIiwib2JqZWN0IiwiZXhwZWN0IiwidG9FcXVhbCIsInVuZGVmaW5lZCIsIm5vZGVzIiwidGV4dCIsInR5cGUiLCJmaW5kRGVzY2VuZGFudCIsImNhbGxiYWNrIiwiZm9yRWFjaCIsIm4iLCJrZXkiLCJjaGFuZ2UiLCJ3aXRob3V0Tm9ybWFsaXphdGlvbiIsImluc2VydFRleHRCeUtleSIsImFueSIsIkZ1bmN0aW9uIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLGNBQUQsRUFBaUIsWUFBTTtBQUM3QixNQUFJQyxLQUFLLEdBQUcsRUFBWjtBQUVBLE1BQU1DLFlBQVksR0FBRztBQUNuQixjQUFRQyxJQUFJLENBQUNDLEVBQUwsRUFEVztBQUVuQkMsSUFBQUEsR0FBRyxFQUFFRixJQUFJLENBQUNDLEVBQUw7QUFGYyxHQUFyQjtBQUtBLE1BQU1FLFdBQVcsR0FBRyxrQkFBYTtBQUMvQkMsSUFBQUEsUUFBUSxFQUFFLGtCQUFDQyxHQUFELEVBQU1DLElBQU4sRUFBZTtBQUN2QlAsTUFBQUEsWUFBWSxVQUFaLENBQW9CTSxHQUFwQixFQUF5QixVQUFDRSxDQUFELEVBQU87QUFDOUJELFFBQUFBLElBQUksQ0FBQ0MsQ0FBRCxFQUFJVCxLQUFKLENBQUo7QUFDRCxPQUZEO0FBR0QsS0FMOEI7QUFNL0JVLElBQUFBLG9CQUFvQixF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QUE1QjtBQUVBbEIsTUFBQUEsV0FBVyxDQUFDYyxNQUFELENBQVg7QUFFQVgsTUFBQUEsTUFBTSxDQUFDVyxNQUFNLENBQUNDLG9CQUFSLENBQU4sQ0FBb0NJLG9CQUFwQyxDQUF5RGhCLE1BQU0sQ0FBQ2MsR0FBUCxDQUFXQyxRQUFYLENBQXpEO0FBQ0FmLE1BQUFBLE1BQU0sQ0FBQ1csTUFBTSxDQUFDRSxlQUFSLENBQU4sQ0FBK0JHLG9CQUEvQixDQUFvRCxHQUFwRCxFQUF5RCxDQUF6RCxFQUE0RCxHQUE1RDtBQUNELEtBckNDLENBQUY7QUFzQ0QsR0FwRU8sQ0FBUjtBQXFFRCxDQXpGTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1vY2tDaGFuZ2UsIHsgTW9ja0RvY3VtZW50IH0gZnJvbSAnLi9tb2NrLWNoYW5nZSc7XG5cbmltcG9ydCB7IERhdGEgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgSW1hZ2VUb29sYmFyIGZyb20gJy4uLyc7XG5cbmRlc2NyaWJlKCdpbWFnZSBwbHVnaW4nLCAoKSA9PiB7XG4gIGxldCB2YWx1ZSA9IHt9O1xuXG4gIGNvbnN0IGltYWdlU3VwcG9ydCA9IHtcbiAgICBkZWxldGU6IGplc3QuZm4oKSxcbiAgICBhZGQ6IGplc3QuZm4oKSxcbiAgfTtcblxuICBjb25zdCBpbWFnZVBsdWdpbiA9IEltYWdlVG9vbGJhcih7XG4gICAgb25EZWxldGU6IChzcmMsIGRvbmUpID0+IHtcbiAgICAgIGltYWdlU3VwcG9ydC5kZWxldGUoc3JjLCAoZSkgPT4ge1xuICAgICAgICBkb25lKGUsIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQ6IChub2RlLCBnZXRIYW5kbGVyKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVyID0gZ2V0SGFuZGxlcigoKSA9PiB2YWx1ZSk7XG4gICAgICBpbWFnZVN1cHBvcnQuYWRkKGhhbmRsZXIpO1xuICAgIH0sXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdub3JtYWxpemVOb2RlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZXhpdCB0aGUgZnVuY3Rpb24gaWYgdGhlIG5vZGUgaXMgbm90IG9mIHR5cGUgZG9jdW1lbnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXR1cm5WYWx1ZSA9IGltYWdlUGx1Z2luLm5vcm1hbGl6ZU5vZGUoeyBvYmplY3Q6ICdpbWFnZScgfSk7XG5cbiAgICAgIGV4cGVjdChyZXR1cm5WYWx1ZSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBleGl0IGlmIHRoZSBmdW5jdGlvbiBpZiB0aGVyZSBhcmUgbm8gY2hhbmdlcyBuZWVkZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdCZWZvcmUgSW1hZ2UnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgcmV0dXJuVmFsdWUgPSBpbWFnZVBsdWdpbi5ub3JtYWxpemVOb2RlKHtcbiAgICAgICAgb2JqZWN0OiAnZG9jdW1lbnQnLFxuICAgICAgICBmaW5kRGVzY2VuZGFudDogamVzdC5mbigoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QocmV0dXJuVmFsdWUpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGEgZnVuY3Rpb24gaWYgdGhlcmUgaXMgYSBub2RlIHdpdGggYW4gZW1wdHkgdGV4dCBiZWZvcmUgYW4gaW1hZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBub2RlcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgIGtleTogJzEnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICBrZXk6ICcyJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIHRleHQ6ICdBZnRlciBJbWFnZScsXG4gICAgICAgICAga2V5OiAnMycsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgZmluZERlc2NlbmRhbnQgPSBqZXN0LmZuKChjYWxsYmFjaykgPT4ge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiBjYWxsYmFjayhuKSk7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGNoYW5nZSA9IHtcbiAgICAgICAgd2l0aG91dE5vcm1hbGl6YXRpb246IGplc3QuZm4oKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgfSksXG4gICAgICAgIGluc2VydFRleHRCeUtleTogamVzdC5mbigpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJldHVyblZhbHVlID0gaW1hZ2VQbHVnaW4ubm9ybWFsaXplTm9kZSh7XG4gICAgICAgIG9iamVjdDogJ2RvY3VtZW50JyxcbiAgICAgICAgZmluZERlc2NlbmRhbnQsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJldHVyblZhbHVlKS50b0VxdWFsKGV4cGVjdC5hbnkoRnVuY3Rpb24pKTtcblxuICAgICAgcmV0dXJuVmFsdWUoY2hhbmdlKTtcblxuICAgICAgZXhwZWN0KGNoYW5nZS53aXRob3V0Tm9ybWFsaXphdGlvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0LmFueShGdW5jdGlvbikpO1xuICAgICAgZXhwZWN0KGNoYW5nZS5pbnNlcnRUZXh0QnlLZXkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCcxJywgMCwgJyAnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|