@pie-lib/editable-html-tip-tap 2.1.20-beta.6 → 2.1.20-beta.8
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/lib/__tests__/EditableHtml.test.js +831 -0
- package/lib/__tests__/constants.test.js +21 -0
- package/lib/__tests__/div-to-paragraph-conversion.test.js +213 -0
- package/lib/__tests__/extensions.test.js +209 -0
- package/lib/__tests__/index.test.js +250 -0
- package/lib/__tests__/size-utils.test.js +57 -0
- package/lib/__tests__/spellcheck.test.js +142 -0
- package/lib/__tests__/theme.test.js +17 -0
- package/lib/components/__tests__/AltDialog.test.js +201 -0
- package/lib/components/__tests__/CharacterPicker.test.js +455 -0
- package/lib/components/__tests__/CssIcon.test.js +58 -0
- package/lib/components/__tests__/DragInTheBlank.test.js +295 -0
- package/lib/components/__tests__/ExplicitConstructedResponse.test.js +345 -0
- package/lib/components/__tests__/ImageToolbar.test.js +185 -0
- package/lib/components/__tests__/InlineDropdown.test.js +839 -0
- package/lib/components/__tests__/InsertImageHandler.test.js +171 -0
- package/lib/components/__tests__/MediaDialog.test.js +433 -0
- package/lib/components/__tests__/MediaToolbar.test.js +126 -0
- package/lib/components/__tests__/MediaWrapper.test.js +96 -0
- package/lib/components/__tests__/MenuBar.test.js +502 -0
- package/lib/components/__tests__/RespArea.test.js +171 -0
- package/lib/components/__tests__/TableIcons.test.js +153 -0
- package/lib/components/__tests__/TextAlign.test.js +209 -0
- package/lib/components/__tests__/TiptapContainer.test.js +196 -0
- package/lib/components/__tests__/characterUtils.test.js +178 -0
- package/lib/components/__tests__/choice.test.js +213 -0
- package/lib/components/__tests__/custom-popper.test.js +108 -0
- package/lib/components/__tests__/done-button.test.js +72 -0
- package/lib/components/__tests__/toolbar-buttons.test.js +277 -0
- package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js +90 -0
- package/lib/components/respArea/__tests__/MathTemplated.test.js +217 -0
- package/lib/extensions/__tests__/css.test.js +214 -0
- package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +175 -0
- package/lib/extensions/__tests__/divNode.test.js +108 -0
- package/lib/extensions/__tests__/ensure-empty-root-div.test.js +50 -0
- package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js +60 -0
- package/lib/extensions/__tests__/extended-list-item.test.js +13 -0
- package/lib/extensions/__tests__/extended-table-cell.test.js +15 -0
- package/lib/extensions/__tests__/extended-table.test.js +200 -0
- package/lib/extensions/__tests__/image-component.test.js +432 -0
- package/lib/extensions/__tests__/image.test.js +313 -0
- package/lib/extensions/__tests__/math.test.js +1411 -0
- package/lib/extensions/__tests__/media-node-view.test.js +307 -0
- package/lib/extensions/__tests__/media.test.js +292 -0
- package/lib/extensions/__tests__/responseArea.test.js +736 -0
- package/lib/utils/__tests__/helper.test.js +107 -0
- package/lib/utils/__tests__/toolbar.test.js +38 -0
- package/package.json +3 -3
- package/src/__tests__/EditableHtml.test.jsx +588 -0
- package/src/__tests__/constants.test.js +19 -0
- package/src/__tests__/div-to-paragraph-conversion.test.jsx +125 -0
- package/src/__tests__/extensions.test.js +208 -0
- package/src/__tests__/index.test.jsx +154 -0
- package/src/__tests__/size-utils.test.js +64 -0
- package/src/__tests__/theme.test.js +17 -0
- package/src/components/__tests__/AltDialog.test.jsx +147 -0
- package/src/components/__tests__/CharacterPicker.test.jsx +270 -0
- package/src/components/__tests__/CssIcon.test.jsx +46 -0
- package/src/components/__tests__/DragInTheBlank.test.jsx +255 -0
- package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +209 -0
- package/src/components/__tests__/ImageToolbar.test.jsx +128 -0
- package/src/components/__tests__/InlineDropdown.test.jsx +557 -0
- package/src/components/__tests__/InsertImageHandler.test.js +161 -0
- package/src/components/__tests__/MediaDialog.test.jsx +293 -0
- package/src/components/__tests__/MediaToolbar.test.jsx +74 -0
- package/src/components/__tests__/MediaWrapper.test.jsx +81 -0
- package/src/components/__tests__/MenuBar.test.jsx +250 -0
- package/src/components/__tests__/RespArea.test.jsx +122 -0
- package/src/components/__tests__/TableIcons.test.jsx +149 -0
- package/src/components/__tests__/TextAlign.test.jsx +167 -0
- package/src/components/__tests__/TiptapContainer.test.jsx +138 -0
- package/src/components/__tests__/characterUtils.test.js +166 -0
- package/src/components/__tests__/choice.test.jsx +171 -0
- package/src/components/__tests__/custom-popper.test.jsx +82 -0
- package/src/components/__tests__/done-button.test.jsx +54 -0
- package/src/components/__tests__/toolbar-buttons.test.jsx +234 -0
- package/src/components/respArea/DragInTheBlank/__tests__/choice.test.jsx +72 -0
- package/src/components/respArea/__tests__/MathTemplated.test.jsx +210 -0
- package/src/extensions/__tests__/css.test.js +196 -0
- package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +180 -0
- package/src/extensions/__tests__/divNode.test.js +87 -0
- package/src/extensions/__tests__/ensure-empty-root-div.test.js +57 -0
- package/src/extensions/__tests__/ensure-list-item-content-is-div.test.js +44 -0
- package/src/extensions/__tests__/extended-list-item.test.js +13 -0
- package/src/extensions/__tests__/extended-table-cell.test.js +22 -0
- package/src/extensions/__tests__/extended-table.test.js +183 -0
- package/src/extensions/__tests__/image-component.test.jsx +346 -0
- package/src/extensions/__tests__/image.test.js +237 -0
- package/src/extensions/__tests__/math.test.js +900 -0
- package/src/extensions/__tests__/media-node-view.test.jsx +298 -0
- package/src/extensions/__tests__/media.test.js +271 -0
- package/src/extensions/__tests__/responseArea.test.js +655 -0
- package/src/utils/__tests__/helper.test.js +126 -0
- package/src/utils/__tests__/toolbar.test.js +43 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
var _index = _interopRequireWildcard(require("../index"));
|
|
5
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
6
|
+
// Mock TipTap and dependencies
|
|
7
|
+
jest.mock('@tiptap/react', function () {
|
|
8
|
+
return {
|
|
9
|
+
EditorContent: function EditorContent() {
|
|
10
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
"data-testid": "editor-content"
|
|
12
|
+
});
|
|
13
|
+
},
|
|
14
|
+
useEditor: jest.fn(function () {
|
|
15
|
+
return {
|
|
16
|
+
getHTML: jest.fn(function () {
|
|
17
|
+
return '<p>test content</p>';
|
|
18
|
+
}),
|
|
19
|
+
setEditable: jest.fn(),
|
|
20
|
+
commands: {
|
|
21
|
+
setContent: jest.fn()
|
|
22
|
+
},
|
|
23
|
+
isActive: jest.fn(function () {
|
|
24
|
+
return false;
|
|
25
|
+
}),
|
|
26
|
+
isFocused: false
|
|
27
|
+
};
|
|
28
|
+
}),
|
|
29
|
+
useEditorState: jest.fn(function () {
|
|
30
|
+
return {
|
|
31
|
+
isFocused: false
|
|
32
|
+
};
|
|
33
|
+
})
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
jest.mock('@tiptap/starter-kit', function () {
|
|
37
|
+
return {
|
|
38
|
+
__esModule: true,
|
|
39
|
+
"default": {
|
|
40
|
+
configure: jest.fn(function () {
|
|
41
|
+
return {};
|
|
42
|
+
})
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
jest.mock('@tiptap/extension-text-style', function () {
|
|
47
|
+
return {
|
|
48
|
+
TextStyleKit: {}
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
jest.mock('@tiptap/extension-character-count', function () {
|
|
52
|
+
return {
|
|
53
|
+
CharacterCount: {
|
|
54
|
+
configure: jest.fn(function () {
|
|
55
|
+
return {};
|
|
56
|
+
})
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
jest.mock('@tiptap/extension-superscript', function () {
|
|
61
|
+
return {
|
|
62
|
+
__esModule: true,
|
|
63
|
+
"default": {}
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
jest.mock('@tiptap/extension-subscript', function () {
|
|
67
|
+
return {
|
|
68
|
+
__esModule: true,
|
|
69
|
+
"default": {}
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
jest.mock('@tiptap/extension-text-align', function () {
|
|
73
|
+
return {
|
|
74
|
+
__esModule: true,
|
|
75
|
+
"default": {
|
|
76
|
+
configure: jest.fn(function () {
|
|
77
|
+
return {};
|
|
78
|
+
})
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
});
|
|
82
|
+
jest.mock('@tiptap/extension-image', function () {
|
|
83
|
+
return {
|
|
84
|
+
__esModule: true,
|
|
85
|
+
"default": {}
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
jest.mock('@tiptap/extension-table', function () {
|
|
89
|
+
return {
|
|
90
|
+
__esModule: true,
|
|
91
|
+
"default": {}
|
|
92
|
+
};
|
|
93
|
+
});
|
|
94
|
+
jest.mock('@tiptap/extension-table-row', function () {
|
|
95
|
+
return {
|
|
96
|
+
TableRow: {}
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
jest.mock('../extensions/extended-table-cell', function () {
|
|
100
|
+
return {
|
|
101
|
+
ExtendedTableCell: {},
|
|
102
|
+
ExtendedTableHeader: {}
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
jest.mock('../extensions/extended-table', function () {
|
|
106
|
+
return {
|
|
107
|
+
__esModule: true,
|
|
108
|
+
"default": {}
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
jest.mock('../extensions/ensure-empty-root-div', function () {
|
|
112
|
+
return {
|
|
113
|
+
EnsureEmptyRootIsDiv: {}
|
|
114
|
+
};
|
|
115
|
+
});
|
|
116
|
+
jest.mock('../extensions/extended-list-item', function () {
|
|
117
|
+
return {
|
|
118
|
+
ExtendedListItem: {}
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
jest.mock('../extensions/ensure-list-item-content-is-div', function () {
|
|
122
|
+
return {
|
|
123
|
+
EnsureListItemContentIsDiv: {}
|
|
124
|
+
};
|
|
125
|
+
});
|
|
126
|
+
jest.mock('../extensions/responseArea', function () {
|
|
127
|
+
return {
|
|
128
|
+
ExplicitConstructedResponseNode: {
|
|
129
|
+
configure: jest.fn(function () {
|
|
130
|
+
return {};
|
|
131
|
+
})
|
|
132
|
+
},
|
|
133
|
+
DragInTheBlankNode: {
|
|
134
|
+
configure: jest.fn(function () {
|
|
135
|
+
return {};
|
|
136
|
+
})
|
|
137
|
+
},
|
|
138
|
+
InlineDropdownNode: {
|
|
139
|
+
configure: jest.fn(function () {
|
|
140
|
+
return {};
|
|
141
|
+
})
|
|
142
|
+
},
|
|
143
|
+
ResponseAreaExtension: {
|
|
144
|
+
configure: jest.fn(function () {
|
|
145
|
+
return {};
|
|
146
|
+
})
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
});
|
|
150
|
+
jest.mock('../extensions/math', function () {
|
|
151
|
+
return {
|
|
152
|
+
MathNode: {
|
|
153
|
+
configure: jest.fn(function () {
|
|
154
|
+
return {};
|
|
155
|
+
})
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
jest.mock('../extensions/image', function () {
|
|
160
|
+
return {
|
|
161
|
+
ImageUploadNode: {
|
|
162
|
+
configure: jest.fn(function () {
|
|
163
|
+
return {};
|
|
164
|
+
})
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
});
|
|
168
|
+
jest.mock('../extensions/media', function () {
|
|
169
|
+
return {
|
|
170
|
+
Media: {
|
|
171
|
+
configure: jest.fn(function () {
|
|
172
|
+
return {};
|
|
173
|
+
})
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
});
|
|
177
|
+
jest.mock('../extensions/css', function () {
|
|
178
|
+
return {
|
|
179
|
+
CSSMark: {
|
|
180
|
+
configure: jest.fn(function () {
|
|
181
|
+
return {};
|
|
182
|
+
})
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
});
|
|
186
|
+
jest.mock('../components/TiptapContainer', function () {
|
|
187
|
+
return {
|
|
188
|
+
__esModule: true,
|
|
189
|
+
"default": function _default(_ref) {
|
|
190
|
+
var children = _ref.children;
|
|
191
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
192
|
+
"data-testid": "editor-container"
|
|
193
|
+
}, children);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
});
|
|
197
|
+
jest.mock('../extensions', function () {
|
|
198
|
+
return {
|
|
199
|
+
buildExtensions: jest.fn(function () {
|
|
200
|
+
return [];
|
|
201
|
+
}),
|
|
202
|
+
ALL_PLUGINS: ['bold', 'html', 'extraCSSRules', 'italic', 'underline', 'strikethrough', 'bulleted-list', 'numbered-list', 'image', 'math', 'languageCharacters', 'text-align', 'blockquote', 'h3', 'table', 'video', 'audio', 'responseArea', 'redo', 'undo', 'superscript', 'subscript'],
|
|
203
|
+
DEFAULT_PLUGINS: ['bold', 'html', 'extraCSSRules', 'italic', 'underline', 'strikethrough', 'bulleted-list', 'numbered-list', 'image', 'math', 'languageCharacters', 'text-align', 'table', 'video', 'audio', 'redo', 'undo', 'superscript', 'subscript']
|
|
204
|
+
};
|
|
205
|
+
});
|
|
206
|
+
describe('editable-html-tip-tap module', function () {
|
|
207
|
+
describe('exports', function () {
|
|
208
|
+
it('exports StyledEditor as default', function () {
|
|
209
|
+
expect(_index["default"]).toBeDefined();
|
|
210
|
+
});
|
|
211
|
+
it('exports EditableHtml as named export', function () {
|
|
212
|
+
expect(_index.EditableHtml).toBeDefined();
|
|
213
|
+
});
|
|
214
|
+
it('exports ALL_PLUGINS as named export', function () {
|
|
215
|
+
expect(_index.ALL_PLUGINS).toBeDefined();
|
|
216
|
+
expect(Array.isArray(_index.ALL_PLUGINS)).toBe(true);
|
|
217
|
+
});
|
|
218
|
+
it('exports DEFAULT_PLUGINS as named export', function () {
|
|
219
|
+
expect(_index.DEFAULT_PLUGINS).toBeDefined();
|
|
220
|
+
expect(Array.isArray(_index.DEFAULT_PLUGINS)).toBe(true);
|
|
221
|
+
});
|
|
222
|
+
it('StyledEditor and EditableHtml refer to the same component', function () {
|
|
223
|
+
expect(_index["default"]).toBe(_index.EditableHtml);
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
describe('ALL_PLUGINS', function () {
|
|
227
|
+
it('contains expected plugins', function () {
|
|
228
|
+
expect(_index.ALL_PLUGINS).toContain('bold');
|
|
229
|
+
expect(_index.ALL_PLUGINS).toContain('italic');
|
|
230
|
+
expect(_index.ALL_PLUGINS).toContain('underline');
|
|
231
|
+
expect(_index.ALL_PLUGINS).toContain('math');
|
|
232
|
+
expect(_index.ALL_PLUGINS).toContain('table');
|
|
233
|
+
expect(_index.ALL_PLUGINS).toContain('responseArea');
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
describe('DEFAULT_PLUGINS', function () {
|
|
237
|
+
it('is a subset of ALL_PLUGINS', function () {
|
|
238
|
+
var allPluginsSet = new Set(_index.ALL_PLUGINS);
|
|
239
|
+
_index.DEFAULT_PLUGINS.forEach(function (plugin) {
|
|
240
|
+
expect(allPluginsSet.has(plugin)).toBe(true);
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
it('contains basic formatting plugins', function () {
|
|
244
|
+
expect(_index.DEFAULT_PLUGINS).toContain('bold');
|
|
245
|
+
expect(_index.DEFAULT_PLUGINS).toContain('italic');
|
|
246
|
+
expect(_index.DEFAULT_PLUGINS).toContain('underline');
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImplc3QiLCJtb2NrIiwiRWRpdG9yQ29udGVudCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsInVzZUVkaXRvciIsImZuIiwiZ2V0SFRNTCIsInNldEVkaXRhYmxlIiwiY29tbWFuZHMiLCJzZXRDb250ZW50IiwiaXNBY3RpdmUiLCJpc0ZvY3VzZWQiLCJ1c2VFZGl0b3JTdGF0ZSIsImNvbmZpZ3VyZSIsIlRleHRTdHlsZUtpdCIsIkNoYXJhY3RlckNvdW50IiwiVGFibGVSb3ciLCJFeHRlbmRlZFRhYmxlQ2VsbCIsIkV4dGVuZGVkVGFibGVIZWFkZXIiLCJFbnN1cmVFbXB0eVJvb3RJc0RpdiIsIkV4dGVuZGVkTGlzdEl0ZW0iLCJFbnN1cmVMaXN0SXRlbUNvbnRlbnRJc0RpdiIsIkV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUiLCJEcmFnSW5UaGVCbGFua05vZGUiLCJJbmxpbmVEcm9wZG93bk5vZGUiLCJSZXNwb25zZUFyZWFFeHRlbnNpb24iLCJNYXRoTm9kZSIsIkltYWdlVXBsb2FkTm9kZSIsIk1lZGlhIiwiQ1NTTWFyayIsImRlZmF1bHQiLCJfcmVmIiwiY2hpbGRyZW4iLCJidWlsZEV4dGVuc2lvbnMiLCJBTExfUExVR0lOUyIsIkRFRkFVTFRfUExVR0lOUyIsImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJTdHlsZWRFZGl0b3IiLCJ0b0JlRGVmaW5lZCIsIkVkaXRhYmxlSHRtbCIsIkFycmF5IiwiaXNBcnJheSIsInRvQmUiLCJ0b0NvbnRhaW4iLCJhbGxQbHVnaW5zU2V0IiwiU2V0IiwiZm9yRWFjaCIsInBsdWdpbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlZEVkaXRvciwgeyBBTExfUExVR0lOUywgREVGQVVMVF9QTFVHSU5TLCBFZGl0YWJsZUh0bWwgfSBmcm9tICcuLi9pbmRleCc7XG5cbi8vIE1vY2sgVGlwVGFwIGFuZCBkZXBlbmRlbmNpZXNcbmplc3QubW9jaygnQHRpcHRhcC9yZWFjdCcsICgpID0+ICh7XG4gIEVkaXRvckNvbnRlbnQ6ICgpID0+IDxkaXYgZGF0YS10ZXN0aWQ9XCJlZGl0b3ItY29udGVudFwiIC8+LFxuICB1c2VFZGl0b3I6IGplc3QuZm4oKCkgPT4gKHtcbiAgICBnZXRIVE1MOiBqZXN0LmZuKCgpID0+ICc8cD50ZXN0IGNvbnRlbnQ8L3A+JyksXG4gICAgc2V0RWRpdGFibGU6IGplc3QuZm4oKSxcbiAgICBjb21tYW5kczogeyBzZXRDb250ZW50OiBqZXN0LmZuKCkgfSxcbiAgICBpc0FjdGl2ZTogamVzdC5mbigoKSA9PiBmYWxzZSksXG4gICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgfSkpLFxuICB1c2VFZGl0b3JTdGF0ZTogamVzdC5mbigoKSA9PiAoeyBpc0ZvY3VzZWQ6IGZhbHNlIH0pKSxcbn0pKTtcblxuamVzdC5tb2NrKCdAdGlwdGFwL3N0YXJ0ZXIta2l0JywgKCkgPT4gKHtcbiAgX19lc01vZHVsZTogdHJ1ZSxcbiAgZGVmYXVsdDogeyBjb25maWd1cmU6IGplc3QuZm4oKCkgPT4gKHt9KSkgfSxcbn0pKTtcbmplc3QubW9jaygnQHRpcHRhcC9leHRlbnNpb24tdGV4dC1zdHlsZScsICgpID0+ICh7IFRleHRTdHlsZUtpdDoge30gfSkpO1xuamVzdC5tb2NrKCdAdGlwdGFwL2V4dGVuc2lvbi1jaGFyYWN0ZXItY291bnQnLCAoKSA9PiAoe1xuICBDaGFyYWN0ZXJDb3VudDogeyBjb25maWd1cmU6IGplc3QuZm4oKCkgPT4gKHt9KSkgfSxcbn0pKTtcbmplc3QubW9jaygnQHRpcHRhcC9leHRlbnNpb24tc3VwZXJzY3JpcHQnLCAoKSA9PiAoeyBfX2VzTW9kdWxlOiB0cnVlLCBkZWZhdWx0OiB7fSB9KSk7XG5qZXN0Lm1vY2soJ0B0aXB0YXAvZXh0ZW5zaW9uLXN1YnNjcmlwdCcsICgpID0+ICh7IF9fZXNNb2R1bGU6IHRydWUsIGRlZmF1bHQ6IHt9IH0pKTtcbmplc3QubW9jaygnQHRpcHRhcC9leHRlbnNpb24tdGV4dC1hbGlnbicsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0sXG59KSk7XG5qZXN0Lm1vY2soJ0B0aXB0YXAvZXh0ZW5zaW9uLWltYWdlJywgKCkgPT4gKHsgX19lc01vZHVsZTogdHJ1ZSwgZGVmYXVsdDoge30gfSkpO1xuamVzdC5tb2NrKCdAdGlwdGFwL2V4dGVuc2lvbi10YWJsZScsICgpID0+ICh7IF9fZXNNb2R1bGU6IHRydWUsIGRlZmF1bHQ6IHt9IH0pKTtcbmplc3QubW9jaygnQHRpcHRhcC9leHRlbnNpb24tdGFibGUtcm93JywgKCkgPT4gKHsgVGFibGVSb3c6IHt9IH0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9leHRlbmRlZC10YWJsZS1jZWxsJywgKCkgPT4gKHtcbiAgRXh0ZW5kZWRUYWJsZUNlbGw6IHt9LFxuICBFeHRlbmRlZFRhYmxlSGVhZGVyOiB7fSxcbn0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9leHRlbmRlZC10YWJsZScsICgpID0+ICh7IF9fZXNNb2R1bGU6IHRydWUsIGRlZmF1bHQ6IHt9IH0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9lbnN1cmUtZW1wdHktcm9vdC1kaXYnLCAoKSA9PiAoeyBFbnN1cmVFbXB0eVJvb3RJc0Rpdjoge30gfSkpO1xuamVzdC5tb2NrKCcuLi9leHRlbnNpb25zL2V4dGVuZGVkLWxpc3QtaXRlbScsICgpID0+ICh7IEV4dGVuZGVkTGlzdEl0ZW06IHt9IH0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9lbnN1cmUtbGlzdC1pdGVtLWNvbnRlbnQtaXMtZGl2JywgKCkgPT4gKHsgRW5zdXJlTGlzdEl0ZW1Db250ZW50SXNEaXY6IHt9IH0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9yZXNwb25zZUFyZWEnLCAoKSA9PiAoe1xuICBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlOiB7IGNvbmZpZ3VyZTogamVzdC5mbigoKSA9PiAoe30pKSB9LFxuICBEcmFnSW5UaGVCbGFua05vZGU6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0sXG4gIElubGluZURyb3Bkb3duTm9kZTogeyBjb25maWd1cmU6IGplc3QuZm4oKCkgPT4gKHt9KSkgfSxcbiAgUmVzcG9uc2VBcmVhRXh0ZW5zaW9uOiB7IGNvbmZpZ3VyZTogamVzdC5mbigoKSA9PiAoe30pKSB9LFxufSkpO1xuamVzdC5tb2NrKCcuLi9leHRlbnNpb25zL21hdGgnLCAoKSA9PiAoeyBNYXRoTm9kZTogeyBjb25maWd1cmU6IGplc3QuZm4oKCkgPT4gKHt9KSkgfSB9KSk7XG5qZXN0Lm1vY2soJy4uL2V4dGVuc2lvbnMvaW1hZ2UnLCAoKSA9PiAoeyBJbWFnZVVwbG9hZE5vZGU6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0gfSkpO1xuamVzdC5tb2NrKCcuLi9leHRlbnNpb25zL21lZGlhJywgKCkgPT4gKHsgTWVkaWE6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0gfSkpO1xuamVzdC5tb2NrKCcuLi9leHRlbnNpb25zL2NzcycsICgpID0+ICh7IENTU01hcms6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0gfSkpO1xuamVzdC5tb2NrKCcuLi9jb21wb25lbnRzL1RpcHRhcENvbnRhaW5lcicsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6ICh7IGNoaWxkcmVuIH0pID0+IDxkaXYgZGF0YS10ZXN0aWQ9XCJlZGl0b3ItY29udGFpbmVyXCI+e2NoaWxkcmVufTwvZGl2Pixcbn0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucycsICgpID0+ICh7XG4gIGJ1aWxkRXh0ZW5zaW9uczogamVzdC5mbigoKSA9PiBbXSksXG4gIEFMTF9QTFVHSU5TOiBbXG4gICAgJ2JvbGQnLFxuICAgICdodG1sJyxcbiAgICAnZXh0cmFDU1NSdWxlcycsXG4gICAgJ2l0YWxpYycsXG4gICAgJ3VuZGVybGluZScsXG4gICAgJ3N0cmlrZXRocm91Z2gnLFxuICAgICdidWxsZXRlZC1saXN0JyxcbiAgICAnbnVtYmVyZWQtbGlzdCcsXG4gICAgJ2ltYWdlJyxcbiAgICAnbWF0aCcsXG4gICAgJ2xhbmd1YWdlQ2hhcmFjdGVycycsXG4gICAgJ3RleHQtYWxpZ24nLFxuICAgICdibG9ja3F1b3RlJyxcbiAgICAnaDMnLFxuICAgICd0YWJsZScsXG4gICAgJ3ZpZGVvJyxcbiAgICAnYXVkaW8nLFxuICAgICdyZXNwb25zZUFyZWEnLFxuICAgICdyZWRvJyxcbiAgICAndW5kbycsXG4gICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAnc3Vic2NyaXB0JyxcbiAgXSxcbiAgREVGQVVMVF9QTFVHSU5TOiBbXG4gICAgJ2JvbGQnLFxuICAgICdodG1sJyxcbiAgICAnZXh0cmFDU1NSdWxlcycsXG4gICAgJ2l0YWxpYycsXG4gICAgJ3VuZGVybGluZScsXG4gICAgJ3N0cmlrZXRocm91Z2gnLFxuICAgICdidWxsZXRlZC1saXN0JyxcbiAgICAnbnVtYmVyZWQtbGlzdCcsXG4gICAgJ2ltYWdlJyxcbiAgICAnbWF0aCcsXG4gICAgJ2xhbmd1YWdlQ2hhcmFjdGVycycsXG4gICAgJ3RleHQtYWxpZ24nLFxuICAgICd0YWJsZScsXG4gICAgJ3ZpZGVvJyxcbiAgICAnYXVkaW8nLFxuICAgICdyZWRvJyxcbiAgICAndW5kbycsXG4gICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAnc3Vic2NyaXB0JyxcbiAgXSxcbn0pKTtcblxuZGVzY3JpYmUoJ2VkaXRhYmxlLWh0bWwtdGlwLXRhcCBtb2R1bGUnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdleHBvcnRzJywgKCkgPT4ge1xuICAgIGl0KCdleHBvcnRzIFN0eWxlZEVkaXRvciBhcyBkZWZhdWx0JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFN0eWxlZEVkaXRvcikudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdleHBvcnRzIEVkaXRhYmxlSHRtbCBhcyBuYW1lZCBleHBvcnQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRWRpdGFibGVIdG1sKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2V4cG9ydHMgQUxMX1BMVUdJTlMgYXMgbmFtZWQgZXhwb3J0JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KEFMTF9QTFVHSU5TKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KEFycmF5LmlzQXJyYXkoQUxMX1BMVUdJTlMpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2V4cG9ydHMgREVGQVVMVF9QTFVHSU5TIGFzIG5hbWVkIGV4cG9ydCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChERUZBVUxUX1BMVUdJTlMpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QoQXJyYXkuaXNBcnJheShERUZBVUxUX1BMVUdJTlMpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1N0eWxlZEVkaXRvciBhbmQgRWRpdGFibGVIdG1sIHJlZmVyIHRvIHRoZSBzYW1lIGNvbXBvbmVudCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChTdHlsZWRFZGl0b3IpLnRvQmUoRWRpdGFibGVIdG1sKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0FMTF9QTFVHSU5TJywgKCkgPT4ge1xuICAgIGl0KCdjb250YWlucyBleHBlY3RlZCBwbHVnaW5zJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KEFMTF9QTFVHSU5TKS50b0NvbnRhaW4oJ2JvbGQnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdpdGFsaWMnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCd1bmRlcmxpbmUnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdtYXRoJyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbigndGFibGUnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdyZXNwb25zZUFyZWEnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0RFRkFVTFRfUExVR0lOUycsICgpID0+IHtcbiAgICBpdCgnaXMgYSBzdWJzZXQgb2YgQUxMX1BMVUdJTlMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhbGxQbHVnaW5zU2V0ID0gbmV3IFNldChBTExfUExVR0lOUyk7XG4gICAgICBERUZBVUxUX1BMVUdJTlMuZm9yRWFjaCgocGx1Z2luKSA9PiB7XG4gICAgICAgIGV4cGVjdChhbGxQbHVnaW5zU2V0LmhhcyhwbHVnaW4pKS50b0JlKHRydWUpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY29udGFpbnMgYmFzaWMgZm9ybWF0dGluZyBwbHVnaW5zJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KERFRkFVTFRfUExVR0lOUykudG9Db250YWluKCdib2xkJyk7XG4gICAgICBleHBlY3QoREVGQVVMVF9QTFVHSU5TKS50b0NvbnRhaW4oJ2l0YWxpYycpO1xuICAgICAgZXhwZWN0KERFRkFVTFRfUExVR0lOUykudG9Db250YWluKCd1bmRlcmxpbmUnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQW9GLFNBQUFELHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFB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
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _size = require("../utils/size");
|
|
4
|
+
describe('Size Utilities', function () {
|
|
5
|
+
describe('valueToSize', function () {
|
|
6
|
+
it('returns undefined for falsy values', function () {
|
|
7
|
+
expect((0, _size.valueToSize)(null)).toBeUndefined();
|
|
8
|
+
expect((0, _size.valueToSize)(undefined)).toBeUndefined();
|
|
9
|
+
expect((0, _size.valueToSize)('')).toBeUndefined();
|
|
10
|
+
expect((0, _size.valueToSize)(0)).toBeUndefined();
|
|
11
|
+
});
|
|
12
|
+
it('converts number to px string', function () {
|
|
13
|
+
expect((0, _size.valueToSize)(100)).toBe('100px');
|
|
14
|
+
expect((0, _size.valueToSize)(50)).toBe('50px');
|
|
15
|
+
expect((0, _size.valueToSize)(0)).toBeUndefined();
|
|
16
|
+
});
|
|
17
|
+
it('returns undefined for percentage strings', function () {
|
|
18
|
+
expect((0, _size.valueToSize)('100%')).toBeUndefined();
|
|
19
|
+
expect((0, _size.valueToSize)('50%')).toBeUndefined();
|
|
20
|
+
expect((0, _size.valueToSize)('0%')).toBeUndefined();
|
|
21
|
+
});
|
|
22
|
+
it('preserves valid CSS unit strings', function () {
|
|
23
|
+
expect((0, _size.valueToSize)('100px')).toBe('100px');
|
|
24
|
+
expect((0, _size.valueToSize)('10vh')).toBe('10vh');
|
|
25
|
+
expect((0, _size.valueToSize)('50vw')).toBe('50vw');
|
|
26
|
+
expect((0, _size.valueToSize)('9ch')).toBe('9ch');
|
|
27
|
+
expect((0, _size.valueToSize)('2em')).toBe('2em');
|
|
28
|
+
});
|
|
29
|
+
it('preserves calc() expressions', function () {
|
|
30
|
+
expect((0, _size.valueToSize)('calc(10em + 42px)')).toBe('calc(10em + 42px)');
|
|
31
|
+
expect((0, _size.valueToSize)('calc(100% - 20px)')).toBe('calc(100% - 20px)');
|
|
32
|
+
expect((0, _size.valueToSize)('calc(50vh + 10px)')).toBe('calc(50vh + 10px)');
|
|
33
|
+
});
|
|
34
|
+
it('converts numeric strings to px', function () {
|
|
35
|
+
expect((0, _size.valueToSize)('100')).toBe('100px');
|
|
36
|
+
expect((0, _size.valueToSize)('50')).toBe('50px');
|
|
37
|
+
expect((0, _size.valueToSize)('250')).toBe('250px');
|
|
38
|
+
});
|
|
39
|
+
it('handles invalid numeric strings', function () {
|
|
40
|
+
var result = (0, _size.valueToSize)('invalid');
|
|
41
|
+
expect(isNaN(result)).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
it('handles edge cases with whitespace', function () {
|
|
44
|
+
var result = (0, _size.valueToSize)(' ');
|
|
45
|
+
expect(isNaN(result)).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
it('handles negative numbers', function () {
|
|
48
|
+
expect((0, _size.valueToSize)(-100)).toBe('-100px');
|
|
49
|
+
expect((0, _size.valueToSize)('-50')).toBe('-50px');
|
|
50
|
+
});
|
|
51
|
+
it('handles decimal numbers', function () {
|
|
52
|
+
expect((0, _size.valueToSize)(100.5)).toBe('100.5px');
|
|
53
|
+
expect((0, _size.valueToSize)('100.5')).toBe('100px'); // parseInt truncates
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2l6ZSIsInJlcXVpcmUiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwidmFsdWVUb1NpemUiLCJ0b0JlVW5kZWZpbmVkIiwidW5kZWZpbmVkIiwidG9CZSIsInJlc3VsdCIsImlzTmFOIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9zaXplLXV0aWxzLnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmFsdWVUb1NpemUgfSBmcm9tICcuLi91dGlscy9zaXplJztcblxuZGVzY3JpYmUoJ1NpemUgVXRpbGl0aWVzJywgKCkgPT4ge1xuICBkZXNjcmliZSgndmFsdWVUb1NpemUnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgdW5kZWZpbmVkIGZvciBmYWxzeSB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUobnVsbCkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSh1bmRlZmluZWQpKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJycpKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoMCkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdjb252ZXJ0cyBudW1iZXIgdG8gcHggc3RyaW5nJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKDEwMCkpLnRvQmUoJzEwMHB4Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoNTApKS50b0JlKCc1MHB4Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoMCkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZXR1cm5zIHVuZGVmaW5lZCBmb3IgcGVyY2VudGFnZSBzdHJpbmdzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMDAlJykpLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnNTAlJykpLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnMCUnKSkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3ByZXNlcnZlcyB2YWxpZCBDU1MgdW5pdCBzdHJpbmdzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMDBweCcpKS50b0JlKCcxMDBweCcpO1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMHZoJykpLnRvQmUoJzEwdmgnKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnNTB2dycpKS50b0JlKCc1MHZ3Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJzljaCcpKS50b0JlKCc5Y2gnKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnMmVtJykpLnRvQmUoJzJlbScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3ByZXNlcnZlcyBjYWxjKCkgZXhwcmVzc2lvbnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJ2NhbGMoMTBlbSArIDQycHgpJykpLnRvQmUoJ2NhbGMoMTBlbSArIDQycHgpJyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJ2NhbGMoMTAwJSAtIDIwcHgpJykpLnRvQmUoJ2NhbGMoMTAwJSAtIDIwcHgpJyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJ2NhbGMoNTB2aCArIDEwcHgpJykpLnRvQmUoJ2NhbGMoNTB2aCArIDEwcHgpJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnY29udmVydHMgbnVtZXJpYyBzdHJpbmdzIHRvIHB4JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMDAnKSkudG9CZSgnMTAwcHgnKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnNTAnKSkudG9CZSgnNTBweCcpO1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcyNTAnKSkudG9CZSgnMjUwcHgnKTtcbiAgICB9KTtcblxuICAgIGl0KCdoYW5kbGVzIGludmFsaWQgbnVtZXJpYyBzdHJpbmdzJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdmFsdWVUb1NpemUoJ2ludmFsaWQnKTtcbiAgICAgIGV4cGVjdChpc05hTihyZXN1bHQpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgZWRnZSBjYXNlcyB3aXRoIHdoaXRlc3BhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSB2YWx1ZVRvU2l6ZSgnICAnKTtcbiAgICAgIGV4cGVjdChpc05hTihyZXN1bHQpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgbmVnYXRpdmUgbnVtYmVycycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgtMTAwKSkudG9CZSgnLTEwMHB4Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJy01MCcpKS50b0JlKCctNTBweCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgZGVjaW1hbCBudW1iZXJzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKDEwMC41KSkudG9CZSgnMTAwLjVweCcpO1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMDAuNScpKS50b0JlKCcxMDBweCcpOyAvLyBwYXJzZUludCB0cnVuY2F0ZXNcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFFQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFlBQU07RUFDL0JBLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBTTtJQUM1QkMsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLFlBQU07TUFDN0NDLE1BQU0sQ0FBQyxJQUFBQyxpQkFBVyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUNDLGFBQWEsQ0FBQyxDQUFDO01BQ3pDRixNQUFNLENBQUMsSUFBQUMsaUJBQVcsRUFBQ0UsU0FBUyxDQUFD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
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _react2 = require("@testing-library/react");
|
|
9
|
+
var _EditableHtml = require("../components/EditableHtml");
|
|
10
|
+
var renderEditor = function renderEditor(props) {
|
|
11
|
+
return (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({
|
|
12
|
+
markup: "<p>teh</p>",
|
|
13
|
+
onChange: function onChange() {},
|
|
14
|
+
pluginProps: {}
|
|
15
|
+
}, props)));
|
|
16
|
+
};
|
|
17
|
+
var prosemirror = function prosemirror(container) {
|
|
18
|
+
return container.querySelector('.ProseMirror');
|
|
19
|
+
};
|
|
20
|
+
var waitForEditor = /*#__PURE__*/function () {
|
|
21
|
+
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(container) {
|
|
22
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
23
|
+
while (1) switch (_context.prev = _context.next) {
|
|
24
|
+
case 0:
|
|
25
|
+
_context.next = 1;
|
|
26
|
+
return (0, _react2.waitFor)(function () {
|
|
27
|
+
expect(prosemirror(container)).toBeInTheDocument();
|
|
28
|
+
});
|
|
29
|
+
case 1:
|
|
30
|
+
case "end":
|
|
31
|
+
return _context.stop();
|
|
32
|
+
}
|
|
33
|
+
}, _callee);
|
|
34
|
+
}));
|
|
35
|
+
return function waitForEditor(_x) {
|
|
36
|
+
return _ref.apply(this, arguments);
|
|
37
|
+
};
|
|
38
|
+
}();
|
|
39
|
+
describe('spellCheck', function () {
|
|
40
|
+
it('turns off browser spellcheck on the contenteditable when spellCheck is false', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
41
|
+
var _renderEditor, container;
|
|
42
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
43
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
44
|
+
case 0:
|
|
45
|
+
_renderEditor = renderEditor({
|
|
46
|
+
spellCheck: false
|
|
47
|
+
}), container = _renderEditor.container;
|
|
48
|
+
_context2.next = 1;
|
|
49
|
+
return waitForEditor(container);
|
|
50
|
+
case 1:
|
|
51
|
+
expect(prosemirror(container).getAttribute('spellcheck')).toBe('false');
|
|
52
|
+
expect(prosemirror(container).getAttribute('autocorrect')).toBe('off');
|
|
53
|
+
expect(prosemirror(container).getAttribute('autocapitalize')).toBe('off');
|
|
54
|
+
case 2:
|
|
55
|
+
case "end":
|
|
56
|
+
return _context2.stop();
|
|
57
|
+
}
|
|
58
|
+
}, _callee2);
|
|
59
|
+
})));
|
|
60
|
+
it('leaves browser spellcheck on when spellCheck is true', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
61
|
+
var _renderEditor2, container;
|
|
62
|
+
return _regenerator["default"].wrap(function (_context3) {
|
|
63
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
64
|
+
case 0:
|
|
65
|
+
_renderEditor2 = renderEditor({
|
|
66
|
+
spellCheck: true
|
|
67
|
+
}), container = _renderEditor2.container;
|
|
68
|
+
_context3.next = 1;
|
|
69
|
+
return waitForEditor(container);
|
|
70
|
+
case 1:
|
|
71
|
+
expect(prosemirror(container).getAttribute('spellcheck')).toBe('true');
|
|
72
|
+
case 2:
|
|
73
|
+
case "end":
|
|
74
|
+
return _context3.stop();
|
|
75
|
+
}
|
|
76
|
+
}, _callee3);
|
|
77
|
+
})));
|
|
78
|
+
it('keeps the browser default when spellCheck is not provided', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
79
|
+
var _renderEditor3, container;
|
|
80
|
+
return _regenerator["default"].wrap(function (_context4) {
|
|
81
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
_renderEditor3 = renderEditor(), container = _renderEditor3.container;
|
|
84
|
+
_context4.next = 1;
|
|
85
|
+
return waitForEditor(container);
|
|
86
|
+
case 1:
|
|
87
|
+
expect(prosemirror(container).getAttribute('spellcheck')).toBe('true');
|
|
88
|
+
case 2:
|
|
89
|
+
case "end":
|
|
90
|
+
return _context4.stop();
|
|
91
|
+
}
|
|
92
|
+
}, _callee4);
|
|
93
|
+
})));
|
|
94
|
+
it('updates the contenteditable when spellCheck changes on an existing editor', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
95
|
+
var _renderEditor4, container, rerender;
|
|
96
|
+
return _regenerator["default"].wrap(function (_context5) {
|
|
97
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
98
|
+
case 0:
|
|
99
|
+
_renderEditor4 = renderEditor({
|
|
100
|
+
spellCheck: true
|
|
101
|
+
}), container = _renderEditor4.container, rerender = _renderEditor4.rerender;
|
|
102
|
+
_context5.next = 1;
|
|
103
|
+
return waitForEditor(container);
|
|
104
|
+
case 1:
|
|
105
|
+
expect(prosemirror(container).getAttribute('spellcheck')).toBe('true');
|
|
106
|
+
rerender(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, {
|
|
107
|
+
markup: "<p>teh</p>",
|
|
108
|
+
onChange: function onChange() {},
|
|
109
|
+
pluginProps: {},
|
|
110
|
+
spellCheck: false
|
|
111
|
+
}));
|
|
112
|
+
_context5.next = 2;
|
|
113
|
+
return (0, _react2.waitFor)(function () {
|
|
114
|
+
expect(prosemirror(container).getAttribute('spellcheck')).toBe('false');
|
|
115
|
+
});
|
|
116
|
+
case 2:
|
|
117
|
+
case "end":
|
|
118
|
+
return _context5.stop();
|
|
119
|
+
}
|
|
120
|
+
}, _callee5);
|
|
121
|
+
})));
|
|
122
|
+
it('keeps spellcheck off for a disabled (read-only) editor', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
123
|
+
var _renderEditor5, container;
|
|
124
|
+
return _regenerator["default"].wrap(function (_context6) {
|
|
125
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
126
|
+
case 0:
|
|
127
|
+
_renderEditor5 = renderEditor({
|
|
128
|
+
spellCheck: false,
|
|
129
|
+
disabled: true
|
|
130
|
+
}), container = _renderEditor5.container;
|
|
131
|
+
_context6.next = 1;
|
|
132
|
+
return waitForEditor(container);
|
|
133
|
+
case 1:
|
|
134
|
+
expect(prosemirror(container).getAttribute('spellcheck')).toBe('false');
|
|
135
|
+
case 2:
|
|
136
|
+
case "end":
|
|
137
|
+
return _context6.stop();
|
|
138
|
+
}
|
|
139
|
+
}, _callee6);
|
|
140
|
+
})));
|
|
141
|
+
});
|
|
142
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfRWRpdGFibGVIdG1sIiwicmVuZGVyRWRpdG9yIiwicHJvcHMiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiRWRpdGFibGVIdG1sIiwiX2V4dGVuZHMyIiwibWFya3VwIiwib25DaGFuZ2UiLCJwbHVnaW5Qcm9wcyIsInByb3NlbWlycm9yIiwiY29udGFpbmVyIiwicXVlcnlTZWxlY3RvciIsIndhaXRGb3JFZGl0b3IiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIndhaXRGb3IiLCJleHBlY3QiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiZGVzY3JpYmUiLCJpdCIsIl9jYWxsZWUyIiwiX3JlbmRlckVkaXRvciIsIl9jb250ZXh0MiIsInNwZWxsQ2hlY2siLCJnZXRBdHRyaWJ1dGUiLCJ0b0JlIiwiX2NhbGxlZTMiLCJfcmVuZGVyRWRpdG9yMiIsIl9jb250ZXh0MyIsIl9jYWxsZWU0IiwiX3JlbmRlckVkaXRvcjMiLCJfY29udGV4dDQiLCJfY2FsbGVlNSIsIl9yZW5kZXJFZGl0b3I0IiwicmVyZW5kZXIiLCJfY29udGV4dDUiLCJfY2FsbGVlNiIsIl9yZW5kZXJFZGl0b3I1IiwiX2NvbnRleHQ2IiwiZGlzYWJsZWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL3NwZWxsY2hlY2sudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgd2FpdEZvciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHsgRWRpdGFibGVIdG1sIH0gZnJvbSAnLi4vY29tcG9uZW50cy9FZGl0YWJsZUh0bWwnO1xuXG5jb25zdCByZW5kZXJFZGl0b3IgPSAocHJvcHMpID0+XG4gIHJlbmRlcig8RWRpdGFibGVIdG1sIG1hcmt1cD1cIjxwPnRlaDwvcD5cIiBvbkNoYW5nZT17KCkgPT4ge319IHBsdWdpblByb3BzPXt7fX0gey4uLnByb3BzfSAvPik7XG5cbmNvbnN0IHByb3NlbWlycm9yID0gKGNvbnRhaW5lcikgPT4gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5Qcm9zZU1pcnJvcicpO1xuXG5jb25zdCB3YWl0Rm9yRWRpdG9yID0gYXN5bmMgKGNvbnRhaW5lcikgPT4ge1xuICBhd2FpdCB3YWl0Rm9yKCgpID0+IHtcbiAgICBleHBlY3QocHJvc2VtaXJyb3IoY29udGFpbmVyKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG59O1xuXG5kZXNjcmliZSgnc3BlbGxDaGVjaycsICgpID0+IHtcbiAgaXQoJ3R1cm5zIG9mZiBicm93c2VyIHNwZWxsY2hlY2sgb24gdGhlIGNvbnRlbnRlZGl0YWJsZSB3aGVuIHNwZWxsQ2hlY2sgaXMgZmFsc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckVkaXRvcih7IHNwZWxsQ2hlY2s6IGZhbHNlIH0pO1xuXG4gICAgYXdhaXQgd2FpdEZvckVkaXRvcihjb250YWluZXIpO1xuXG4gICAgZXhwZWN0KHByb3NlbWlycm9yKGNvbnRhaW5lcikuZ2V0QXR0cmlidXRlKCdzcGVsbGNoZWNrJykpLnRvQmUoJ2ZhbHNlJyk7XG4gICAgZXhwZWN0KHByb3NlbWlycm9yKGNvbnRhaW5lcikuZ2V0QXR0cmlidXRlKCdhdXRvY29ycmVjdCcpKS50b0JlKCdvZmYnKTtcbiAgICBleHBlY3QocHJvc2VtaXJyb3IoY29udGFpbmVyKS5nZXRBdHRyaWJ1dGUoJ2F1dG9jYXBpdGFsaXplJykpLnRvQmUoJ29mZicpO1xuICB9KTtcblxuICBpdCgnbGVhdmVzIGJyb3dzZXIgc3BlbGxjaGVjayBvbiB3aGVuIHNwZWxsQ2hlY2sgaXMgdHJ1ZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyRWRpdG9yKHsgc3BlbGxDaGVjazogdHJ1ZSB9KTtcblxuICAgIGF3YWl0IHdhaXRGb3JFZGl0b3IoY29udGFpbmVyKTtcblxuICAgIGV4cGVjdChwcm9zZW1pcnJvcihjb250YWluZXIpLmdldEF0dHJpYnV0ZSgnc3BlbGxjaGVjaycpKS50b0JlKCd0cnVlJyk7XG4gIH0pO1xuXG4gIGl0KCdrZWVwcyB0aGUgYnJvd3NlciBkZWZhdWx0IHdoZW4gc3BlbGxDaGVjayBpcyBub3QgcHJvdmlkZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckVkaXRvcigpO1xuXG4gICAgYXdhaXQgd2FpdEZvckVkaXRvcihjb250YWluZXIpO1xuXG4gICAgZXhwZWN0KHByb3NlbWlycm9yKGNvbnRhaW5lcikuZ2V0QXR0cmlidXRlKCdzcGVsbGNoZWNrJykpLnRvQmUoJ3RydWUnKTtcbiAgfSk7XG5cbiAgaXQoJ3VwZGF0ZXMgdGhlIGNvbnRlbnRlZGl0YWJsZSB3aGVuIHNwZWxsQ2hlY2sgY2hhbmdlcyBvbiBhbiBleGlzdGluZyBlZGl0b3InLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIsIHJlcmVuZGVyIH0gPSByZW5kZXJFZGl0b3IoeyBzcGVsbENoZWNrOiB0cnVlIH0pO1xuXG4gICAgYXdhaXQgd2FpdEZvckVkaXRvcihjb250YWluZXIpO1xuICAgIGV4cGVjdChwcm9zZW1pcnJvcihjb250YWluZXIpLmdldEF0dHJpYnV0ZSgnc3BlbGxjaGVjaycpKS50b0JlKCd0cnVlJyk7XG5cbiAgICByZXJlbmRlcig8RWRpdGFibGVIdG1sIG1hcmt1cD1cIjxwPnRlaDwvcD5cIiBvbkNoYW5nZT17KCkgPT4ge319IHBsdWdpblByb3BzPXt7fX0gc3BlbGxDaGVjaz17ZmFsc2V9IC8+KTtcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgICAgZXhwZWN0KHByb3NlbWlycm9yKGNvbnRhaW5lcikuZ2V0QXR0cmlidXRlKCdzcGVsbGNoZWNrJykpLnRvQmUoJ2ZhbHNlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdrZWVwcyBzcGVsbGNoZWNrIG9mZiBmb3IgYSBkaXNhYmxlZCAocmVhZC1vbmx5KSBlZGl0b3InLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckVkaXRvcih7IHNwZWxsQ2hlY2s6IGZhbHNlLCBkaXNhYmxlZDogdHJ1ZSB9KTtcblxuICAgIGF3YWl0IHdhaXRGb3JFZGl0b3IoY29udGFpbmVyKTtcblxuICAgIGV4cGVjdChwcm9zZW1pcnJvcihjb250YWluZXIpLmdldEF0dHJpYnV0ZSgnc3BlbGxjaGVjaycpKS50b0JlKCdmYWxzZScpO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFNRyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSUMsS0FBSztFQUFBLE9BQ3pCLElBQUFDLGNBQU0sZUFBQ1AsTUFBQSxZQUFBUSxhQUFBLENBQUNKLGFBQUEsQ0FBQUssWUFBWSxNQUFBQyxTQUFBO0lBQUNDLE1BQU0sRUFBQyxZQUFZO0lBQUNDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBLEVBQVEsQ0FBQyxDQUFFO0lBQUNDLFdBQVcsRUFBRSxDQUFDO0VBQUUsR0FBS1AsS0FBSyxDQUFHLENBQUMsQ0FBQztBQUFBO0FBRTlGLElBQU1RLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxTQUFTO0VBQUEsT0FBS0EsU0FBUyxDQUFDQyxhQUFhLENBQUMsY0FBYyxDQUFDO0FBQUE7QUFFMUUsSUFBTUMsYUFBYTtFQUFBLElBQUFDLElBQUEsT0FBQUMsa0JBQUEsMEJBQUFDLFlBQUEsWUFBQUMs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
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _theme = require("../theme");
|
|
4
|
+
describe('Theme', function () {
|
|
5
|
+
describe('primary color', function () {
|
|
6
|
+
it('is defined', function () {
|
|
7
|
+
expect(_theme.primary).toBeDefined();
|
|
8
|
+
});
|
|
9
|
+
it('has the correct hex value', function () {
|
|
10
|
+
expect(_theme.primary).toBe('#304ffe');
|
|
11
|
+
});
|
|
12
|
+
it('is a valid hex color', function () {
|
|
13
|
+
expect(_theme.primary).toMatch(/^#[0-9A-Fa-f]{6}$/);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGhlbWUiLCJyZXF1aXJlIiwiZGVzY3JpYmUiLCJpdCIsImV4cGVjdCIsInByaW1hcnkiLCJ0b0JlRGVmaW5lZCIsInRvQmUiLCJ0b01hdGNoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy90aGVtZS50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByaW1hcnkgfSBmcm9tICcuLi90aGVtZSc7XG5cbmRlc2NyaWJlKCdUaGVtZScsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3ByaW1hcnkgY29sb3InLCAoKSA9PiB7XG4gICAgaXQoJ2lzIGRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QocHJpbWFyeSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdoYXMgdGhlIGNvcnJlY3QgaGV4IHZhbHVlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHByaW1hcnkpLnRvQmUoJyMzMDRmZmUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBhIHZhbGlkIGhleCBjb2xvcicsICgpID0+IHtcbiAgICAgIGV4cGVjdChwcmltYXJ5KS50b01hdGNoKC9eI1swLTlBLUZhLWZdezZ9JC8pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQU07RUFDdEJBLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtJQUM5QkMsRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFNO01BQ3JCQyxNQUFNLENBQUNDLGNBQU8sQ0FBQyxDQUFDQyxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUM7SUFFRkgsRUFBRSxDQUFDLDJCQUEyQixFQUFFLFlBQU07TUFDcENDLE1BQU0sQ0FBQ0MsY0FBTyxDQUFDLENBQUNFLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDakMsQ0FBQyxDQUFDO0lBRUZKLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxZQUFNO01BQy9CQyxNQUFNLENBQUNDLGNBQU8sQ0FBQyxDQUFDRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7SUFDOUMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|