@pie-lib/editable-html-tip-tap 2.1.20-beta.1 → 2.1.20-beta.11

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.
Files changed (94) hide show
  1. package/lib/__tests__/EditableHtml.test.js +831 -0
  2. package/lib/__tests__/constants.test.js +21 -0
  3. package/lib/__tests__/div-to-paragraph-conversion.test.js +213 -0
  4. package/lib/__tests__/extensions.test.js +209 -0
  5. package/lib/__tests__/index.test.js +250 -0
  6. package/lib/__tests__/size-utils.test.js +57 -0
  7. package/lib/__tests__/spellcheck.test.js +142 -0
  8. package/lib/__tests__/theme.test.js +17 -0
  9. package/lib/components/__tests__/AltDialog.test.js +201 -0
  10. package/lib/components/__tests__/CharacterPicker.test.js +455 -0
  11. package/lib/components/__tests__/CssIcon.test.js +58 -0
  12. package/lib/components/__tests__/DragInTheBlank.test.js +295 -0
  13. package/lib/components/__tests__/ExplicitConstructedResponse.test.js +345 -0
  14. package/lib/components/__tests__/ImageToolbar.test.js +185 -0
  15. package/lib/components/__tests__/InlineDropdown.test.js +839 -0
  16. package/lib/components/__tests__/InsertImageHandler.test.js +171 -0
  17. package/lib/components/__tests__/MediaDialog.test.js +433 -0
  18. package/lib/components/__tests__/MediaToolbar.test.js +126 -0
  19. package/lib/components/__tests__/MediaWrapper.test.js +96 -0
  20. package/lib/components/__tests__/MenuBar.test.js +502 -0
  21. package/lib/components/__tests__/RespArea.test.js +171 -0
  22. package/lib/components/__tests__/TableIcons.test.js +153 -0
  23. package/lib/components/__tests__/TextAlign.test.js +209 -0
  24. package/lib/components/__tests__/TiptapContainer.test.js +196 -0
  25. package/lib/components/__tests__/characterUtils.test.js +178 -0
  26. package/lib/components/__tests__/choice.test.js +213 -0
  27. package/lib/components/__tests__/custom-popper.test.js +108 -0
  28. package/lib/components/__tests__/done-button.test.js +72 -0
  29. package/lib/components/__tests__/toolbar-buttons.test.js +277 -0
  30. package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js +90 -0
  31. package/lib/components/respArea/__tests__/MathTemplated.test.js +217 -0
  32. package/lib/extensions/__tests__/css.test.js +214 -0
  33. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +175 -0
  34. package/lib/extensions/__tests__/divNode.test.js +108 -0
  35. package/lib/extensions/__tests__/ensure-empty-root-div.test.js +50 -0
  36. package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js +60 -0
  37. package/lib/extensions/__tests__/extended-list-item.test.js +13 -0
  38. package/lib/extensions/__tests__/extended-table-cell.test.js +15 -0
  39. package/lib/extensions/__tests__/extended-table.test.js +200 -0
  40. package/lib/extensions/__tests__/image-component.test.js +432 -0
  41. package/lib/extensions/__tests__/image.test.js +313 -0
  42. package/lib/extensions/__tests__/math.test.js +1411 -0
  43. package/lib/extensions/__tests__/media-node-view.test.js +307 -0
  44. package/lib/extensions/__tests__/media.test.js +292 -0
  45. package/lib/extensions/__tests__/responseArea.test.js +736 -0
  46. package/lib/utils/__tests__/helper.test.js +107 -0
  47. package/lib/utils/__tests__/toolbar.test.js +38 -0
  48. package/package.json +3 -3
  49. package/src/__tests__/EditableHtml.test.jsx +588 -0
  50. package/src/__tests__/constants.test.js +19 -0
  51. package/src/__tests__/div-to-paragraph-conversion.test.jsx +125 -0
  52. package/src/__tests__/extensions.test.js +208 -0
  53. package/src/__tests__/index.test.jsx +154 -0
  54. package/src/__tests__/size-utils.test.js +64 -0
  55. package/src/__tests__/theme.test.js +17 -0
  56. package/src/components/__tests__/AltDialog.test.jsx +147 -0
  57. package/src/components/__tests__/CharacterPicker.test.jsx +270 -0
  58. package/src/components/__tests__/CssIcon.test.jsx +46 -0
  59. package/src/components/__tests__/DragInTheBlank.test.jsx +255 -0
  60. package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +209 -0
  61. package/src/components/__tests__/ImageToolbar.test.jsx +128 -0
  62. package/src/components/__tests__/InlineDropdown.test.jsx +557 -0
  63. package/src/components/__tests__/InsertImageHandler.test.js +161 -0
  64. package/src/components/__tests__/MediaDialog.test.jsx +293 -0
  65. package/src/components/__tests__/MediaToolbar.test.jsx +74 -0
  66. package/src/components/__tests__/MediaWrapper.test.jsx +81 -0
  67. package/src/components/__tests__/MenuBar.test.jsx +250 -0
  68. package/src/components/__tests__/RespArea.test.jsx +122 -0
  69. package/src/components/__tests__/TableIcons.test.jsx +149 -0
  70. package/src/components/__tests__/TextAlign.test.jsx +167 -0
  71. package/src/components/__tests__/TiptapContainer.test.jsx +138 -0
  72. package/src/components/__tests__/characterUtils.test.js +166 -0
  73. package/src/components/__tests__/choice.test.jsx +171 -0
  74. package/src/components/__tests__/custom-popper.test.jsx +82 -0
  75. package/src/components/__tests__/done-button.test.jsx +54 -0
  76. package/src/components/__tests__/toolbar-buttons.test.jsx +234 -0
  77. package/src/components/respArea/DragInTheBlank/__tests__/choice.test.jsx +72 -0
  78. package/src/components/respArea/__tests__/MathTemplated.test.jsx +210 -0
  79. package/src/extensions/__tests__/css.test.js +196 -0
  80. package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +180 -0
  81. package/src/extensions/__tests__/divNode.test.js +87 -0
  82. package/src/extensions/__tests__/ensure-empty-root-div.test.js +57 -0
  83. package/src/extensions/__tests__/ensure-list-item-content-is-div.test.js +44 -0
  84. package/src/extensions/__tests__/extended-list-item.test.js +13 -0
  85. package/src/extensions/__tests__/extended-table-cell.test.js +22 -0
  86. package/src/extensions/__tests__/extended-table.test.js +183 -0
  87. package/src/extensions/__tests__/image-component.test.jsx +346 -0
  88. package/src/extensions/__tests__/image.test.js +237 -0
  89. package/src/extensions/__tests__/math.test.js +900 -0
  90. package/src/extensions/__tests__/media-node-view.test.jsx +298 -0
  91. package/src/extensions/__tests__/media.test.js +271 -0
  92. package/src/extensions/__tests__/responseArea.test.js +655 -0
  93. package/src/utils/__tests__/helper.test.js +126 -0
  94. 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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