@pie-lib/editable-html-tip-tap 2.1.20-beta.6 → 2.1.20-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
var _constants = _interopRequireWildcard(require("../constants"));
|
|
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
|
+
describe('Constants', function () {
|
|
7
|
+
describe('PIE_TOOLBAR__CLASS', function () {
|
|
8
|
+
it('is defined', function () {
|
|
9
|
+
expect(_constants.PIE_TOOLBAR__CLASS).toBeDefined();
|
|
10
|
+
});
|
|
11
|
+
it('has the correct value', function () {
|
|
12
|
+
expect(_constants.PIE_TOOLBAR__CLASS).toBe('pie-toolbar');
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
describe('default export', function () {
|
|
16
|
+
it('contains PIE_TOOLBAR__CLASS', function () {
|
|
17
|
+
expect(_constants["default"].PIE_TOOLBAR__CLASS).toBe('pie-toolbar');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29uc3RhbnRzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwiUElFX1RPT0xCQVJfX0NMQVNTIiwidG9CZURlZmluZWQiLCJ0b0JlIiwiY29uc3RhbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9jb25zdGFudHMudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29uc3RhbnRzLCB7IFBJRV9UT09MQkFSX19DTEFTUyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmRlc2NyaWJlKCdDb25zdGFudHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdQSUVfVE9PTEJBUl9fQ0xBU1MnLCAoKSA9PiB7XG4gICAgaXQoJ2lzIGRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoUElFX1RPT0xCQVJfX0NMQVNTKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhcyB0aGUgY29ycmVjdCB2YWx1ZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChQSUVfVE9PTEJBUl9fQ0xBU1MpLnRvQmUoJ3BpZS10b29sYmFyJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdkZWZhdWx0IGV4cG9ydCcsICgpID0+IHtcbiAgICBpdCgnY29udGFpbnMgUElFX1RPT0xCQVJfX0NMQVNTJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KGNvbnN0YW50cy5QSUVfVE9PTEJBUl9fQ0xBU1MpLnRvQmUoJ3BpZS10b29sYmFyJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUE2RCxTQUFBRCx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUosdUJBQUEsWUFBQUEsd0JBQUFFLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTSxFQUFBLEVBQUFQLENBQUEsSUFBQUMsQ0FBQSxDQUFBTSxFQUFBLElBQUFkLENBQUEsQ0FBQWMsRUFBQSxXQUFBTixDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQTtBQUU3RG1CLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtFQUMxQkEsUUFBUSxDQUFDLG9CQUFvQixFQUFFLFlBQU07SUFDbkNDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBTTtNQUNyQkMsTUFBTSxDQUFDQyw2QkFBa0IsQ0FBQyxDQUFDQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUM7SUFFRkgsRUFBRSxDQUFDLHVCQUF1QixFQUFFLFlBQU07TUFDaENDLE1BQU0sQ0FBQ0MsNkJBQWtCLENBQUMsQ0FBQ0UsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNoRCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRkwsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFlBQU07SUFDL0JDLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxZQUFNO01BQ3RDQyxNQUFNLENBQUNJLHFCQUFTLENBQUNILGtCQUFrQixDQUFDLENBQUNFLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDMUQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,213 @@
|
|
|
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 _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _EditableHtml = require("../components/EditableHtml");
|
|
9
|
+
describe('Div to Paragraph Conversion', function () {
|
|
10
|
+
it('converts consecutive divs to paragraph with br tags', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
11
|
+
var markup, _render, container, paragraph, br;
|
|
12
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
13
|
+
while (1) switch (_context.prev = _context.next) {
|
|
14
|
+
case 0:
|
|
15
|
+
markup = '<div>A</div><div>B</div>';
|
|
16
|
+
_render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, {
|
|
17
|
+
markup: markup,
|
|
18
|
+
onChange: function onChange() {},
|
|
19
|
+
pluginProps: {}
|
|
20
|
+
})), container = _render.container; // Wait for the editor to initialize
|
|
21
|
+
_context.next = 1;
|
|
22
|
+
return (0, _react2.waitFor)(function () {
|
|
23
|
+
var prosemirror = container.querySelector('.ProseMirror');
|
|
24
|
+
expect(prosemirror).toBeInTheDocument();
|
|
25
|
+
});
|
|
26
|
+
case 1:
|
|
27
|
+
// Check that the content was converted to a paragraph
|
|
28
|
+
paragraph = container.querySelector('.ProseMirror p');
|
|
29
|
+
expect(paragraph).toBeInTheDocument();
|
|
30
|
+
|
|
31
|
+
// Check that br tag is present
|
|
32
|
+
br = container.querySelector('.ProseMirror p br');
|
|
33
|
+
expect(br).toBeInTheDocument();
|
|
34
|
+
|
|
35
|
+
// Verify the text content
|
|
36
|
+
expect(paragraph.textContent).toBe('AB');
|
|
37
|
+
case 2:
|
|
38
|
+
case "end":
|
|
39
|
+
return _context.stop();
|
|
40
|
+
}
|
|
41
|
+
}, _callee);
|
|
42
|
+
})));
|
|
43
|
+
it('converts three consecutive divs correctly', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
44
|
+
var markup, _render2, container, paragraph, brTags;
|
|
45
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
46
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
47
|
+
case 0:
|
|
48
|
+
markup = '<div>First</div><div>Second</div><div>Third</div>';
|
|
49
|
+
_render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, {
|
|
50
|
+
markup: markup,
|
|
51
|
+
onChange: function onChange() {},
|
|
52
|
+
pluginProps: {}
|
|
53
|
+
})), container = _render2.container;
|
|
54
|
+
_context2.next = 1;
|
|
55
|
+
return (0, _react2.waitFor)(function () {
|
|
56
|
+
var prosemirror = container.querySelector('.ProseMirror');
|
|
57
|
+
expect(prosemirror).toBeInTheDocument();
|
|
58
|
+
});
|
|
59
|
+
case 1:
|
|
60
|
+
paragraph = container.querySelector('.ProseMirror p');
|
|
61
|
+
expect(paragraph).toBeInTheDocument();
|
|
62
|
+
|
|
63
|
+
// Should have 2 br tags (between 3 items)
|
|
64
|
+
brTags = container.querySelectorAll('.ProseMirror p br');
|
|
65
|
+
expect(brTags.length).toBe(2);
|
|
66
|
+
expect(paragraph.textContent).toBe('FirstSecondThird');
|
|
67
|
+
case 2:
|
|
68
|
+
case "end":
|
|
69
|
+
return _context2.stop();
|
|
70
|
+
}
|
|
71
|
+
}, _callee2);
|
|
72
|
+
})));
|
|
73
|
+
it('does not convert single div', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
74
|
+
var markup, _render3, container, div;
|
|
75
|
+
return _regenerator["default"].wrap(function (_context3) {
|
|
76
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
77
|
+
case 0:
|
|
78
|
+
markup = '<div>Single</div>';
|
|
79
|
+
_render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, {
|
|
80
|
+
markup: markup,
|
|
81
|
+
onChange: function onChange() {},
|
|
82
|
+
pluginProps: {}
|
|
83
|
+
})), container = _render3.container;
|
|
84
|
+
_context3.next = 1;
|
|
85
|
+
return (0, _react2.waitFor)(function () {
|
|
86
|
+
var prosemirror = container.querySelector('.ProseMirror');
|
|
87
|
+
expect(prosemirror).toBeInTheDocument();
|
|
88
|
+
});
|
|
89
|
+
case 1:
|
|
90
|
+
// Should remain as a div
|
|
91
|
+
div = container.querySelector('.ProseMirror div');
|
|
92
|
+
expect(div).toBeInTheDocument();
|
|
93
|
+
expect(div.textContent).toBe('Single');
|
|
94
|
+
case 2:
|
|
95
|
+
case "end":
|
|
96
|
+
return _context3.stop();
|
|
97
|
+
}
|
|
98
|
+
}, _callee3);
|
|
99
|
+
})));
|
|
100
|
+
it('does not convert divs with attributes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
101
|
+
var markup, _render4, container, divs;
|
|
102
|
+
return _regenerator["default"].wrap(function (_context4) {
|
|
103
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
104
|
+
case 0:
|
|
105
|
+
markup = '<div class="test">A</div><div>B</div>';
|
|
106
|
+
_render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, {
|
|
107
|
+
markup: markup,
|
|
108
|
+
onChange: function onChange() {},
|
|
109
|
+
pluginProps: {}
|
|
110
|
+
})), container = _render4.container;
|
|
111
|
+
_context4.next = 1;
|
|
112
|
+
return (0, _react2.waitFor)(function () {
|
|
113
|
+
var prosemirror = container.querySelector('.ProseMirror');
|
|
114
|
+
expect(prosemirror).toBeInTheDocument();
|
|
115
|
+
});
|
|
116
|
+
case 1:
|
|
117
|
+
// Should remain as divs since one has an attribute
|
|
118
|
+
divs = container.querySelectorAll('.ProseMirror div');
|
|
119
|
+
expect(divs.length).toBeGreaterThanOrEqual(2);
|
|
120
|
+
case 2:
|
|
121
|
+
case "end":
|
|
122
|
+
return _context4.stop();
|
|
123
|
+
}
|
|
124
|
+
}, _callee4);
|
|
125
|
+
})));
|
|
126
|
+
it('handles divs with inline formatting', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
127
|
+
var markup, _render5, container, paragraph, strong, em;
|
|
128
|
+
return _regenerator["default"].wrap(function (_context5) {
|
|
129
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
130
|
+
case 0:
|
|
131
|
+
markup = '<div><strong>Bold</strong></div><div><em>Italic</em></div>';
|
|
132
|
+
_render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, {
|
|
133
|
+
markup: markup,
|
|
134
|
+
onChange: function onChange() {},
|
|
135
|
+
pluginProps: {}
|
|
136
|
+
})), container = _render5.container;
|
|
137
|
+
_context5.next = 1;
|
|
138
|
+
return (0, _react2.waitFor)(function () {
|
|
139
|
+
var prosemirror = container.querySelector('.ProseMirror');
|
|
140
|
+
expect(prosemirror).toBeInTheDocument();
|
|
141
|
+
});
|
|
142
|
+
case 1:
|
|
143
|
+
// Should be converted to paragraph
|
|
144
|
+
paragraph = container.querySelector('.ProseMirror p');
|
|
145
|
+
expect(paragraph).toBeInTheDocument();
|
|
146
|
+
|
|
147
|
+
// Check that formatting is preserved
|
|
148
|
+
strong = container.querySelector('.ProseMirror p strong');
|
|
149
|
+
em = container.querySelector('.ProseMirror p em');
|
|
150
|
+
expect(strong).toBeInTheDocument();
|
|
151
|
+
expect(em).toBeInTheDocument();
|
|
152
|
+
case 2:
|
|
153
|
+
case "end":
|
|
154
|
+
return _context5.stop();
|
|
155
|
+
}
|
|
156
|
+
}, _callee5);
|
|
157
|
+
})));
|
|
158
|
+
it('does not convert mixed element types', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
159
|
+
var markup, _render6, container, div, p;
|
|
160
|
+
return _regenerator["default"].wrap(function (_context6) {
|
|
161
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
162
|
+
case 0:
|
|
163
|
+
markup = '<div>A</div><p>B</p>';
|
|
164
|
+
_render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, {
|
|
165
|
+
markup: markup,
|
|
166
|
+
onChange: function onChange() {},
|
|
167
|
+
pluginProps: {}
|
|
168
|
+
})), container = _render6.container;
|
|
169
|
+
_context6.next = 1;
|
|
170
|
+
return (0, _react2.waitFor)(function () {
|
|
171
|
+
var prosemirror = container.querySelector('.ProseMirror');
|
|
172
|
+
expect(prosemirror).toBeInTheDocument();
|
|
173
|
+
});
|
|
174
|
+
case 1:
|
|
175
|
+
// Should have both div and paragraph
|
|
176
|
+
div = container.querySelector('.ProseMirror div');
|
|
177
|
+
p = container.querySelector('.ProseMirror p');
|
|
178
|
+
expect(div).toBeInTheDocument();
|
|
179
|
+
expect(p).toBeInTheDocument();
|
|
180
|
+
case 2:
|
|
181
|
+
case "end":
|
|
182
|
+
return _context6.stop();
|
|
183
|
+
}
|
|
184
|
+
}, _callee6);
|
|
185
|
+
})));
|
|
186
|
+
it('does not convert divs with nested block elements', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
187
|
+
var markup, _render7, container, divs;
|
|
188
|
+
return _regenerator["default"].wrap(function (_context7) {
|
|
189
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
190
|
+
case 0:
|
|
191
|
+
markup = '<div><div>Nested</div></div><div>B</div>';
|
|
192
|
+
_render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, {
|
|
193
|
+
markup: markup,
|
|
194
|
+
onChange: function onChange() {},
|
|
195
|
+
pluginProps: {}
|
|
196
|
+
})), container = _render7.container;
|
|
197
|
+
_context7.next = 1;
|
|
198
|
+
return (0, _react2.waitFor)(function () {
|
|
199
|
+
var prosemirror = container.querySelector('.ProseMirror');
|
|
200
|
+
expect(prosemirror).toBeInTheDocument();
|
|
201
|
+
});
|
|
202
|
+
case 1:
|
|
203
|
+
// Should remain as divs
|
|
204
|
+
divs = container.querySelectorAll('.ProseMirror > div');
|
|
205
|
+
expect(divs.length).toBeGreaterThanOrEqual(1);
|
|
206
|
+
case 2:
|
|
207
|
+
case "end":
|
|
208
|
+
return _context7.stop();
|
|
209
|
+
}
|
|
210
|
+
}, _callee7);
|
|
211
|
+
})));
|
|
212
|
+
});
|
|
213
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfRWRpdGFibGVIdG1sIiwiZGVzY3JpYmUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwibWFya3VwIiwiX3JlbmRlciIsImNvbnRhaW5lciIsInBhcmFncmFwaCIsImJyIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiRWRpdGFibGVIdG1sIiwib25DaGFuZ2UiLCJwbHVnaW5Qcm9wcyIsIndhaXRGb3IiLCJwcm9zZW1pcnJvciIsInF1ZXJ5U2VsZWN0b3IiLCJleHBlY3QiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInRleHRDb250ZW50IiwidG9CZSIsInN0b3AiLCJfY2FsbGVlMiIsIl9yZW5kZXIyIiwiYnJUYWdzIiwiX2NvbnRleHQyIiwicXVlcnlTZWxlY3RvckFsbCIsImxlbmd0aCIsIl9jYWxsZWUzIiwiX3JlbmRlcjMiLCJkaXYiLCJfY29udGV4dDMiLCJfY2FsbGVlNCIsIl9yZW5kZXI0IiwiZGl2cyIsIl9jb250ZXh0NCIsInRvQmVHcmVhdGVyVGhhbk9yRXF1YWwiLCJfY2FsbGVlNSIsIl9yZW5kZXI1Iiwic3Ryb25nIiwiZW0iLCJfY29udGV4dDUiLCJfY2FsbGVlNiIsIl9yZW5kZXI2IiwicCIsIl9jb250ZXh0NiIsIl9jYWxsZWU3IiwiX3JlbmRlcjciLCJfY29udGV4dDciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL2Rpdi10by1wYXJhZ3JhcGgtY29udmVyc2lvbi50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyLCB3YWl0Rm9yIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgeyBFZGl0YWJsZUh0bWwgfSBmcm9tICcuLi9jb21wb25lbnRzL0VkaXRhYmxlSHRtbCc7XG5cbmRlc2NyaWJlKCdEaXYgdG8gUGFyYWdyYXBoIENvbnZlcnNpb24nLCAoKSA9PiB7XG4gIGl0KCdjb252ZXJ0cyBjb25zZWN1dGl2ZSBkaXZzIHRvIHBhcmFncmFwaCB3aXRoIGJyIHRhZ3MnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWFya3VwID0gJzxkaXY+QTwvZGl2PjxkaXY+QjwvZGl2Pic7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8RWRpdGFibGVIdG1sIG1hcmt1cD17bWFya3VwfSBvbkNoYW5nZT17KCkgPT4ge319IHBsdWdpblByb3BzPXt7fX0gLz4pO1xuXG4gICAgLy8gV2FpdCBmb3IgdGhlIGVkaXRvciB0byBpbml0aWFsaXplXG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7XG4gICAgICBjb25zdCBwcm9zZW1pcnJvciA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuUHJvc2VNaXJyb3InKTtcbiAgICAgIGV4cGVjdChwcm9zZW1pcnJvcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIC8vIENoZWNrIHRoYXQgdGhlIGNvbnRlbnQgd2FzIGNvbnZlcnRlZCB0byBhIHBhcmFncmFwaFxuICAgIGNvbnN0IHBhcmFncmFwaCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuUHJvc2VNaXJyb3IgcCcpO1xuICAgIGV4cGVjdChwYXJhZ3JhcGgpLnRvQmVJblRoZURvY3VtZW50KCk7XG5cbiAgICAvLyBDaGVjayB0aGF0IGJyIHRhZyBpcyBwcmVzZW50XG4gICAgY29uc3QgYnIgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLlByb3NlTWlycm9yIHAgYnInKTtcbiAgICBleHBlY3QoYnIpLnRvQmVJblRoZURvY3VtZW50KCk7XG5cbiAgICAvLyBWZXJpZnkgdGhlIHRleHQgY29udGVudFxuICAgIGV4cGVjdChwYXJhZ3JhcGgudGV4dENvbnRlbnQpLnRvQmUoJ0FCJyk7XG4gIH0pO1xuXG4gIGl0KCdjb252ZXJ0cyB0aHJlZSBjb25zZWN1dGl2ZSBkaXZzIGNvcnJlY3RseScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtYXJrdXAgPSAnPGRpdj5GaXJzdDwvZGl2PjxkaXY+U2Vjb25kPC9kaXY+PGRpdj5UaGlyZDwvZGl2Pic7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8RWRpdGFibGVIdG1sIG1hcmt1cD17bWFya3VwfSBvbkNoYW5nZT17KCkgPT4ge319IHBsdWdpblByb3BzPXt7fX0gLz4pO1xuXG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7XG4gICAgICBjb25zdCBwcm9zZW1pcnJvciA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuUHJvc2VNaXJyb3InKTtcbiAgICAgIGV4cGVjdChwcm9zZW1pcnJvcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHBhcmFncmFwaCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuUHJvc2VNaXJyb3IgcCcpO1xuICAgIGV4cGVjdChwYXJhZ3JhcGgpLnRvQmVJblRoZURvY3VtZW50KCk7XG5cbiAgICAvLyBTaG91bGQgaGF2ZSAyIGJyIHRhZ3MgKGJldHdlZW4gMyBpdGVtcylcbiAgICBjb25zdCBiclRhZ3MgPSBjb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnLlByb3NlTWlycm9yIHAgYnInKTtcbiAgICBleHBlY3QoYnJUYWdzLmxlbmd0aCkudG9CZSgyKTtcblxuICAgIGV4cGVjdChwYXJhZ3JhcGgudGV4dENvbnRlbnQpLnRvQmUoJ0ZpcnN0U2Vjb25kVGhpcmQnKTtcbiAgfSk7XG5cbiAgaXQoJ2RvZXMgbm90IGNvbnZlcnQgc2luZ2xlIGRpdicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtYXJrdXAgPSAnPGRpdj5TaW5nbGU8L2Rpdj4nO1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEVkaXRhYmxlSHRtbCBtYXJrdXA9e21hcmt1cH0gb25DaGFuZ2U9eygpID0+IHt9fSBwbHVnaW5Qcm9wcz17e319IC8+KTtcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgICAgY29uc3QgcHJvc2VtaXJyb3IgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLlByb3NlTWlycm9yJyk7XG4gICAgICBleHBlY3QocHJvc2VtaXJyb3IpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICAvLyBTaG91bGQgcmVtYWluIGFzIGEgZGl2XG4gICAgY29uc3QgZGl2ID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5Qcm9zZU1pcnJvciBkaXYnKTtcbiAgICBleHBlY3QoZGl2KS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChkaXYudGV4dENvbnRlbnQpLnRvQmUoJ1NpbmdsZScpO1xuICB9KTtcblxuICBpdCgnZG9lcyBub3QgY29udmVydCBkaXZzIHdpdGggYXR0cmlidXRlcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtYXJrdXAgPSAnPGRpdiBjbGFzcz1cInRlc3RcIj5BPC9kaXY+PGRpdj5CPC9kaXY+JztcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxFZGl0YWJsZUh0bWwgbWFya3VwPXttYXJrdXB9IG9uQ2hhbmdlPXsoKSA9PiB7fX0gcGx1Z2luUHJvcHM9e3t9fSAvPik7XG5cbiAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHtcbiAgICAgIGNvbnN0IHByb3NlbWlycm9yID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5Qcm9zZU1pcnJvcicpO1xuICAgICAgZXhwZWN0KHByb3NlbWlycm9yKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgLy8gU2hvdWxkIHJlbWFpbiBhcyBkaXZzIHNpbmNlIG9uZSBoYXMgYW4gYXR0cmlidXRlXG4gICAgY29uc3QgZGl2cyA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuUHJvc2VNaXJyb3IgZGl2Jyk7XG4gICAgZXhwZWN0KGRpdnMubGVuZ3RoKS50b0JlR3JlYXRlclRoYW5PckVxdWFsKDIpO1xuICB9KTtcblxuICBpdCgnaGFuZGxlcyBkaXZzIHdpdGggaW5saW5lIGZvcm1hdHRpbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWFya3VwID0gJzxkaXY+PHN0cm9uZz5Cb2xkPC9zdHJvbmc+PC9kaXY+PGRpdj48ZW0+SXRhbGljPC9lbT48L2Rpdj4nO1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEVkaXRhYmxlSHRtbCBtYXJrdXA9e21hcmt1cH0gb25DaGFuZ2U9eygpID0+IHt9fSBwbHVnaW5Qcm9wcz17e319IC8+KTtcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgICAgY29uc3QgcHJvc2VtaXJyb3IgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLlByb3NlTWlycm9yJyk7XG4gICAgICBleHBlY3QocHJvc2VtaXJyb3IpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICAvLyBTaG91bGQgYmUgY29udmVydGVkIHRvIHBhcmFncmFwaFxuICAgIGNvbnN0IHBhcmFncmFwaCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuUHJvc2VNaXJyb3IgcCcpO1xuICAgIGV4cGVjdChwYXJhZ3JhcGgpLnRvQmVJblRoZURvY3VtZW50KCk7XG5cbiAgICAvLyBDaGVjayB0aGF0IGZvcm1hdHRpbmcgaXMgcHJlc2VydmVkXG4gICAgY29uc3Qgc3Ryb25nID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5Qcm9zZU1pcnJvciBwIHN0cm9uZycpO1xuICAgIGNvbnN0IGVtID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5Qcm9zZU1pcnJvciBwIGVtJyk7XG4gICAgZXhwZWN0KHN0cm9uZykudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICBleHBlY3QoZW0pLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdkb2VzIG5vdCBjb252ZXJ0IG1peGVkIGVsZW1lbnQgdHlwZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWFya3VwID0gJzxkaXY+QTwvZGl2PjxwPkI8L3A+JztcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxFZGl0YWJsZUh0bWwgbWFya3VwPXttYXJrdXB9IG9uQ2hhbmdlPXsoKSA9PiB7fX0gcGx1Z2luUHJvcHM9e3t9fSAvPik7XG5cbiAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHtcbiAgICAgIGNvbnN0IHByb3NlbWlycm9yID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5Qcm9zZU1pcnJvcicpO1xuICAgICAgZXhwZWN0KHByb3NlbWlycm9yKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgLy8gU2hvdWxkIGhhdmUgYm90aCBkaXYgYW5kIHBhcmFncmFwaFxuICAgIGNvbnN0IGRpdiA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuUHJvc2VNaXJyb3IgZGl2Jyk7XG4gICAgY29uc3QgcCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuUHJvc2VNaXJyb3IgcCcpO1xuICAgIGV4cGVjdChkaXYpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KHApLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdkb2VzIG5vdCBjb252ZXJ0IGRpdnMgd2l0aCBuZXN0ZWQgYmxvY2sgZWxlbWVudHMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWFya3VwID0gJzxkaXY+PGRpdj5OZXN0ZWQ8L2Rpdj48L2Rpdj48ZGl2PkI8L2Rpdj4nO1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPEVkaXRhYmxlSHRtbCBtYXJrdXA9e21hcmt1cH0gb25DaGFuZ2U9eygpID0+IHt9fSBwbHVnaW5Qcm9wcz17e319IC8+KTtcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgICAgY29uc3QgcHJvc2VtaXJyb3IgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLlByb3NlTWlycm9yJyk7XG4gICAgICBleHBlY3QocHJvc2VtaXJyb3IpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICAvLyBTaG91bGQgcmVtYWluIGFzIGRpdnNcbiAgICBjb25zdCBkaXZzID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5Qcm9zZU1pcnJvciA+IGRpdicpO1xuICAgIGV4cGVjdChkaXZzLmxlbmd0aCkudG9CZUdyZWF0ZXJUaGFuT3JFcXVhbCgxKTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFFQUcsUUFBUSxDQUFDLDZCQUE2QixFQUFFLFlBQU07RUFDNUNDLEVBQUUsQ0FBQyxxREFBcUQsbUJBQUFDLGtCQUFBLDBCQUFBQyxZQUFBLFlBQUFDLElBQUEsQ0FBRSxTQUFBQyxRQUFBO0lBQUEsSUFBQUMsTUFBQSxFQUFBQyxPQUFBLEVBQUFDLFNBQUEsRUFBQUMsU0FBQSxFQUFBQyxFQUFBO0lBQUEsT0FBQVAsWUFBQSxZQUFBUSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQ2xEUixNQUFNLEdBQUcsMEJBQTBCO1VBQUFDLE9BQUEsR0FDbkIsSUFBQVEsY0FBTSxlQUFDcEIsTUFBQSxZQUFBcUIsYUFBQSxDQUFDakIsYUFBQSxDQUFBa0IsWUFBWTtZQUFDWCxNQUFNLEVBQUVBLE1BQU87WUFBQ1ksUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUEsRUFBUSxDQUFDLENBQUU7WUFBQ0MsV0FBVyxFQUFFLENBQUM7VUFBRSxDQUFFLENBQUMsQ0FBQyxFQUEzRlgsU0FBUyxHQUFBRCxPQUFBLENBQVRDLFNBQVMsRUFFakI7VUFBQUksUUFBQSxDQUFBRSxJQUFBO1VB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
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _extensions = require("../extensions");
|
|
4
|
+
describe('Extensions', function () {
|
|
5
|
+
describe('ALL_PLUGINS', function () {
|
|
6
|
+
it('contains all expected plugins', function () {
|
|
7
|
+
expect(_extensions.ALL_PLUGINS).toContain('bold');
|
|
8
|
+
expect(_extensions.ALL_PLUGINS).toContain('italic');
|
|
9
|
+
expect(_extensions.ALL_PLUGINS).toContain('underline');
|
|
10
|
+
expect(_extensions.ALL_PLUGINS).toContain('strikethrough');
|
|
11
|
+
expect(_extensions.ALL_PLUGINS).toContain('bulleted-list');
|
|
12
|
+
expect(_extensions.ALL_PLUGINS).toContain('numbered-list');
|
|
13
|
+
expect(_extensions.ALL_PLUGINS).toContain('image');
|
|
14
|
+
expect(_extensions.ALL_PLUGINS).toContain('math');
|
|
15
|
+
expect(_extensions.ALL_PLUGINS).toContain('languageCharacters');
|
|
16
|
+
expect(_extensions.ALL_PLUGINS).toContain('text-align');
|
|
17
|
+
expect(_extensions.ALL_PLUGINS).toContain('table');
|
|
18
|
+
expect(_extensions.ALL_PLUGINS).toContain('video');
|
|
19
|
+
expect(_extensions.ALL_PLUGINS).toContain('audio');
|
|
20
|
+
expect(_extensions.ALL_PLUGINS).toContain('responseArea');
|
|
21
|
+
expect(_extensions.ALL_PLUGINS).toContain('superscript');
|
|
22
|
+
expect(_extensions.ALL_PLUGINS).toContain('subscript');
|
|
23
|
+
expect(_extensions.ALL_PLUGINS).toContain('h3');
|
|
24
|
+
expect(_extensions.ALL_PLUGINS).toContain('blockquote');
|
|
25
|
+
expect(_extensions.ALL_PLUGINS).toContain('undo');
|
|
26
|
+
expect(_extensions.ALL_PLUGINS).toContain('redo');
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
describe('DEFAULT_PLUGINS', function () {
|
|
30
|
+
it('excludes responseArea, h3, and blockquote', function () {
|
|
31
|
+
expect(_extensions.DEFAULT_PLUGINS).not.toContain('responseArea');
|
|
32
|
+
expect(_extensions.DEFAULT_PLUGINS).not.toContain('h3');
|
|
33
|
+
expect(_extensions.DEFAULT_PLUGINS).not.toContain('blockquote');
|
|
34
|
+
});
|
|
35
|
+
it('contains basic formatting plugins', function () {
|
|
36
|
+
expect(_extensions.DEFAULT_PLUGINS).toContain('bold');
|
|
37
|
+
expect(_extensions.DEFAULT_PLUGINS).toContain('italic');
|
|
38
|
+
expect(_extensions.DEFAULT_PLUGINS).toContain('underline');
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('buildExtensions', function () {
|
|
42
|
+
it('returns an array when called with default parameters', function () {
|
|
43
|
+
var result = (0, _extensions.buildExtensions)(_extensions.DEFAULT_PLUGINS, [], {});
|
|
44
|
+
expect(Array.isArray(result)).toBe(true);
|
|
45
|
+
});
|
|
46
|
+
it('includes only active extensions', function () {
|
|
47
|
+
var activeExtensions = ['bold', 'italic'];
|
|
48
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
49
|
+
expect(result).toEqual(['bold', 'italic']);
|
|
50
|
+
});
|
|
51
|
+
it('filters out undefined values', function () {
|
|
52
|
+
var result = (0, _extensions.buildExtensions)(['bold', 'italic'], [], {});
|
|
53
|
+
expect(result.every(function (item) {
|
|
54
|
+
return item !== undefined;
|
|
55
|
+
})).toBe(true);
|
|
56
|
+
});
|
|
57
|
+
it('excludes image plugin when opts.image.onDelete is not provided', function () {
|
|
58
|
+
var activeExtensions = ['image'];
|
|
59
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
60
|
+
expect(result).not.toContain('image');
|
|
61
|
+
});
|
|
62
|
+
it('includes image plugin when opts.image.delete is provided', function () {
|
|
63
|
+
var activeExtensions = ['image'];
|
|
64
|
+
var opts = {
|
|
65
|
+
image: {
|
|
66
|
+
"delete": jest.fn()
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], opts);
|
|
70
|
+
expect(result).toContain('image');
|
|
71
|
+
});
|
|
72
|
+
it('excludes math plugin when opts.math is not provided', function () {
|
|
73
|
+
var activeExtensions = ['math'];
|
|
74
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
75
|
+
expect(result).not.toContain('math');
|
|
76
|
+
});
|
|
77
|
+
it('includes math plugin when opts.math is provided', function () {
|
|
78
|
+
var activeExtensions = ['math'];
|
|
79
|
+
var opts = {
|
|
80
|
+
math: {}
|
|
81
|
+
};
|
|
82
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], opts);
|
|
83
|
+
expect(result).toContain('math');
|
|
84
|
+
});
|
|
85
|
+
it('excludes responseArea plugin when opts.responseArea.type is not provided', function () {
|
|
86
|
+
var activeExtensions = ['responseArea'];
|
|
87
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
88
|
+
expect(result).not.toContain('responseArea');
|
|
89
|
+
});
|
|
90
|
+
it('includes responseArea plugin when opts.responseArea.type is provided', function () {
|
|
91
|
+
var activeExtensions = ['responseArea'];
|
|
92
|
+
var opts = {
|
|
93
|
+
responseArea: {
|
|
94
|
+
type: 'explicit-constructed-response'
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], opts);
|
|
98
|
+
expect(result).toContain('responseArea');
|
|
99
|
+
});
|
|
100
|
+
it('excludes css plugin when opts.extraCSSRules is empty', function () {
|
|
101
|
+
var activeExtensions = ['css'];
|
|
102
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {
|
|
103
|
+
extraCSSRules: {}
|
|
104
|
+
});
|
|
105
|
+
expect(result).not.toContain('css');
|
|
106
|
+
});
|
|
107
|
+
it('includes css plugin when opts.extraCSSRules has values', function () {
|
|
108
|
+
var activeExtensions = ['css'];
|
|
109
|
+
var opts = {
|
|
110
|
+
extraCSSRules: {
|
|
111
|
+
color: 'red'
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], opts);
|
|
115
|
+
expect(result).toContain('css');
|
|
116
|
+
});
|
|
117
|
+
it('excludes html plugin when opts.html is not provided', function () {
|
|
118
|
+
var activeExtensions = ['html'];
|
|
119
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
120
|
+
expect(result).not.toContain('html');
|
|
121
|
+
});
|
|
122
|
+
it('includes html plugin when opts.html is provided', function () {
|
|
123
|
+
var activeExtensions = ['html'];
|
|
124
|
+
var opts = {
|
|
125
|
+
html: true
|
|
126
|
+
};
|
|
127
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], opts);
|
|
128
|
+
expect(result).toContain('html');
|
|
129
|
+
});
|
|
130
|
+
it('handles languageCharacters plugins array', function () {
|
|
131
|
+
var activeExtensions = ['languageCharacters'];
|
|
132
|
+
var opts = {
|
|
133
|
+
languageCharacters: [{
|
|
134
|
+
label: 'Greek',
|
|
135
|
+
value: 'greek'
|
|
136
|
+
}, {
|
|
137
|
+
label: 'Cyrillic',
|
|
138
|
+
value: 'cyrillic'
|
|
139
|
+
}]
|
|
140
|
+
};
|
|
141
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], opts);
|
|
142
|
+
// Should include languageCharacters for each item in the array
|
|
143
|
+
var languageCharsCount = result.filter(function (item) {
|
|
144
|
+
return item === 'languageCharacters';
|
|
145
|
+
}).length;
|
|
146
|
+
expect(languageCharsCount).toBe(2);
|
|
147
|
+
});
|
|
148
|
+
it('uses DEFAULT_PLUGINS when activeExtensions is not provided', function () {
|
|
149
|
+
var result = (0, _extensions.buildExtensions)(null, [], {});
|
|
150
|
+
expect(Array.isArray(result)).toBe(true);
|
|
151
|
+
expect(result.length).toBeGreaterThan(0);
|
|
152
|
+
});
|
|
153
|
+
it('includes list plugins', function () {
|
|
154
|
+
var activeExtensions = ['bulleted-list', 'numbered-list'];
|
|
155
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
156
|
+
expect(result).toContain('bulleted-list');
|
|
157
|
+
expect(result).toContain('numbered-list');
|
|
158
|
+
});
|
|
159
|
+
it('includes undo and redo plugins', function () {
|
|
160
|
+
var activeExtensions = ['undo', 'redo'];
|
|
161
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
162
|
+
expect(result).toContain('undo');
|
|
163
|
+
expect(result).toContain('redo');
|
|
164
|
+
});
|
|
165
|
+
it('includes text formatting plugins', function () {
|
|
166
|
+
var activeExtensions = ['superscript', 'subscript', 'strikethrough', 'underline'];
|
|
167
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
168
|
+
expect(result).toContain('superscript');
|
|
169
|
+
expect(result).toContain('subscript');
|
|
170
|
+
expect(result).toContain('strikethrough');
|
|
171
|
+
expect(result).toContain('underline');
|
|
172
|
+
});
|
|
173
|
+
it('includes media plugins', function () {
|
|
174
|
+
var activeExtensions = ['video', 'audio'];
|
|
175
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
176
|
+
expect(result).toContain('video');
|
|
177
|
+
expect(result).toContain('audio');
|
|
178
|
+
});
|
|
179
|
+
it('includes table plugin', function () {
|
|
180
|
+
var activeExtensions = ['table'];
|
|
181
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
182
|
+
expect(result).toContain('table');
|
|
183
|
+
});
|
|
184
|
+
it('includes text-align plugin', function () {
|
|
185
|
+
var activeExtensions = ['text-align'];
|
|
186
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
187
|
+
expect(result).toContain('text-align');
|
|
188
|
+
});
|
|
189
|
+
it('includes blockquote and h3 plugins when in active list', function () {
|
|
190
|
+
var activeExtensions = ['blockquote', 'h3'];
|
|
191
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
192
|
+
expect(result).toContain('blockquote');
|
|
193
|
+
expect(result).toContain('h3');
|
|
194
|
+
});
|
|
195
|
+
it('filters out inactive extensions', function () {
|
|
196
|
+
var activeExtensions = ['bold'];
|
|
197
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
198
|
+
expect(result).not.toContain('italic');
|
|
199
|
+
expect(result).not.toContain('underline');
|
|
200
|
+
});
|
|
201
|
+
it('maintains order of extensions', function () {
|
|
202
|
+
var activeExtensions = ['table', 'bold', 'italic'];
|
|
203
|
+
var result = (0, _extensions.buildExtensions)(activeExtensions, [], {});
|
|
204
|
+
expect(result.indexOf('table')).toBeLessThan(result.indexOf('bold'));
|
|
205
|
+
expect(result.indexOf('bold')).toBeLessThan(result.indexOf('italic'));
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXh0ZW5zaW9ucyIsInJlcXVpcmUiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwiQUxMX1BMVUdJTlMiLCJ0b0NvbnRhaW4iLCJERUZBVUxUX1BMVUdJTlMiLCJub3QiLCJyZXN1bHQiLCJidWlsZEV4dGVuc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJ0b0JlIiwiYWN0aXZlRXh0ZW5zaW9ucyIsInRvRXF1YWwiLCJldmVyeSIsIml0ZW0iLCJ1bmRlZmluZWQiLCJvcHRzIiwiaW1hZ2UiLCJqZXN0IiwiZm4iLCJtYXRoIiwicmVzcG9uc2VBcmVhIiwidHlwZSIsImV4dHJhQ1NTUnVsZXMiLCJjb2xvciIsImh0bWwiLCJsYW5ndWFnZUNoYXJhY3RlcnMiLCJsYWJlbCIsInZhbHVlIiwibGFuZ3VhZ2VDaGFyc0NvdW50IiwiZmlsdGVyIiwibGVuZ3RoIiwidG9CZUdyZWF0ZXJUaGFuIiwiaW5kZXhPZiIsInRvQmVMZXNzVGhhbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZXh0ZW5zaW9ucy50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFMTF9QTFVHSU5TLCBidWlsZEV4dGVuc2lvbnMsIERFRkFVTFRfUExVR0lOUyB9IGZyb20gJy4uL2V4dGVuc2lvbnMnO1xuXG5kZXNjcmliZSgnRXh0ZW5zaW9ucycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ0FMTF9QTFVHSU5TJywgKCkgPT4ge1xuICAgIGl0KCdjb250YWlucyBhbGwgZXhwZWN0ZWQgcGx1Z2lucycsICgpID0+IHtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdib2xkJyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbignaXRhbGljJyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbigndW5kZXJsaW5lJyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbignc3RyaWtldGhyb3VnaCcpO1xuICAgICAgZXhwZWN0KEFMTF9QTFVHSU5TKS50b0NvbnRhaW4oJ2J1bGxldGVkLWxpc3QnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdudW1iZXJlZC1saXN0Jyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbignaW1hZ2UnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdtYXRoJyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbignbGFuZ3VhZ2VDaGFyYWN0ZXJzJyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbigndGV4dC1hbGlnbicpO1xuICAgICAgZXhwZWN0KEFMTF9QTFVHSU5TKS50b0NvbnRhaW4oJ3RhYmxlJyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbigndmlkZW8nKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdhdWRpbycpO1xuICAgICAgZXhwZWN0KEFMTF9QTFVHSU5TKS50b0NvbnRhaW4oJ3Jlc3BvbnNlQXJlYScpO1xuICAgICAgZXhwZWN0KEFMTF9QTFVHSU5TKS50b0NvbnRhaW4oJ3N1cGVyc2NyaXB0Jyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbignc3Vic2NyaXB0Jyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbignaDMnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdibG9ja3F1b3RlJyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbigndW5kbycpO1xuICAgICAgZXhwZWN0KEFMTF9QTFVHSU5TKS50b0NvbnRhaW4oJ3JlZG8nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0RFRkFVTFRfUExVR0lOUycsICgpID0+IHtcbiAgICBpdCgnZXhjbHVkZXMgcmVzcG9uc2VBcmVhLCBoMywgYW5kIGJsb2NrcXVvdGUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoREVGQVVMVF9QTFVHSU5TKS5ub3QudG9Db250YWluKCdyZXNwb25zZUFyZWEnKTtcbiAgICAgIGV4cGVjdChERUZBVUxUX1BMVUdJTlMpLm5vdC50b0NvbnRhaW4oJ2gzJyk7XG4gICAgICBleHBlY3QoREVGQVVMVF9QTFVHSU5TKS5ub3QudG9Db250YWluKCdibG9ja3F1b3RlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnY29udGFpbnMgYmFzaWMgZm9ybWF0dGluZyBwbHVnaW5zJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KERFRkFVTFRfUExVR0lOUykudG9Db250YWluKCdib2xkJyk7XG4gICAgICBleHBlY3QoREVGQVVMVF9QTFVHSU5TKS50b0NvbnRhaW4oJ2l0YWxpYycpO1xuICAgICAgZXhwZWN0KERFRkFVTFRfUExVR0lOUykudG9Db250YWluKCd1bmRlcmxpbmUnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2J1aWxkRXh0ZW5zaW9ucycsICgpID0+IHtcbiAgICBpdCgncmV0dXJucyBhbiBhcnJheSB3aGVuIGNhbGxlZCB3aXRoIGRlZmF1bHQgcGFyYW1ldGVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhERUZBVUxUX1BMVUdJTlMsIFtdLCB7fSk7XG4gICAgICBleHBlY3QoQXJyYXkuaXNBcnJheShyZXN1bHQpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2luY2x1ZGVzIG9ubHkgYWN0aXZlIGV4dGVuc2lvbnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVFeHRlbnNpb25zID0gWydib2xkJywgJ2l0YWxpYyddO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRFeHRlbnNpb25zKGFjdGl2ZUV4dGVuc2lvbnMsIFtdLCB7fSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKFsnYm9sZCcsICdpdGFsaWMnXSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZmlsdGVycyBvdXQgdW5kZWZpbmVkIHZhbHVlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhbJ2JvbGQnLCAnaXRhbGljJ10sIFtdLCB7fSk7XG4gICAgICBleHBlY3QocmVzdWx0LmV2ZXJ5KChpdGVtKSA9PiBpdGVtICE9PSB1bmRlZmluZWQpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2V4Y2x1ZGVzIGltYWdlIHBsdWdpbiB3aGVuIG9wdHMuaW1hZ2Uub25EZWxldGUgaXMgbm90IHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgYWN0aXZlRXh0ZW5zaW9ucyA9IFsnaW1hZ2UnXTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhhY3RpdmVFeHRlbnNpb25zLCBbXSwge30pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQ29udGFpbignaW1hZ2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpbmNsdWRlcyBpbWFnZSBwbHVnaW4gd2hlbiBvcHRzLmltYWdlLmRlbGV0ZSBpcyBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ2ltYWdlJ107XG4gICAgICBjb25zdCBvcHRzID0geyBpbWFnZTogeyBkZWxldGU6IGplc3QuZm4oKSB9IH07XG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZEV4dGVuc2lvbnMoYWN0aXZlRXh0ZW5zaW9ucywgW10sIG9wdHMpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9Db250YWluKCdpbWFnZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2V4Y2x1ZGVzIG1hdGggcGx1Z2luIHdoZW4gb3B0cy5tYXRoIGlzIG5vdCBwcm92aWRlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ21hdGgnXTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhhY3RpdmVFeHRlbnNpb25zLCBbXSwge30pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQ29udGFpbignbWF0aCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2luY2x1ZGVzIG1hdGggcGx1Z2luIHdoZW4gb3B0cy5tYXRoIGlzIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgYWN0aXZlRXh0ZW5zaW9ucyA9IFsnbWF0aCddO1xuICAgICAgY29uc3Qgb3B0cyA9IHsgbWF0aDoge30gfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhhY3RpdmVFeHRlbnNpb25zLCBbXSwgb3B0cyk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0NvbnRhaW4oJ21hdGgnKTtcbiAgICB9KTtcblxuICAgIGl0KCdleGNsdWRlcyByZXNwb25zZUFyZWEgcGx1Z2luIHdoZW4gb3B0cy5yZXNwb25zZUFyZWEudHlwZSBpcyBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVFeHRlbnNpb25zID0gWydyZXNwb25zZUFyZWEnXTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhhY3RpdmVFeHRlbnNpb25zLCBbXSwge30pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQ29udGFpbigncmVzcG9uc2VBcmVhJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaW5jbHVkZXMgcmVzcG9uc2VBcmVhIHBsdWdpbiB3aGVuIG9wdHMucmVzcG9uc2VBcmVhLnR5cGUgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVFeHRlbnNpb25zID0gWydyZXNwb25zZUFyZWEnXTtcbiAgICAgIGNvbnN0IG9wdHMgPSB7IHJlc3BvbnNlQXJlYTogeyB0eXBlOiAnZXhwbGljaXQtY29uc3RydWN0ZWQtcmVzcG9uc2UnIH0gfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhhY3RpdmVFeHRlbnNpb25zLCBbXSwgb3B0cyk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0NvbnRhaW4oJ3Jlc3BvbnNlQXJlYScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2V4Y2x1ZGVzIGNzcyBwbHVnaW4gd2hlbiBvcHRzLmV4dHJhQ1NTUnVsZXMgaXMgZW1wdHknLCAoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVFeHRlbnNpb25zID0gWydjc3MnXTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhhY3RpdmVFeHRlbnNpb25zLCBbXSwgeyBleHRyYUNTU1J1bGVzOiB7fSB9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0NvbnRhaW4oJ2NzcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2luY2x1ZGVzIGNzcyBwbHVnaW4gd2hlbiBvcHRzLmV4dHJhQ1NTUnVsZXMgaGFzIHZhbHVlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ2NzcyddO1xuICAgICAgY29uc3Qgb3B0cyA9IHsgZXh0cmFDU1NSdWxlczogeyBjb2xvcjogJ3JlZCcgfSB9O1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRFeHRlbnNpb25zKGFjdGl2ZUV4dGVuc2lvbnMsIFtdLCBvcHRzKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbignY3NzJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnZXhjbHVkZXMgaHRtbCBwbHVnaW4gd2hlbiBvcHRzLmh0bWwgaXMgbm90IHByb3ZpZGVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgYWN0aXZlRXh0ZW5zaW9ucyA9IFsnaHRtbCddO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRFeHRlbnNpb25zKGFjdGl2ZUV4dGVuc2lvbnMsIFtdLCB7fSk7XG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9Db250YWluKCdodG1sJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaW5jbHVkZXMgaHRtbCBwbHVnaW4gd2hlbiBvcHRzLmh0bWwgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVFeHRlbnNpb25zID0gWydodG1sJ107XG4gICAgICBjb25zdCBvcHRzID0geyBodG1sOiB0cnVlIH07XG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZEV4dGVuc2lvbnMoYWN0aXZlRXh0ZW5zaW9ucywgW10sIG9wdHMpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9Db250YWluKCdodG1sJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFuZGxlcyBsYW5ndWFnZUNoYXJhY3RlcnMgcGx1Z2lucyBhcnJheScsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ2xhbmd1YWdlQ2hhcmFjdGVycyddO1xuICAgICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgICAgbGFuZ3VhZ2VDaGFyYWN0ZXJzOiBbXG4gICAgICAgICAgeyBsYWJlbDogJ0dyZWVrJywgdmFsdWU6ICdncmVlaycgfSxcbiAgICAgICAgICB7IGxhYmVsOiAnQ3lyaWxsaWMnLCB2YWx1ZTogJ2N5cmlsbGljJyB9LFxuICAgICAgICBdLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhhY3RpdmVFeHRlbnNpb25zLCBbXSwgb3B0cyk7XG4gICAgICAvLyBTaG91bGQgaW5jbHVkZSBsYW5ndWFnZUNoYXJhY3RlcnMgZm9yIGVhY2ggaXRlbSBpbiB0aGUgYXJyYXlcbiAgICAgIGNvbnN0IGxhbmd1YWdlQ2hhcnNDb3VudCA9IHJlc3VsdC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gPT09ICdsYW5ndWFnZUNoYXJhY3RlcnMnKS5sZW5ndGg7XG4gICAgICBleHBlY3QobGFuZ3VhZ2VDaGFyc0NvdW50KS50b0JlKDIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3VzZXMgREVGQVVMVF9QTFVHSU5TIHdoZW4gYWN0aXZlRXh0ZW5zaW9ucyBpcyBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZEV4dGVuc2lvbnMobnVsbCwgW10sIHt9KTtcbiAgICAgIGV4cGVjdChBcnJheS5pc0FycmF5KHJlc3VsdCkpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmxlbmd0aCkudG9CZUdyZWF0ZXJUaGFuKDApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2luY2x1ZGVzIGxpc3QgcGx1Z2lucycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ2J1bGxldGVkLWxpc3QnLCAnbnVtYmVyZWQtbGlzdCddO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRFeHRlbnNpb25zKGFjdGl2ZUV4dGVuc2lvbnMsIFtdLCB7fSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0NvbnRhaW4oJ2J1bGxldGVkLWxpc3QnKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbignbnVtYmVyZWQtbGlzdCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2luY2x1ZGVzIHVuZG8gYW5kIHJlZG8gcGx1Z2lucycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ3VuZG8nLCAncmVkbyddO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRFeHRlbnNpb25zKGFjdGl2ZUV4dGVuc2lvbnMsIFtdLCB7fSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0NvbnRhaW4oJ3VuZG8nKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbigncmVkbycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2luY2x1ZGVzIHRleHQgZm9ybWF0dGluZyBwbHVnaW5zJywgKCkgPT4ge1xuICAgICAgY29uc3QgYWN0aXZlRXh0ZW5zaW9ucyA9IFsnc3VwZXJzY3JpcHQnLCAnc3Vic2NyaXB0JywgJ3N0cmlrZXRocm91Z2gnLCAndW5kZXJsaW5lJ107XG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZEV4dGVuc2lvbnMoYWN0aXZlRXh0ZW5zaW9ucywgW10sIHt9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbignc3VwZXJzY3JpcHQnKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbignc3Vic2NyaXB0Jyk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0NvbnRhaW4oJ3N0cmlrZXRocm91Z2gnKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbigndW5kZXJsaW5lJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaW5jbHVkZXMgbWVkaWEgcGx1Z2lucycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ3ZpZGVvJywgJ2F1ZGlvJ107XG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZEV4dGVuc2lvbnMoYWN0aXZlRXh0ZW5zaW9ucywgW10sIHt9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbigndmlkZW8nKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbignYXVkaW8nKTtcbiAgICB9KTtcblxuICAgIGl0KCdpbmNsdWRlcyB0YWJsZSBwbHVnaW4nLCAoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVFeHRlbnNpb25zID0gWyd0YWJsZSddO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRFeHRlbnNpb25zKGFjdGl2ZUV4dGVuc2lvbnMsIFtdLCB7fSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0NvbnRhaW4oJ3RhYmxlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaW5jbHVkZXMgdGV4dC1hbGlnbiBwbHVnaW4nLCAoKSA9PiB7XG4gICAgICBjb25zdCBhY3RpdmVFeHRlbnNpb25zID0gWyd0ZXh0LWFsaWduJ107XG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZEV4dGVuc2lvbnMoYWN0aXZlRXh0ZW5zaW9ucywgW10sIHt9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQ29udGFpbigndGV4dC1hbGlnbicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2luY2x1ZGVzIGJsb2NrcXVvdGUgYW5kIGgzIHBsdWdpbnMgd2hlbiBpbiBhY3RpdmUgbGlzdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ2Jsb2NrcXVvdGUnLCAnaDMnXTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhhY3RpdmVFeHRlbnNpb25zLCBbXSwge30pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9Db250YWluKCdibG9ja3F1b3RlJyk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0NvbnRhaW4oJ2gzJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnZmlsdGVycyBvdXQgaW5hY3RpdmUgZXh0ZW5zaW9ucycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ2JvbGQnXTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkRXh0ZW5zaW9ucyhhY3RpdmVFeHRlbnNpb25zLCBbXSwge30pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQ29udGFpbignaXRhbGljJyk7XG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9Db250YWluKCd1bmRlcmxpbmUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdtYWludGFpbnMgb3JkZXIgb2YgZXh0ZW5zaW9ucycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2ZUV4dGVuc2lvbnMgPSBbJ3RhYmxlJywgJ2JvbGQnLCAnaXRhbGljJ107XG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZEV4dGVuc2lvbnMoYWN0aXZlRXh0ZW5zaW9ucywgW10sIHt9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQuaW5kZXhPZigndGFibGUnKSkudG9CZUxlc3NUaGFuKHJlc3VsdC5pbmRleE9mKCdib2xkJykpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5pbmRleE9mKCdib2xkJykpLnRvQmVMZXNzVGhhbihyZXN1bHQuaW5kZXhPZignaXRhbGljJykpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUVBQyxRQUFR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
|