@pie-lib/editable-html-tip-tap 2.2.0-beta.7 → 2.2.0-beta.9

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 (139) hide show
  1. package/package.json +3 -3
  2. package/lib/__tests__/EditableHtml.test.js +0 -831
  3. package/lib/__tests__/EditableHtml.test.js.map +0 -1
  4. package/lib/__tests__/constants.test.js +0 -21
  5. package/lib/__tests__/constants.test.js.map +0 -1
  6. package/lib/__tests__/div-to-paragraph-conversion.test.js +0 -213
  7. package/lib/__tests__/div-to-paragraph-conversion.test.js.map +0 -1
  8. package/lib/__tests__/extensions.test.js +0 -209
  9. package/lib/__tests__/extensions.test.js.map +0 -1
  10. package/lib/__tests__/index.test.js +0 -250
  11. package/lib/__tests__/index.test.js.map +0 -1
  12. package/lib/__tests__/size-utils.test.js +0 -57
  13. package/lib/__tests__/size-utils.test.js.map +0 -1
  14. package/lib/__tests__/theme.test.js +0 -17
  15. package/lib/__tests__/theme.test.js.map +0 -1
  16. package/lib/components/__tests__/AltDialog.test.js +0 -201
  17. package/lib/components/__tests__/AltDialog.test.js.map +0 -1
  18. package/lib/components/__tests__/CharacterPicker.test.js +0 -455
  19. package/lib/components/__tests__/CharacterPicker.test.js.map +0 -1
  20. package/lib/components/__tests__/CssIcon.test.js +0 -58
  21. package/lib/components/__tests__/CssIcon.test.js.map +0 -1
  22. package/lib/components/__tests__/DragInTheBlank.test.js +0 -295
  23. package/lib/components/__tests__/DragInTheBlank.test.js.map +0 -1
  24. package/lib/components/__tests__/ExplicitConstructedResponse.test.js +0 -345
  25. package/lib/components/__tests__/ExplicitConstructedResponse.test.js.map +0 -1
  26. package/lib/components/__tests__/ImageToolbar.test.js +0 -185
  27. package/lib/components/__tests__/ImageToolbar.test.js.map +0 -1
  28. package/lib/components/__tests__/InlineDropdown.test.js +0 -839
  29. package/lib/components/__tests__/InlineDropdown.test.js.map +0 -1
  30. package/lib/components/__tests__/InsertImageHandler.test.js +0 -171
  31. package/lib/components/__tests__/InsertImageHandler.test.js.map +0 -1
  32. package/lib/components/__tests__/MediaDialog.test.js +0 -433
  33. package/lib/components/__tests__/MediaDialog.test.js.map +0 -1
  34. package/lib/components/__tests__/MediaToolbar.test.js +0 -126
  35. package/lib/components/__tests__/MediaToolbar.test.js.map +0 -1
  36. package/lib/components/__tests__/MediaWrapper.test.js +0 -96
  37. package/lib/components/__tests__/MediaWrapper.test.js.map +0 -1
  38. package/lib/components/__tests__/MenuBar.test.js +0 -502
  39. package/lib/components/__tests__/MenuBar.test.js.map +0 -1
  40. package/lib/components/__tests__/RespArea.test.js +0 -171
  41. package/lib/components/__tests__/RespArea.test.js.map +0 -1
  42. package/lib/components/__tests__/TableIcons.test.js +0 -153
  43. package/lib/components/__tests__/TableIcons.test.js.map +0 -1
  44. package/lib/components/__tests__/TextAlign.test.js +0 -209
  45. package/lib/components/__tests__/TextAlign.test.js.map +0 -1
  46. package/lib/components/__tests__/TiptapContainer.test.js +0 -196
  47. package/lib/components/__tests__/TiptapContainer.test.js.map +0 -1
  48. package/lib/components/__tests__/characterUtils.test.js +0 -178
  49. package/lib/components/__tests__/characterUtils.test.js.map +0 -1
  50. package/lib/components/__tests__/choice.test.js +0 -213
  51. package/lib/components/__tests__/choice.test.js.map +0 -1
  52. package/lib/components/__tests__/custom-popper.test.js +0 -108
  53. package/lib/components/__tests__/custom-popper.test.js.map +0 -1
  54. package/lib/components/__tests__/done-button.test.js +0 -72
  55. package/lib/components/__tests__/done-button.test.js.map +0 -1
  56. package/lib/components/__tests__/toolbar-buttons.test.js +0 -277
  57. package/lib/components/__tests__/toolbar-buttons.test.js.map +0 -1
  58. package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js +0 -90
  59. package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js.map +0 -1
  60. package/lib/components/respArea/__tests__/MathTemplated.test.js +0 -217
  61. package/lib/components/respArea/__tests__/MathTemplated.test.js.map +0 -1
  62. package/lib/extensions/__tests__/css.test.js +0 -214
  63. package/lib/extensions/__tests__/css.test.js.map +0 -1
  64. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +0 -175
  65. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js.map +0 -1
  66. package/lib/extensions/__tests__/divNode.test.js +0 -108
  67. package/lib/extensions/__tests__/divNode.test.js.map +0 -1
  68. package/lib/extensions/__tests__/ensure-empty-root-div.test.js +0 -50
  69. package/lib/extensions/__tests__/ensure-empty-root-div.test.js.map +0 -1
  70. package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js +0 -60
  71. package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js.map +0 -1
  72. package/lib/extensions/__tests__/extended-list-item.test.js +0 -13
  73. package/lib/extensions/__tests__/extended-list-item.test.js.map +0 -1
  74. package/lib/extensions/__tests__/extended-table-cell.test.js +0 -15
  75. package/lib/extensions/__tests__/extended-table-cell.test.js.map +0 -1
  76. package/lib/extensions/__tests__/extended-table.test.js +0 -200
  77. package/lib/extensions/__tests__/extended-table.test.js.map +0 -1
  78. package/lib/extensions/__tests__/image-component.test.js +0 -432
  79. package/lib/extensions/__tests__/image-component.test.js.map +0 -1
  80. package/lib/extensions/__tests__/image.test.js +0 -313
  81. package/lib/extensions/__tests__/image.test.js.map +0 -1
  82. package/lib/extensions/__tests__/math.test.js +0 -1411
  83. package/lib/extensions/__tests__/math.test.js.map +0 -1
  84. package/lib/extensions/__tests__/media-node-view.test.js +0 -307
  85. package/lib/extensions/__tests__/media-node-view.test.js.map +0 -1
  86. package/lib/extensions/__tests__/media.test.js +0 -292
  87. package/lib/extensions/__tests__/media.test.js.map +0 -1
  88. package/lib/extensions/__tests__/responseArea.test.js +0 -736
  89. package/lib/extensions/__tests__/responseArea.test.js.map +0 -1
  90. package/lib/utils/__tests__/helper.test.js +0 -107
  91. package/lib/utils/__tests__/helper.test.js.map +0 -1
  92. package/lib/utils/__tests__/toolbar.test.js +0 -38
  93. package/lib/utils/__tests__/toolbar.test.js.map +0 -1
  94. package/src/__tests__/EditableHtml.test.jsx +0 -588
  95. package/src/__tests__/constants.test.js +0 -19
  96. package/src/__tests__/div-to-paragraph-conversion.test.jsx +0 -125
  97. package/src/__tests__/extensions.test.js +0 -208
  98. package/src/__tests__/index.test.jsx +0 -154
  99. package/src/__tests__/size-utils.test.js +0 -64
  100. package/src/__tests__/theme.test.js +0 -17
  101. package/src/components/__tests__/AltDialog.test.jsx +0 -147
  102. package/src/components/__tests__/CharacterPicker.test.jsx +0 -270
  103. package/src/components/__tests__/CssIcon.test.jsx +0 -46
  104. package/src/components/__tests__/DragInTheBlank.test.jsx +0 -255
  105. package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +0 -209
  106. package/src/components/__tests__/ImageToolbar.test.jsx +0 -128
  107. package/src/components/__tests__/InlineDropdown.test.jsx +0 -557
  108. package/src/components/__tests__/InsertImageHandler.test.js +0 -161
  109. package/src/components/__tests__/MediaDialog.test.jsx +0 -293
  110. package/src/components/__tests__/MediaToolbar.test.jsx +0 -74
  111. package/src/components/__tests__/MediaWrapper.test.jsx +0 -81
  112. package/src/components/__tests__/MenuBar.test.jsx +0 -250
  113. package/src/components/__tests__/RespArea.test.jsx +0 -122
  114. package/src/components/__tests__/TableIcons.test.jsx +0 -149
  115. package/src/components/__tests__/TextAlign.test.jsx +0 -167
  116. package/src/components/__tests__/TiptapContainer.test.jsx +0 -138
  117. package/src/components/__tests__/characterUtils.test.js +0 -166
  118. package/src/components/__tests__/choice.test.jsx +0 -171
  119. package/src/components/__tests__/custom-popper.test.jsx +0 -82
  120. package/src/components/__tests__/done-button.test.jsx +0 -54
  121. package/src/components/__tests__/toolbar-buttons.test.jsx +0 -234
  122. package/src/components/respArea/DragInTheBlank/__tests__/choice.test.jsx +0 -72
  123. package/src/components/respArea/__tests__/MathTemplated.test.jsx +0 -210
  124. package/src/extensions/__tests__/css.test.js +0 -196
  125. package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +0 -180
  126. package/src/extensions/__tests__/divNode.test.js +0 -87
  127. package/src/extensions/__tests__/ensure-empty-root-div.test.js +0 -57
  128. package/src/extensions/__tests__/ensure-list-item-content-is-div.test.js +0 -44
  129. package/src/extensions/__tests__/extended-list-item.test.js +0 -13
  130. package/src/extensions/__tests__/extended-table-cell.test.js +0 -22
  131. package/src/extensions/__tests__/extended-table.test.js +0 -183
  132. package/src/extensions/__tests__/image-component.test.jsx +0 -346
  133. package/src/extensions/__tests__/image.test.js +0 -237
  134. package/src/extensions/__tests__/math.test.js +0 -900
  135. package/src/extensions/__tests__/media-node-view.test.jsx +0 -298
  136. package/src/extensions/__tests__/media.test.js +0 -271
  137. package/src/extensions/__tests__/responseArea.test.js +0 -655
  138. package/src/utils/__tests__/helper.test.js +0 -126
  139. package/src/utils/__tests__/toolbar.test.js +0 -43
@@ -1,96 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _react = _interopRequireDefault(require("react"));
5
- var _react2 = require("@testing-library/react");
6
- var _MediaWrapper = _interopRequireDefault(require("../media/MediaWrapper"));
7
- describe('MediaWrapper', function () {
8
- it('renders without crashing', function () {
9
- var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], null, "Content")),
10
- container = _render.container;
11
- expect(container).toBeInTheDocument();
12
- });
13
- it('renders children', function () {
14
- var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], null, /*#__PURE__*/_react["default"].createElement("div", null, "Test Content"))),
15
- getByText = _render2.getByText;
16
- expect(getByText('Test Content')).toBeInTheDocument();
17
- });
18
- it('applies default width of 300', function () {
19
- var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], null, "Content")),
20
- container = _render3.container;
21
- var wrapper = container.firstChild;
22
- expect(wrapper).toHaveStyle({
23
- width: '300px'
24
- });
25
- });
26
- it('applies custom width from props', function () {
27
- var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], {
28
- width: 500
29
- }, "Content")),
30
- container = _render4.container;
31
- var wrapper = container.firstChild;
32
- expect(wrapper).toHaveStyle({
33
- width: '500px'
34
- });
35
- });
36
- it('applies string width', function () {
37
- var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], {
38
- width: "50%"
39
- }, "Content")),
40
- container = _render5.container;
41
- var wrapper = container.firstChild;
42
- expect(wrapper).toHaveStyle({
43
- width: '50%'
44
- });
45
- });
46
- it('applies editor styles when editor prop is true', function () {
47
- var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], {
48
- editor: true
49
- }, "Content")),
50
- container = _render6.container;
51
- var wrapper = container.firstChild;
52
- expect(wrapper).toHaveStyle({
53
- display: 'inline-block',
54
- overflow: 'hidden'
55
- });
56
- });
57
- it('does not apply editor styles when editor prop is false', function () {
58
- var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], {
59
- editor: false
60
- }, "Content")),
61
- container = _render7.container;
62
- var wrapper = container.firstChild;
63
- expect(wrapper).not.toHaveStyle({
64
- display: 'inline-block'
65
- });
66
- });
67
- it('has relative positioning', function () {
68
- var _render8 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], null, "Content")),
69
- container = _render8.container;
70
- var wrapper = container.firstChild;
71
- expect(wrapper).toHaveStyle({
72
- position: 'relative'
73
- });
74
- });
75
- it('renders multiple children', function () {
76
- var _render9 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], null, /*#__PURE__*/_react["default"].createElement("div", null, "First"), /*#__PURE__*/_react["default"].createElement("div", null, "Second"))),
77
- getByText = _render9.getByText;
78
- expect(getByText('First')).toBeInTheDocument();
79
- expect(getByText('Second')).toBeInTheDocument();
80
- });
81
- it('passes additional props through', function () {
82
- var _render0 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], {
83
- "data-testid": "custom",
84
- className: "custom-class"
85
- }, "Content")),
86
- container = _render0.container;
87
- var wrapper = container.firstChild;
88
- expect(wrapper).toHaveAttribute('data-testid', 'custom');
89
- });
90
- it('renders without children', function () {
91
- var _render1 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MediaWrapper["default"], null)),
92
- container = _render1.container;
93
- expect(container.firstChild).toBeInTheDocument();
94
- });
95
- });
96
- //# sourceMappingURL=MediaWrapper.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MediaWrapper.test.js","names":["_react","_interopRequireDefault","require","_react2","_MediaWrapper","describe","it","_render","render","createElement","container","expect","toBeInTheDocument","_render2","getByText","_render3","wrapper","firstChild","toHaveStyle","width","_render4","_render5","_render6","editor","display","overflow","_render7","not","_render8","position","_render9","_render0","className","toHaveAttribute","_render1"],"sources":["../../../src/components/__tests__/MediaWrapper.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport MediaWrapper from '../media/MediaWrapper';\n\ndescribe('MediaWrapper', () => {\n it('renders without crashing', () => {\n const { container } = render(<MediaWrapper>Content</MediaWrapper>);\n expect(container).toBeInTheDocument();\n });\n\n it('renders children', () => {\n const { getByText } = render(\n <MediaWrapper>\n <div>Test Content</div>\n </MediaWrapper>,\n );\n expect(getByText('Test Content')).toBeInTheDocument();\n });\n\n it('applies default width of 300', () => {\n const { container } = render(<MediaWrapper>Content</MediaWrapper>);\n const wrapper = container.firstChild;\n expect(wrapper).toHaveStyle({ width: '300px' });\n });\n\n it('applies custom width from props', () => {\n const { container } = render(<MediaWrapper width={500}>Content</MediaWrapper>);\n const wrapper = container.firstChild;\n expect(wrapper).toHaveStyle({ width: '500px' });\n });\n\n it('applies string width', () => {\n const { container } = render(<MediaWrapper width=\"50%\">Content</MediaWrapper>);\n const wrapper = container.firstChild;\n expect(wrapper).toHaveStyle({ width: '50%' });\n });\n\n it('applies editor styles when editor prop is true', () => {\n const { container } = render(<MediaWrapper editor={true}>Content</MediaWrapper>);\n const wrapper = container.firstChild;\n expect(wrapper).toHaveStyle({ display: 'inline-block', overflow: 'hidden' });\n });\n\n it('does not apply editor styles when editor prop is false', () => {\n const { container } = render(<MediaWrapper editor={false}>Content</MediaWrapper>);\n const wrapper = container.firstChild;\n expect(wrapper).not.toHaveStyle({ display: 'inline-block' });\n });\n\n it('has relative positioning', () => {\n const { container } = render(<MediaWrapper>Content</MediaWrapper>);\n const wrapper = container.firstChild;\n expect(wrapper).toHaveStyle({ position: 'relative' });\n });\n\n it('renders multiple children', () => {\n const { getByText } = render(\n <MediaWrapper>\n <div>First</div>\n <div>Second</div>\n </MediaWrapper>,\n );\n expect(getByText('First')).toBeInTheDocument();\n expect(getByText('Second')).toBeInTheDocument();\n });\n\n it('passes additional props through', () => {\n const { container } = render(\n <MediaWrapper data-testid=\"custom\" className=\"custom-class\">\n Content\n </MediaWrapper>,\n );\n const wrapper = container.firstChild;\n expect(wrapper).toHaveAttribute('data-testid', 'custom');\n });\n\n it('renders without children', () => {\n const { container } = render(<MediaWrapper />);\n expect(container.firstChild).toBeInTheDocument();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,502 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
- var _react = _interopRequireDefault(require("react"));
6
- var _react2 = require("@testing-library/react");
7
- var _MenuBar = _interopRequireDefault(require("../MenuBar"));
8
- jest.mock('@tiptap/react', function () {
9
- return {
10
- EditorContent: function EditorContent(_ref) {
11
- var editor = _ref.editor;
12
- return /*#__PURE__*/_react["default"].createElement("div", {
13
- "data-testid": "editor-content"
14
- });
15
- },
16
- useEditorState: function useEditorState(_ref2) {
17
- var selector = _ref2.selector;
18
- var mockEditor = {
19
- isActive: jest.fn(function () {
20
- return false;
21
- }),
22
- can: jest.fn(function () {
23
- return {
24
- chain: jest.fn(function () {
25
- return {
26
- toggleBold: jest.fn(function () {
27
- return {
28
- run: jest.fn(function () {
29
- return true;
30
- })
31
- };
32
- }),
33
- insertTable: jest.fn(function () {
34
- return {
35
- run: jest.fn(function () {
36
- return true;
37
- })
38
- };
39
- }),
40
- toggleItalic: jest.fn(function () {
41
- return {
42
- run: jest.fn(function () {
43
- return true;
44
- })
45
- };
46
- }),
47
- toggleStrike: jest.fn(function () {
48
- return {
49
- run: jest.fn(function () {
50
- return true;
51
- })
52
- };
53
- }),
54
- toggleCode: jest.fn(function () {
55
- return {
56
- run: jest.fn(function () {
57
- return true;
58
- })
59
- };
60
- }),
61
- unsetAllMarks: jest.fn(function () {
62
- return {
63
- run: jest.fn(function () {
64
- return true;
65
- })
66
- };
67
- }),
68
- undo: jest.fn(function () {
69
- return {
70
- run: jest.fn(function () {
71
- return true;
72
- })
73
- };
74
- }),
75
- redo: jest.fn(function () {
76
- return {
77
- run: jest.fn(function () {
78
- return true;
79
- })
80
- };
81
- })
82
- };
83
- })
84
- };
85
- }),
86
- getAttributes: jest.fn(function () {
87
- return {
88
- border: '1'
89
- };
90
- }),
91
- commandManager: {},
92
- isFocused: true,
93
- state: {
94
- selection: {}
95
- }
96
- };
97
- return selector({
98
- editor: mockEditor
99
- });
100
- }
101
- };
102
- });
103
- jest.mock('prosemirror-state', function () {
104
- return {
105
- NodeSelection: jest.fn()
106
- };
107
- });
108
- jest.mock('../CharacterPicker', function () {
109
- return {
110
- CharacterIcon: function CharacterIcon(_ref3) {
111
- var letter = _ref3.letter;
112
- return /*#__PURE__*/_react["default"].createElement("div", {
113
- "data-testid": "character-icon"
114
- }, letter);
115
- },
116
- CharacterPicker: function CharacterPicker(_ref4) {
117
- var onClose = _ref4.onClose;
118
- return /*#__PURE__*/_react["default"].createElement("div", {
119
- "data-testid": "character-picker"
120
- }, /*#__PURE__*/_react["default"].createElement("button", {
121
- onClick: onClose,
122
- "data-testid": "close-picker"
123
- }, "Close"));
124
- }
125
- };
126
- });
127
- jest.mock('../common/done-button', function () {
128
- return {
129
- DoneButton: function DoneButton(_ref5) {
130
- var onClick = _ref5.onClick;
131
- return /*#__PURE__*/_react["default"].createElement("button", {
132
- onClick: onClick,
133
- "data-testid": "done-button"
134
- }, "Done");
135
- }
136
- };
137
- });
138
- describe('StyledMenuBar', function () {
139
- var mockEditor = {
140
- chain: jest.fn(function () {
141
- return {
142
- focus: jest.fn(function () {
143
- return {
144
- insertTable: jest.fn(function () {
145
- return {
146
- run: jest.fn()
147
- };
148
- }),
149
- toggleBold: jest.fn(function () {
150
- return {
151
- run: jest.fn()
152
- };
153
- }),
154
- toggleItalic: jest.fn(function () {
155
- return {
156
- run: jest.fn()
157
- };
158
- }),
159
- toggleStrike: jest.fn(function () {
160
- return {
161
- run: jest.fn()
162
- };
163
- }),
164
- toggleCode: jest.fn(function () {
165
- return {
166
- run: jest.fn()
167
- };
168
- }),
169
- toggleUnderline: jest.fn(function () {
170
- return {
171
- run: jest.fn()
172
- };
173
- }),
174
- toggleSubscript: jest.fn(function () {
175
- return {
176
- run: jest.fn()
177
- };
178
- }),
179
- toggleSuperscript: jest.fn(function () {
180
- return {
181
- run: jest.fn()
182
- };
183
- }),
184
- setImageUploadNode: jest.fn(function () {
185
- return {
186
- run: jest.fn()
187
- };
188
- }),
189
- insertMedia: jest.fn(function () {
190
- return {
191
- run: jest.fn()
192
- };
193
- }),
194
- toggleHeading: jest.fn(function () {
195
- return {
196
- run: jest.fn()
197
- };
198
- }),
199
- insertMath: jest.fn(function () {
200
- return {
201
- run: jest.fn()
202
- };
203
- }),
204
- toggleBulletList: jest.fn(function () {
205
- return {
206
- run: jest.fn()
207
- };
208
- }),
209
- toggleOrderedList: jest.fn(function () {
210
- return {
211
- run: jest.fn()
212
- };
213
- }),
214
- undo: jest.fn(function () {
215
- return {
216
- run: jest.fn()
217
- };
218
- }),
219
- redo: jest.fn(function () {
220
- return {
221
- run: jest.fn()
222
- };
223
- }),
224
- addRowAfter: jest.fn(function () {
225
- return {
226
- run: jest.fn()
227
- };
228
- }),
229
- deleteRow: jest.fn(function () {
230
- return {
231
- run: jest.fn()
232
- };
233
- }),
234
- addColumnAfter: jest.fn(function () {
235
- return {
236
- run: jest.fn()
237
- };
238
- }),
239
- deleteColumn: jest.fn(function () {
240
- return {
241
- run: jest.fn()
242
- };
243
- }),
244
- deleteTable: jest.fn(function () {
245
- return {
246
- run: jest.fn()
247
- };
248
- }),
249
- insertResponseArea: jest.fn(function () {
250
- return {
251
- run: jest.fn()
252
- };
253
- })
254
- };
255
- })
256
- };
257
- }),
258
- can: jest.fn(function () {
259
- return {
260
- chain: jest.fn(function () {
261
- return {
262
- toggleBold: jest.fn(function () {
263
- return {
264
- run: jest.fn(function () {
265
- return true;
266
- })
267
- };
268
- }),
269
- insertTable: jest.fn(function () {
270
- return {
271
- run: jest.fn(function () {
272
- return true;
273
- })
274
- };
275
- }),
276
- undo: jest.fn(function () {
277
- return {
278
- run: jest.fn(function () {
279
- return true;
280
- })
281
- };
282
- }),
283
- redo: jest.fn(function () {
284
- return {
285
- run: jest.fn(function () {
286
- return true;
287
- })
288
- };
289
- })
290
- };
291
- })
292
- };
293
- }),
294
- isActive: jest.fn(function (name) {
295
- if (name === 'bold') return true;
296
- if (name === 'italic') return false;
297
- return false;
298
- }),
299
- getAttributes: jest.fn(function () {
300
- return {
301
- border: '1'
302
- };
303
- }),
304
- getHTML: jest.fn(function () {
305
- return '<p>Test</p>';
306
- }),
307
- commands: {
308
- blur: jest.fn(),
309
- openCSSClassDialog: jest.fn(),
310
- updateAttributes: jest.fn()
311
- },
312
- isFocused: true,
313
- state: {
314
- selection: {}
315
- },
316
- _toolbarOpened: false
317
- };
318
- var defaultProps = {
319
- editor: mockEditor,
320
- activePlugins: ['bold', 'italic', 'underline', 'table'],
321
- toolbarOpts: {},
322
- responseAreaProps: {
323
- type: 'explicit-constructed-response'
324
- }
325
- };
326
- beforeEach(function () {
327
- jest.clearAllMocks();
328
- });
329
- it('renders without crashing', function () {
330
- var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], defaultProps)),
331
- container = _render.container;
332
- expect(container).toBeInTheDocument();
333
- });
334
- it('renders toolbar with buttons', function () {
335
- var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], defaultProps)),
336
- container = _render2.container;
337
- var buttons = container.querySelectorAll('button');
338
- expect(buttons.length).toBeGreaterThan(0);
339
- });
340
- it('shows bold button when bold plugin is active', function () {
341
- var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], defaultProps)),
342
- container = _render3.container;
343
- expect(container).toBeInTheDocument();
344
- });
345
- it('hides buttons when isTable is true', function () {
346
- var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
347
- activePlugins: ['table']
348
- }))),
349
- container = _render4.container;
350
- expect(container).toBeInTheDocument();
351
- });
352
- it('shows table buttons when in table context', function () {
353
- var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
354
- activePlugins: ['table']
355
- }))),
356
- container = _render5.container;
357
- expect(container).toBeInTheDocument();
358
- });
359
- it('handles button clicks', function () {
360
- var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], defaultProps)),
361
- container = _render6.container;
362
- var button = container.querySelector('button');
363
- if (button) {
364
- _react2.fireEvent.click(button);
365
- }
366
- expect(container).toBeInTheDocument();
367
- });
368
- it('shows done button when toolbarOpts.showDone is true', function () {
369
- var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
370
- toolbarOpts: {
371
- showDone: true
372
- },
373
- onChange: jest.fn()
374
- }))),
375
- getByTestId = _render7.getByTestId;
376
- expect(getByTestId('done-button')).toBeInTheDocument();
377
- });
378
- it('does not show done button when toolbarOpts.showDone is false', function () {
379
- var _render8 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
380
- toolbarOpts: {
381
- showDone: false
382
- }
383
- }))),
384
- queryByTestId = _render8.queryByTestId;
385
- expect(queryByTestId('done-button')).not.toBeInTheDocument();
386
- });
387
- it('handles done button click', function () {
388
- var onChange = jest.fn();
389
- var _render9 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
390
- toolbarOpts: {
391
- showDone: true
392
- },
393
- onChange: onChange
394
- }))),
395
- getByTestId = _render9.getByTestId;
396
- _react2.fireEvent.click(getByTestId('done-button'));
397
- expect(onChange).toHaveBeenCalledWith('<p>Test</p>');
398
- expect(mockEditor.commands.blur).toHaveBeenCalled();
399
- });
400
- it('applies custom minWidth from toolbarOpts', function () {
401
- var _render0 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
402
- toolbarOpts: {
403
- minWidth: 500
404
- }
405
- }))),
406
- container = _render0.container;
407
- var toolbar = container.querySelector('.toolbar');
408
- expect(toolbar).toHaveStyle({
409
- minWidth: '500px'
410
- });
411
- });
412
- it('applies hidden class when toolbarOpts.isHidden is true', function () {
413
- var _render1 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
414
- toolbarOpts: {
415
- isHidden: true
416
- }
417
- }))),
418
- container = _render1.container;
419
- var toolbar = container.querySelector('.toolbar');
420
- expect(toolbar).toHaveClass('hidden');
421
- });
422
- it('shows character picker when language character button is clicked', function () {
423
- var _render10 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
424
- activePlugins: ['languageCharacters']
425
- }))),
426
- container = _render10.container,
427
- queryByTestId = _render10.queryByTestId;
428
- expect(queryByTestId('character-picker')).not.toBeInTheDocument();
429
- });
430
- it('applies focused class when editor is focused', function () {
431
- var _render11 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
432
- toolbarOpts: {
433
- alwaysVisible: false
434
- }
435
- }))),
436
- container = _render11.container;
437
- var toolbar = container.querySelector('.toolbar');
438
- expect(toolbar).toHaveClass('focused');
439
- });
440
- it('shows response area button when responseArea plugin is active', function () {
441
- var _render12 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
442
- activePlugins: ['responseArea']
443
- }))),
444
- container = _render12.container;
445
- expect(container).toBeInTheDocument();
446
- });
447
- it('prevents default on mouse down', function () {
448
- var _render13 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], defaultProps)),
449
- container = _render13.container;
450
- var toolbar = container.querySelector('.toolbar');
451
- var event = new MouseEvent('mousedown', {
452
- bubbles: true,
453
- cancelable: true
454
- });
455
- var preventDefaultSpy = jest.spyOn(event, 'preventDefault');
456
- toolbar === null || toolbar === void 0 || toolbar.dispatchEvent(event);
457
- expect(preventDefaultSpy).toHaveBeenCalled();
458
- });
459
- it('calculates hasTextSelectionInTable correctly when selection is not empty in table', function () {
460
- // This test verifies the hasTextSelectionInTable state computation
461
- var _render14 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
462
- activePlugins: ['table', 'bold', 'italic']
463
- }))),
464
- container = _render14.container;
465
- expect(container).toBeInTheDocument();
466
- });
467
- it('hides table manipulation buttons when text is selected in table', function () {
468
- // When hasTextSelectionInTable is true, table row/column buttons should be hidden
469
- var _render15 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
470
- activePlugins: ['table']
471
- }))),
472
- container = _render15.container;
473
- // The component should render but table manipulation buttons should be conditional
474
- expect(container).toBeInTheDocument();
475
- });
476
- it('shows table manipulation buttons when no text is selected in table', function () {
477
- // When hasTextSelectionInTable is false, table row/column buttons should be visible
478
- var _render16 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
479
- activePlugins: ['table']
480
- }))),
481
- container = _render16.container;
482
- expect(container).toBeInTheDocument();
483
- });
484
- it('shows text formatting buttons regardless of table state', function () {
485
- // Bold, italic, etc. should always be visible when their plugin is active
486
- var _render17 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
487
- activePlugins: ['bold', 'italic', 'underline']
488
- }))),
489
- container = _render17.container;
490
- var buttons = container.querySelectorAll('button');
491
- expect(buttons.length).toBeGreaterThan(0);
492
- });
493
- it('does not hide text formatting buttons when in table', function () {
494
- // Verify that the removal of "|| state.isTable" condition works correctly
495
- var _render18 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_MenuBar["default"], (0, _extends2["default"])({}, defaultProps, {
496
- activePlugins: ['table', 'bold', 'italic']
497
- }))),
498
- container = _render18.container;
499
- expect(container).toBeInTheDocument();
500
- });
501
- });
502
- //# sourceMappingURL=MenuBar.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MenuBar.test.js","names":["_react","_interopRequireDefault","require","_react2","_MenuBar","jest","mock","EditorContent","_ref","editor","createElement","useEditorState","_ref2","selector","mockEditor","isActive","fn","can","chain","toggleBold","run","insertTable","toggleItalic","toggleStrike","toggleCode","unsetAllMarks","undo","redo","getAttributes","border","commandManager","isFocused","state","selection","NodeSelection","CharacterIcon","_ref3","letter","CharacterPicker","_ref4","onClose","onClick","DoneButton","_ref5","describe","focus","toggleUnderline","toggleSubscript","toggleSuperscript","setImageUploadNode","insertMedia","toggleHeading","insertMath","toggleBulletList","toggleOrderedList","addRowAfter","deleteRow","addColumnAfter","deleteColumn","deleteTable","insertResponseArea","name","getHTML","commands","blur","openCSSClassDialog","updateAttributes","_toolbarOpened","defaultProps","activePlugins","toolbarOpts","responseAreaProps","type","beforeEach","clearAllMocks","it","_render","render","container","expect","toBeInTheDocument","_render2","buttons","querySelectorAll","length","toBeGreaterThan","_render3","_render4","_extends2","_render5","_render6","button","querySelector","fireEvent","click","_render7","showDone","onChange","getByTestId","_render8","queryByTestId","not","_render9","toHaveBeenCalledWith","toHaveBeenCalled","_render0","minWidth","toolbar","toHaveStyle","_render1","isHidden","toHaveClass","_render10","_render11","alwaysVisible","_render12","_render13","event","MouseEvent","bubbles","cancelable","preventDefaultSpy","spyOn","dispatchEvent","_render14","_render15","_render16","_render17","_render18"],"sources":["../../../src/components/__tests__/MenuBar.test.jsx"],"sourcesContent":["import React from 'react';\nimport { fireEvent, render } from '@testing-library/react';\nimport StyledMenuBar from '../MenuBar';\n\njest.mock('@tiptap/react', () => ({\n EditorContent: ({ editor }) => <div data-testid=\"editor-content\" />,\n useEditorState: ({ selector }) => {\n const mockEditor = {\n isActive: jest.fn(() => false),\n can: jest.fn(() => ({\n chain: jest.fn(() => ({\n toggleBold: jest.fn(() => ({ run: jest.fn(() => true) })),\n insertTable: jest.fn(() => ({ run: jest.fn(() => true) })),\n toggleItalic: jest.fn(() => ({ run: jest.fn(() => true) })),\n toggleStrike: jest.fn(() => ({ run: jest.fn(() => true) })),\n toggleCode: jest.fn(() => ({ run: jest.fn(() => true) })),\n unsetAllMarks: jest.fn(() => ({ run: jest.fn(() => true) })),\n undo: jest.fn(() => ({ run: jest.fn(() => true) })),\n redo: jest.fn(() => ({ run: jest.fn(() => true) })),\n })),\n })),\n getAttributes: jest.fn(() => ({ border: '1' })),\n commandManager: {},\n isFocused: true,\n state: {\n selection: {},\n },\n };\n\n return selector({ editor: mockEditor });\n },\n}));\n\njest.mock('prosemirror-state', () => ({\n NodeSelection: jest.fn(),\n}));\n\njest.mock('../CharacterPicker', () => ({\n CharacterIcon: ({ letter }) => <div data-testid=\"character-icon\">{letter}</div>,\n CharacterPicker: ({ onClose }) => (\n <div data-testid=\"character-picker\">\n <button onClick={onClose} data-testid=\"close-picker\">\n Close\n </button>\n </div>\n ),\n}));\n\njest.mock('../common/done-button', () => ({\n DoneButton: ({ onClick }) => (\n <button onClick={onClick} data-testid=\"done-button\">\n Done\n </button>\n ),\n}));\n\ndescribe('StyledMenuBar', () => {\n const mockEditor = {\n chain: jest.fn(() => ({\n focus: jest.fn(() => ({\n insertTable: jest.fn(() => ({ run: jest.fn() })),\n toggleBold: jest.fn(() => ({ run: jest.fn() })),\n toggleItalic: jest.fn(() => ({ run: jest.fn() })),\n toggleStrike: jest.fn(() => ({ run: jest.fn() })),\n toggleCode: jest.fn(() => ({ run: jest.fn() })),\n toggleUnderline: jest.fn(() => ({ run: jest.fn() })),\n toggleSubscript: jest.fn(() => ({ run: jest.fn() })),\n toggleSuperscript: jest.fn(() => ({ run: jest.fn() })),\n setImageUploadNode: jest.fn(() => ({ run: jest.fn() })),\n insertMedia: jest.fn(() => ({ run: jest.fn() })),\n toggleHeading: jest.fn(() => ({ run: jest.fn() })),\n insertMath: jest.fn(() => ({ run: jest.fn() })),\n toggleBulletList: jest.fn(() => ({ run: jest.fn() })),\n toggleOrderedList: jest.fn(() => ({ run: jest.fn() })),\n undo: jest.fn(() => ({ run: jest.fn() })),\n redo: jest.fn(() => ({ run: jest.fn() })),\n addRowAfter: jest.fn(() => ({ run: jest.fn() })),\n deleteRow: jest.fn(() => ({ run: jest.fn() })),\n addColumnAfter: jest.fn(() => ({ run: jest.fn() })),\n deleteColumn: jest.fn(() => ({ run: jest.fn() })),\n deleteTable: jest.fn(() => ({ run: jest.fn() })),\n insertResponseArea: jest.fn(() => ({ run: jest.fn() })),\n })),\n })),\n can: jest.fn(() => ({\n chain: jest.fn(() => ({\n toggleBold: jest.fn(() => ({ run: jest.fn(() => true) })),\n insertTable: jest.fn(() => ({ run: jest.fn(() => true) })),\n undo: jest.fn(() => ({ run: jest.fn(() => true) })),\n redo: jest.fn(() => ({ run: jest.fn(() => true) })),\n })),\n })),\n isActive: jest.fn((name) => {\n if (name === 'bold') return true;\n if (name === 'italic') return false;\n return false;\n }),\n getAttributes: jest.fn(() => ({ border: '1' })),\n getHTML: jest.fn(() => '<p>Test</p>'),\n commands: {\n blur: jest.fn(),\n openCSSClassDialog: jest.fn(),\n updateAttributes: jest.fn(),\n },\n isFocused: true,\n state: {\n selection: {},\n },\n _toolbarOpened: false,\n };\n\n const defaultProps = {\n editor: mockEditor,\n activePlugins: ['bold', 'italic', 'underline', 'table'],\n toolbarOpts: {},\n responseAreaProps: { type: 'explicit-constructed-response' },\n };\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n it('renders without crashing', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} />);\n expect(container).toBeInTheDocument();\n });\n\n it('renders toolbar with buttons', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} />);\n const buttons = container.querySelectorAll('button');\n expect(buttons.length).toBeGreaterThan(0);\n });\n\n it('shows bold button when bold plugin is active', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} />);\n expect(container).toBeInTheDocument();\n });\n\n it('hides buttons when isTable is true', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} activePlugins={['table']} />);\n expect(container).toBeInTheDocument();\n });\n\n it('shows table buttons when in table context', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} activePlugins={['table']} />);\n expect(container).toBeInTheDocument();\n });\n\n it('handles button clicks', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} />);\n const button = container.querySelector('button');\n if (button) {\n fireEvent.click(button);\n }\n expect(container).toBeInTheDocument();\n });\n\n it('shows done button when toolbarOpts.showDone is true', () => {\n const { getByTestId } = render(\n <StyledMenuBar {...defaultProps} toolbarOpts={{ showDone: true }} onChange={jest.fn()} />,\n );\n expect(getByTestId('done-button')).toBeInTheDocument();\n });\n\n it('does not show done button when toolbarOpts.showDone is false', () => {\n const { queryByTestId } = render(<StyledMenuBar {...defaultProps} toolbarOpts={{ showDone: false }} />);\n expect(queryByTestId('done-button')).not.toBeInTheDocument();\n });\n\n it('handles done button click', () => {\n const onChange = jest.fn();\n const { getByTestId } = render(\n <StyledMenuBar {...defaultProps} toolbarOpts={{ showDone: true }} onChange={onChange} />,\n );\n fireEvent.click(getByTestId('done-button'));\n expect(onChange).toHaveBeenCalledWith('<p>Test</p>');\n expect(mockEditor.commands.blur).toHaveBeenCalled();\n });\n\n it('applies custom minWidth from toolbarOpts', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} toolbarOpts={{ minWidth: 500 }} />);\n const toolbar = container.querySelector('.toolbar');\n expect(toolbar).toHaveStyle({ minWidth: '500px' });\n });\n\n it('applies hidden class when toolbarOpts.isHidden is true', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} toolbarOpts={{ isHidden: true }} />);\n const toolbar = container.querySelector('.toolbar');\n expect(toolbar).toHaveClass('hidden');\n });\n\n it('shows character picker when language character button is clicked', () => {\n const { container, queryByTestId } = render(\n <StyledMenuBar {...defaultProps} activePlugins={['languageCharacters']} />,\n );\n expect(queryByTestId('character-picker')).not.toBeInTheDocument();\n });\n\n it('applies focused class when editor is focused', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} toolbarOpts={{ alwaysVisible: false }} />);\n const toolbar = container.querySelector('.toolbar');\n expect(toolbar).toHaveClass('focused');\n });\n\n it('shows response area button when responseArea plugin is active', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} activePlugins={['responseArea']} />);\n expect(container).toBeInTheDocument();\n });\n\n it('prevents default on mouse down', () => {\n const { container } = render(<StyledMenuBar {...defaultProps} />);\n const toolbar = container.querySelector('.toolbar');\n const event = new MouseEvent('mousedown', { bubbles: true, cancelable: true });\n const preventDefaultSpy = jest.spyOn(event, 'preventDefault');\n toolbar?.dispatchEvent(event);\n expect(preventDefaultSpy).toHaveBeenCalled();\n });\n\n it('calculates hasTextSelectionInTable correctly when selection is not empty in table', () => {\n // This test verifies the hasTextSelectionInTable state computation\n const { container } = render(<StyledMenuBar {...defaultProps} activePlugins={['table', 'bold', 'italic']} />);\n expect(container).toBeInTheDocument();\n });\n\n it('hides table manipulation buttons when text is selected in table', () => {\n // When hasTextSelectionInTable is true, table row/column buttons should be hidden\n const { container } = render(<StyledMenuBar {...defaultProps} activePlugins={['table']} />);\n // The component should render but table manipulation buttons should be conditional\n expect(container).toBeInTheDocument();\n });\n\n it('shows table manipulation buttons when no text is selected in table', () => {\n // When hasTextSelectionInTable is false, table row/column buttons should be visible\n const { container } = render(<StyledMenuBar {...defaultProps} activePlugins={['table']} />);\n expect(container).toBeInTheDocument();\n });\n\n it('shows text formatting buttons regardless of table state', () => {\n // Bold, italic, etc. should always be visible when their plugin is active\n const { container } = render(<StyledMenuBar {...defaultProps} activePlugins={['bold', 'italic', 'underline']} />);\n const buttons = container.querySelectorAll('button');\n expect(buttons.length).toBeGreaterThan(0);\n });\n\n it('does not hide text formatting buttons when in table', () => {\n // Verify that the removal of \"|| state.isTable\" condition works correctly\n const { container } = render(<StyledMenuBar {...defaultProps} activePlugins={['table', 'bold', 'italic']} />);\n expect(container).toBeInTheDocument();\n });\n});\n"],"mappings":"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","ignoreList":[]}