@digabi/exam-engine-core 22.0.1-alpha.7 → 22.0.2

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 (174) hide show
  1. package/dist/__tests__/EditableGradingInsatruction.test.d.ts +1 -0
  2. package/dist/__tests__/EditableGradingInsatruction.test.d.ts.map +1 -0
  3. package/dist/__tests__/EditableGradingInsatruction.test.js +2 -0
  4. package/dist/__tests__/EditableGradingInsatruction.test.js.map +1 -0
  5. package/dist/__tests__/EditableGradingInstruction.test.js +44 -51
  6. package/dist/__tests__/EditableGradingInstruction.test.js.map +1 -1
  7. package/dist/__tests__/editor/Formula.test.d.ts +2 -0
  8. package/dist/__tests__/editor/Formula.test.d.ts.map +1 -0
  9. package/dist/__tests__/editor/Formula.test.js +43 -0
  10. package/dist/__tests__/editor/Formula.test.js.map +1 -0
  11. package/dist/__tests__/editor/NBSP.test.d.ts +2 -0
  12. package/dist/__tests__/editor/NBSP.test.d.ts.map +1 -0
  13. package/dist/__tests__/editor/NBSP.test.js +59 -0
  14. package/dist/__tests__/editor/NBSP.test.js.map +1 -0
  15. package/dist/__tests__/editor/br.test.d.ts +2 -0
  16. package/dist/__tests__/editor/br.test.d.ts.map +1 -0
  17. package/dist/__tests__/editor/br.test.js +43 -0
  18. package/dist/__tests__/editor/br.test.js.map +1 -0
  19. package/dist/__tests__/editor/hr.test.d.ts +2 -0
  20. package/dist/__tests__/editor/hr.test.d.ts.map +1 -0
  21. package/dist/__tests__/editor/hr.test.js +43 -0
  22. package/dist/__tests__/editor/hr.test.js.map +1 -0
  23. package/dist/__tests__/editor/no-wrap.test.d.ts +2 -0
  24. package/dist/__tests__/editor/no-wrap.test.d.ts.map +1 -0
  25. package/dist/__tests__/editor/no-wrap.test.js +43 -0
  26. package/dist/__tests__/editor/no-wrap.test.js.map +1 -0
  27. package/dist/__tests__/editor/noWrap.test.d.ts +2 -0
  28. package/dist/__tests__/editor/noWrap.test.d.ts.map +1 -0
  29. package/dist/__tests__/editor/noWrap.test.js +62 -0
  30. package/dist/__tests__/editor/noWrap.test.js.map +1 -0
  31. package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
  32. package/dist/__tests__/utils/EditableGradingInstructionsWrapper.d.ts +1 -0
  33. package/dist/__tests__/utils/EditableGradingInstructionsWrapper.d.ts.map +1 -0
  34. package/dist/__tests__/utils/EditableGradingInstructionsWrapper.js +2 -0
  35. package/dist/__tests__/utils/EditableGradingInstructionsWrapper.js.map +1 -0
  36. package/dist/__tests__/utils/renderEditableGradingInstruction.d.ts +2 -0
  37. package/dist/__tests__/utils/renderEditableGradingInstruction.d.ts.map +1 -0
  38. package/dist/__tests__/utils/renderEditableGradingInstruction.js +16 -0
  39. package/dist/__tests__/utils/renderEditableGradingInstruction.js.map +1 -0
  40. package/dist/__tests__/utils/renderEditableGradingInstructions.d.ts +1 -0
  41. package/dist/__tests__/utils/renderEditableGradingInstructions.d.ts.map +1 -0
  42. package/dist/__tests__/utils/renderEditableGradingInstructions.js +2 -0
  43. package/dist/__tests__/utils/renderEditableGradingInstructions.js.map +1 -0
  44. package/dist/components/LexicalEditor.d.ts +3 -0
  45. package/dist/components/LexicalEditor.d.ts.map +1 -0
  46. package/dist/components/LexicalEditor.js +44 -0
  47. package/dist/components/LexicalEditor.js.map +1 -0
  48. package/dist/components/RTE.d.ts +3 -0
  49. package/dist/components/RTE.d.ts.map +1 -0
  50. package/dist/components/RTE.js +23 -0
  51. package/dist/components/RTE.js.map +1 -0
  52. package/dist/components/TablePlugin.d.ts +1 -0
  53. package/dist/components/TablePlugin.d.ts.map +1 -0
  54. package/dist/components/TablePlugin.js +2 -0
  55. package/dist/components/TablePlugin.js.map +1 -0
  56. package/dist/components/ToolBarPlugin.d.ts +10 -0
  57. package/dist/components/ToolBarPlugin.d.ts.map +1 -0
  58. package/dist/components/ToolBarPlugin.js +111 -0
  59. package/dist/components/ToolBarPlugin.js.map +1 -0
  60. package/dist/components/context/AnnotationContext.d.ts +8 -0
  61. package/dist/components/context/AnnotationContext.d.ts.map +1 -0
  62. package/dist/components/context/AnnotationContext.js +3 -0
  63. package/dist/components/context/AnnotationContext.js.map +1 -0
  64. package/dist/components/context/CommonExamContext.d.ts +0 -1
  65. package/dist/components/context/CommonExamContext.d.ts.map +1 -1
  66. package/dist/components/context/CommonExamContext.js +0 -3
  67. package/dist/components/context/CommonExamContext.js.map +1 -1
  68. package/dist/components/exam/ExamineExam.d.ts +5 -0
  69. package/dist/components/exam/ExamineExam.d.ts.map +1 -0
  70. package/dist/components/exam/ExamineExam.js +20 -0
  71. package/dist/components/exam/ExamineExam.js.map +1 -0
  72. package/dist/components/exam/FinishExam.d.ts +5 -0
  73. package/dist/components/exam/FinishExam.d.ts.map +1 -0
  74. package/dist/components/exam/FinishExam.js +17 -0
  75. package/dist/components/exam/FinishExam.js.map +1 -0
  76. package/dist/components/grading/reactAnnotation.d.ts +4 -0
  77. package/dist/components/grading/reactAnnotation.d.ts.map +1 -0
  78. package/dist/components/grading/reactAnnotation.js +54 -0
  79. package/dist/components/grading/reactAnnotation.js.map +1 -0
  80. package/dist/components/grading-instructions/AnswerGradingInstruction.d.ts.map +1 -1
  81. package/dist/components/grading-instructions/AnswerGradingInstruction.js +2 -7
  82. package/dist/components/grading-instructions/AnswerGradingInstruction.js.map +1 -1
  83. package/dist/components/grading-instructions/EditableGradingInstruction.d.ts.map +1 -1
  84. package/dist/components/grading-instructions/EditableGradingInstruction.js +56 -12
  85. package/dist/components/grading-instructions/EditableGradingInstruction.js.map +1 -1
  86. package/dist/components/grading-instructions/ExamGradingInstruction.d.ts.map +1 -1
  87. package/dist/components/grading-instructions/ExamGradingInstruction.js +2 -7
  88. package/dist/components/grading-instructions/ExamGradingInstruction.js.map +1 -1
  89. package/dist/components/grading-instructions/GradingInstructions.d.ts +1 -2
  90. package/dist/components/grading-instructions/GradingInstructions.d.ts.map +1 -1
  91. package/dist/components/grading-instructions/GradingInstructions.js +15 -18
  92. package/dist/components/grading-instructions/GradingInstructions.js.map +1 -1
  93. package/dist/components/grading-instructions/SlateTableEditor.d.ts +22 -0
  94. package/dist/components/grading-instructions/SlateTableEditor.d.ts.map +1 -0
  95. package/dist/components/grading-instructions/SlateTableEditor.js +44 -0
  96. package/dist/components/grading-instructions/SlateTableEditor.js.map +1 -0
  97. package/dist/components/grading-instructions/SlateUtils.d.ts +5 -0
  98. package/dist/components/grading-instructions/SlateUtils.d.ts.map +1 -0
  99. package/dist/components/grading-instructions/SlateUtils.js +28 -0
  100. package/dist/components/grading-instructions/SlateUtils.js.map +1 -0
  101. package/dist/components/grading-instructions/editor/FormatButton.d.ts +4 -2
  102. package/dist/components/grading-instructions/editor/FormatButton.d.ts.map +1 -1
  103. package/dist/components/grading-instructions/editor/FormatButton.js +5 -2
  104. package/dist/components/grading-instructions/editor/FormatButton.js.map +1 -1
  105. package/dist/components/grading-instructions/editor/Formula.d.ts +17 -0
  106. package/dist/components/grading-instructions/editor/Formula.d.ts.map +1 -0
  107. package/dist/components/grading-instructions/editor/Formula.js +81 -0
  108. package/dist/components/grading-instructions/editor/Formula.js.map +1 -0
  109. package/dist/components/grading-instructions/editor/FormulaPopup.d.ts +7 -0
  110. package/dist/components/grading-instructions/editor/FormulaPopup.d.ts.map +1 -0
  111. package/dist/components/grading-instructions/editor/FormulaPopup.js +49 -0
  112. package/dist/components/grading-instructions/editor/FormulaPopup.js.map +1 -0
  113. package/dist/components/grading-instructions/editor/MathPopup.d.ts +10 -0
  114. package/dist/components/grading-instructions/editor/MathPopup.d.ts.map +1 -0
  115. package/dist/components/grading-instructions/editor/MathPopup.js +94 -0
  116. package/dist/components/grading-instructions/editor/MathPopup.js.map +1 -0
  117. package/dist/components/grading-instructions/editor/NBSP.d.ts +4 -0
  118. package/dist/components/grading-instructions/editor/NBSP.d.ts.map +1 -0
  119. package/dist/components/grading-instructions/editor/NBSP.js +17 -0
  120. package/dist/components/grading-instructions/editor/NBSP.js.map +1 -0
  121. package/dist/components/grading-instructions/editor/Table.d.ts.map +1 -1
  122. package/dist/components/grading-instructions/editor/Table.js +24 -5
  123. package/dist/components/grading-instructions/editor/Table.js.map +1 -1
  124. package/dist/components/grading-instructions/editor/math-svg.d.ts +2 -0
  125. package/dist/components/grading-instructions/editor/math-svg.d.ts.map +1 -0
  126. package/dist/components/grading-instructions/editor/math-svg.js +22 -0
  127. package/dist/components/grading-instructions/editor/math-svg.js.map +1 -0
  128. package/dist/components/grading-instructions/editor/math.d.ts +4 -0
  129. package/dist/components/grading-instructions/editor/math.d.ts.map +1 -0
  130. package/dist/components/grading-instructions/editor/math.js +55 -0
  131. package/dist/components/grading-instructions/editor/math.js.map +1 -0
  132. package/dist/components/grading-instructions/editor/noWrap.d.ts +3 -0
  133. package/dist/components/grading-instructions/editor/noWrap.d.ts.map +1 -0
  134. package/dist/components/grading-instructions/editor/noWrap.js +13 -0
  135. package/dist/components/grading-instructions/editor/noWrap.js.map +1 -0
  136. package/dist/components/grading-instructions/editor/spanWithClass.d.ts +3 -0
  137. package/dist/components/grading-instructions/editor/spanWithClass.d.ts.map +1 -0
  138. package/dist/components/grading-instructions/editor/spanWithClass.js +19 -0
  139. package/dist/components/grading-instructions/editor/spanWithClass.js.map +1 -0
  140. package/dist/components/grading-instructions/editor/spanWithNowrap.d.ts +3 -0
  141. package/dist/components/grading-instructions/editor/spanWithNowrap.d.ts.map +1 -0
  142. package/dist/components/grading-instructions/editor/spanWithNowrap.js +19 -0
  143. package/dist/components/grading-instructions/editor/spanWithNowrap.js.map +1 -0
  144. package/dist/components/grading-instructions/prosemirror.d.ts +8 -0
  145. package/dist/components/grading-instructions/prosemirror.d.ts.map +1 -0
  146. package/dist/components/grading-instructions/prosemirror.js +108 -0
  147. package/dist/components/grading-instructions/prosemirror.js.map +1 -0
  148. package/dist/components/results/isExamFinishPageHook.d.ts +2 -0
  149. package/dist/components/results/isExamFinishPageHook.d.ts.map +1 -0
  150. package/dist/components/results/isExamFinishPageHook.js +7 -0
  151. package/dist/components/results/isExamFinishPageHook.js.map +1 -0
  152. package/dist/components/shared/CreateAnnotationPopup.d.ts +6 -0
  153. package/dist/components/shared/CreateAnnotationPopup.d.ts.map +1 -0
  154. package/dist/components/shared/CreateAnnotationPopup.js +11 -0
  155. package/dist/components/shared/CreateAnnotationPopup.js.map +1 -0
  156. package/dist/components/shared/Popup.d.ts +15 -0
  157. package/dist/components/shared/Popup.d.ts.map +1 -0
  158. package/dist/components/shared/Popup.js +90 -0
  159. package/dist/components/shared/Popup.js.map +1 -0
  160. package/dist/components/shared/PopupUtils.d.ts +4 -0
  161. package/dist/components/shared/PopupUtils.d.ts.map +1 -0
  162. package/dist/components/shared/PopupUtils.js +26 -0
  163. package/dist/components/shared/PopupUtils.js.map +1 -0
  164. package/dist/dom-utils.d.ts.map +1 -1
  165. package/dist/dom-utils.js +4 -2
  166. package/dist/dom-utils.js.map +1 -1
  167. package/dist/main-bundle.js +1 -1
  168. package/dist/main-bundle.js.LICENSE.txt +1 -1
  169. package/dist/main.css +1 -1
  170. package/dist/store/listenerMiddleware.d.ts +89 -0
  171. package/dist/store/listenerMiddleware.d.ts.map +1 -0
  172. package/dist/store/listenerMiddleware.js +6 -0
  173. package/dist/store/listenerMiddleware.js.map +1 -0
  174. package/package.json +3 -10
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=EditableGradingInsatruction.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditableGradingInsatruction.test.d.ts","sourceRoot":"","sources":["../../__tests__/EditableGradingInsatruction.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=EditableGradingInsatruction.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditableGradingInsatruction.test.js","sourceRoot":"","sources":["../../__tests__/EditableGradingInsatruction.test.tsx"],"names":[],"mappings":""}
@@ -3,12 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const react_2 = require("@testing-library/react");
8
- const EditableGradingInstruction_1 = __importDefault(require("../src/components/grading-instructions/EditableGradingInstruction"));
9
- const GradingInstructionProvider_1 = require("../src/components/grading-instructions/GradingInstructionProvider");
6
+ const react_1 = require("@testing-library/react");
10
7
  const user_event_1 = __importDefault(require("@testing-library/user-event"));
11
- const act = react_2.act;
8
+ const renderEditableGradingInstruction_1 = require("./utils/renderEditableGradingInstruction");
9
+ const act = react_1.act;
12
10
  describe('EditableGradingInstruction', () => {
13
11
  let cleanup;
14
12
  let onContentChangeMock;
@@ -23,17 +21,17 @@ describe('EditableGradingInstruction', () => {
23
21
  });
24
22
  describe('table', () => {
25
23
  it('Table is rendered as expected', () => {
26
- const inputData = '<table class="e-table"><tr><td>foo</td></tr></table>';
27
- const expectedOutput = '<table class="e-table"><tbody><tr><td><p>foo</p></td></tr></tbody></table>';
28
- const result = renderGradinginstruction(inputData);
24
+ const inputData = '<table class="e-table"><tbody><tr><td>foo</td></tr></tbody></table>';
25
+ const expectedOutput = '<table class="e-table"><tbody><tr><td>foo</td></tr></tbody></table>';
26
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData);
29
27
  const table = result.container.querySelector('.ProseMirror');
30
28
  expect(table.innerHTML).toBe(expectedOutput);
31
29
  });
32
30
  it('Change in table is returned as expected', async () => {
33
31
  cleanup = mockCreateRange();
34
- const inputData = '<table class="e-table"><tr><td>foo</td></tr></table>';
35
- const expectedOutput = '<table class="e-table"><tbody><tr><td><p>bar</p></td></tr></tbody></table>';
36
- const result = renderGradinginstruction(inputData, onContentChangeMock);
32
+ const inputData = '<table class="e-table"><tbody><tr><td>foo</td></tr></tbody></table>';
33
+ const expectedOutput = '<table class="e-table"><tbody><tr><td>bar</td></tr></tbody></table>';
34
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
37
35
  await act(async () => {
38
36
  insertText(await result.findByText('foo'), 'bar');
39
37
  });
@@ -42,87 +40,87 @@ describe('EditableGradingInstruction', () => {
42
40
  });
43
41
  it('Insert table adds expected table', async () => {
44
42
  const inputData = '';
45
- const expectedOutput = '<table class="e-table e-width-half"><tbody><tr><td><p></p></td><td><p></p></td></tr><tr><td><p></p></td><td><p></p></td></tr></tbody></table>';
46
- const result = renderGradinginstruction(inputData, onContentChangeMock);
43
+ const expectedOutput = '<table class="e-table e-width-half"><tbody><tr><td></td><td></td></tr><tr><td></td><td></td></tr></tbody></table>';
44
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
47
45
  await act(async () => {
48
46
  await user_event_1.default.click(await result.findByText('Lisää taulukko'));
49
47
  });
50
48
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
51
49
  });
52
50
  it('Remove table removes table', async () => {
53
- const inputData = '<table><tr><td>foo</td></tr></table>';
51
+ const inputData = '<table><tbody><tr><td>foo</td></tr></tbody></table>';
54
52
  const expectedOutput = '<p></p>';
55
- const result = renderGradinginstruction(inputData, onContentChangeMock);
53
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
56
54
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Poista taulukko');
57
55
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
58
56
  });
59
57
  it('Insert column adds column', async () => {
60
- const inputData = '<table><tr><td>foo</td></tr></table>';
61
- const expectedOutput = '<table><tbody><tr><td><p>foo</p></td><td><p></p></td></tr></tbody></table>';
62
- const result = renderGradinginstruction(inputData, onContentChangeMock);
58
+ const inputData = '<table><tbody><tr><td>foo</td></tr></tbody></table>';
59
+ const expectedOutput = '<table><tbody><tr><td>foo</td><td></td></tr></tbody></table>';
60
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
63
61
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Lisää sarake');
64
62
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
65
63
  });
66
64
  it('Remove column removes column', async () => {
67
- const inputData = '<table><tr><td>foo</td><td>bar</td></tr></table>';
68
- const expectedOutput = '<table><tbody><tr><td><p>bar</p></td></tr></tbody></table>';
69
- const result = renderGradinginstruction(inputData, onContentChangeMock);
65
+ const inputData = '<table><tbody><tr><td>foo</td><td>bar</td></tr></tbody></table>';
66
+ const expectedOutput = '<table><tbody><tr><td>bar</td></tr></tbody></table>';
67
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
70
68
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Poista sarake');
71
69
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
72
70
  });
73
71
  it('Insert row adds row', async () => {
74
- const inputData = '<table><tr><td>foo</td></tr></table>';
75
- const expectedOutput = '<table><tbody><tr><td><p>foo</p></td></tr><tr><td><p></p></td></tr></tbody></table>';
76
- const result = renderGradinginstruction(inputData, onContentChangeMock);
72
+ const inputData = '<table><tbody><tr><td>foo</td></tr></tbody></table>';
73
+ const expectedOutput = '<table><tbody><tr><td>foo</td></tr><tr><td></td></tr></tbody></table>';
74
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
77
75
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Lisää rivi');
78
76
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
79
77
  });
80
78
  it('Remove row removes row', async () => {
81
- const inputData = '<table><tr><td>foo</td></tr><tr><td>bar</td></tr></table>';
82
- const expectedOutput = '<table><tbody><tr><td><p>bar</p></td></tr></tbody></table>';
83
- const result = renderGradinginstruction(inputData, onContentChangeMock);
79
+ const inputData = '<table><tbody><tr><td>foo</td></tr><tr><td>bar</td></tr></tbody></table>';
80
+ const expectedOutput = '<table><tbody><tr><td>bar</td></tr></tbody></table>';
81
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
84
82
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Poista rivi');
85
83
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
86
84
  });
87
85
  it('Full width changes full width class to table', async () => {
88
- const inputData = '<table class="e-width-half"><tr><td>foo</td></tr></table>';
89
- const expectedOutput = '<table class="e-width-full"><tbody><tr><td><p>foo</p></td></tr></tbody></table>';
90
- const result = renderGradinginstruction(inputData, onContentChangeMock);
86
+ const inputData = '<table class="e-width-half"><tbody><tr><td>foo</td></tr></tbody></table>';
87
+ const expectedOutput = '<table class="e-width-full"><tbody><tr><td>foo</td></tr></tbody></table>';
88
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
91
89
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Täysi leveys');
92
90
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
93
91
  });
94
92
  it('Half width changes half width class to table', async () => {
95
- const inputData = '<table class="e-width-full"><tr><td>foo</td></tr></table>';
96
- const expectedOutput = '<table class="e-width-half"><tbody><tr><td><p>foo</p></td></tr></tbody></table>';
97
- const result = renderGradinginstruction(inputData, onContentChangeMock);
93
+ const inputData = '<table class="e-width-full"><tbody><tr><td>foo</td></tr></tbody></table>';
94
+ const expectedOutput = '<table class="e-width-half"><tbody><tr><td>foo</td></tr></tbody></table>';
95
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
98
96
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Puolikas leveys');
99
97
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
100
98
  });
101
99
  it('Remove borders adds e-table--borderless class to table', async () => {
102
- const inputData = '<table><tr><td>foo</td></tr></table>';
103
- const expectedOutput = '<table class="e-table--borderless"><tbody><tr><td><p>foo</p></td></tr></tbody></table>';
104
- const result = renderGradinginstruction(inputData, onContentChangeMock);
100
+ const inputData = '<table><tbody><tr><td>foo</td></tr></tbody></table>';
101
+ const expectedOutput = '<table class="e-table--borderless"><tbody><tr><td>foo</td></tr></tbody></table>';
102
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
105
103
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Poista reunat');
106
104
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
107
105
  });
108
106
  it('Add borders removes e-table--borderless class from table', async () => {
109
- const inputData = '<table class="e-table--borderless"><tr><td>foo</td></tr></table>';
110
- const expectedOutput = '<table><tbody><tr><td><p>foo</p></td></tr></tbody></table>';
111
- const result = renderGradinginstruction(inputData, onContentChangeMock);
107
+ const inputData = '<table class="e-table--borderless"><tbody><tr><td>foo</td></tr></tbody></table>';
108
+ const expectedOutput = '<table><tbody><tr><td>foo</td></tr></tbody></table>';
109
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
112
110
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Lisää reunat');
113
111
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
114
112
  });
115
113
  it('Remove zebra removes class from table', async () => {
116
- const inputData = '<table class="e-table--zebra"><tr><td>foo</td></tr></table>';
117
- const expectedOutput = '<table><tbody><tr><td><p>foo</p></td></tr></tbody></table>';
118
- const result = renderGradinginstruction(inputData, onContentChangeMock);
114
+ const inputData = '<table class="e-table--zebra"><tbody><tr><td>foo</td></tr></tbody></table>';
115
+ const expectedOutput = '<table><tbody><tr><td>foo</td></tr></tbody></table>';
116
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
119
117
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Poista kuviointi');
120
118
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
121
119
  });
122
120
  it('Add zebra adds e-table--zebra class to table', async () => {
123
- const inputData = '<table><tr><td>foo</td></tr></table>';
124
- const expectedOutput = '<table class="e-table--zebra"><tbody><tr><td><p>foo</p></td></tr></tbody></table>';
125
- const result = renderGradinginstruction(inputData, onContentChangeMock);
121
+ const inputData = '<table><tbody><tr><td>foo</td></tr></tbody></table>';
122
+ const expectedOutput = '<table class="e-table--zebra"><tbody><tr><td>foo</td></tr></tbody></table>';
123
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
126
124
  await clickTableMenuButtonWithFocusOnCell(result, 'foo', 'Lisää kuviointi');
127
125
  expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
128
126
  });
@@ -140,15 +138,10 @@ async function focusOnTablesCell(result, text) {
140
138
  insertText(await result.findByText(text), text);
141
139
  }
142
140
  function insertText(element, text) {
143
- react_2.fireEvent.input(element, {
141
+ react_1.fireEvent.input(element, {
144
142
  target: { innerText: text, innerHTML: text }
145
143
  });
146
144
  }
147
- function renderGradinginstruction(inputData, onContentChangeMock = () => { }) {
148
- const doc = new DOMParser().parseFromString(inputData, 'text/html');
149
- return (0, react_2.render)(react_1.default.createElement(GradingInstructionProvider_1.GradingInstructionProvider, { editable: true, onContentChange: onContentChangeMock, saveScreenshot: () => Promise.resolve('') },
150
- react_1.default.createElement(EditableGradingInstruction_1.default, { element: doc.documentElement })));
151
- }
152
145
  function mockCreateRange() {
153
146
  const originalCreateRange = global.window.document.createRange;
154
147
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -1 +1 @@
1
- {"version":3,"file":"EditableGradingInstruction.test.js","sourceRoot":"","sources":["../../__tests__/EditableGradingInstruction.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditableGradingInstruction.test.js","sourceRoot":"","sources":["../../__tests__/EditableGradingInstruction.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Formula.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Formula.test.d.ts","sourceRoot":"","sources":["../../../__tests__/editor/Formula.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("@testing-library/react");
4
+ const prosemirror_1 = require("../utils/prosemirror");
5
+ const renderEditableGradingInstruction_1 = require("../utils/renderEditableGradingInstruction");
6
+ const act = react_1.act;
7
+ describe('Editor - Formula', () => {
8
+ let cleanup;
9
+ let onContentChangeMock;
10
+ beforeEach(() => {
11
+ onContentChangeMock = jest.fn();
12
+ });
13
+ afterEach(() => {
14
+ if (cleanup) {
15
+ cleanup();
16
+ }
17
+ cleanup = null;
18
+ });
19
+ it('Formula is rendered as expected', () => {
20
+ const inputData = '<p>bar <e:formula data-editor-id="e-formula">foo</e:formula></p>';
21
+ const expectedOutput = '<p>bar <img alt="foo" src="/math.svg?latex=foo"><img class="ProseMirror-separator" alt=""><br class="ProseMirror-trailingBreak"></p>';
22
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData);
23
+ const table = result.container.querySelector('.ProseMirror');
24
+ expect(table.innerHTML).toBe(expectedOutput);
25
+ });
26
+ it('Change in content causes formula to be returned as expected', async () => {
27
+ cleanup = (0, prosemirror_1.mockCreateRange)();
28
+ const inputData = '<p>bar</p><p><e:formula data-editor-id="e-formula" mode="inline">foo</e:formula><e:formula data-editor-id="e-formula">bar</e:formula></p>';
29
+ const expectedOutput = '<p>foo</p><p><e:formula mode="inline">foo</e:formula><e:formula>bar</e:formula></p>';
30
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
31
+ await act(async () => {
32
+ insertText(await result.findByText('bar'), 'foo');
33
+ });
34
+ expect(onContentChangeMock).toHaveBeenCalledTimes(1);
35
+ expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
36
+ });
37
+ });
38
+ function insertText(element, text) {
39
+ react_1.fireEvent.input(element, {
40
+ target: { innerText: text, innerHTML: text }
41
+ });
42
+ }
43
+ //# sourceMappingURL=Formula.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Formula.test.js","sourceRoot":"","sources":["../../../__tests__/editor/Formula.test.tsx"],"names":[],"mappings":";;AAAA,kDAAkE;AAClE,sDAAsD;AACtD,gGAAoF;AAEpF,MAAM,GAAG,GAAG,WAAuD,CAAA;AAEnE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,OAA4B,CAAA;IAChC,IAAI,mBAA8B,CAAA;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,SAAS,GAAG,kEAAkE,CAAA;QACpF,MAAM,cAAc,GAClB,sIAAsI,CAAA;QACxI,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QAC5D,MAAM,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,OAAO,GAAG,IAAA,6BAAe,GAAE,CAAA;QAC3B,MAAM,SAAS,GACb,2IAA2I,CAAA;QAC7I,MAAM,cAAc,GAAG,qFAAqF,CAAA;QAC5G,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;QACvE,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,UAAU,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,UAAU,CAAC,OAAoB,EAAE,IAAY;IACpD,iBAAS,CAAC,KAAK,CAAC,OAAO,EAAE;QACvB,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;KAC7C,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=nbsp.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nbsp.test.d.ts","sourceRoot":"","sources":["../../../__tests__/editor/nbsp.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = require("@testing-library/react");
7
+ const prosemirror_1 = require("../utils/prosemirror");
8
+ const renderEditableGradingInstruction_1 = require("../utils/renderEditableGradingInstruction");
9
+ const user_event_1 = __importDefault(require("@testing-library/user-event"));
10
+ const act = react_1.act;
11
+ describe('Editor - NBSP', () => {
12
+ let cleanup;
13
+ let onContentChangeMock;
14
+ beforeEach(() => {
15
+ onContentChangeMock = jest.fn();
16
+ });
17
+ afterEach(() => {
18
+ if (cleanup) {
19
+ cleanup();
20
+ }
21
+ cleanup = null;
22
+ });
23
+ it('NBSP is rendered as expected', () => {
24
+ const inputData = '<p>&#160;bar</p>';
25
+ const expectedOutput = '<p><span class="invisible invisible--nb-space ProseMirror-widget"></span>&nbsp;bar</p>';
26
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData);
27
+ const table = result.container.querySelector('.ProseMirror');
28
+ expect(table.innerHTML).toBe(expectedOutput);
29
+ });
30
+ it('Change in content causes NBSP to be returned as expected', async () => {
31
+ cleanup = (0, prosemirror_1.mockCreateRange)();
32
+ const inputData = '<p>&#160;foo</p><p>bar</p>';
33
+ const expectedOutput = '<p>&#160;foo</p><p>foo</p>';
34
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
35
+ await act(async () => {
36
+ insertText(await result.findByText('bar'), 'foo');
37
+ });
38
+ expect(onContentChangeMock).toHaveBeenCalledTimes(1);
39
+ expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
40
+ });
41
+ it('Insert NBSP adds expected string', async () => {
42
+ cleanup = (0, prosemirror_1.mockCreateRange)();
43
+ const inputData = '<p>&#160;foo</p><p>bar</p>';
44
+ const expectedOutput = '<p>&#160;&#160;foo</p><p>bar</p>';
45
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
46
+ expect(onContentChangeMock).toHaveBeenCalledTimes(0);
47
+ await act(async () => {
48
+ await user_event_1.default.click(await result.findByText('NBSP'));
49
+ });
50
+ expect(onContentChangeMock).toHaveBeenCalledTimes(2); // focus causes another call
51
+ expect(onContentChangeMock).toHaveBeenLastCalledWith(expectedOutput, '');
52
+ });
53
+ });
54
+ function insertText(element, text) {
55
+ react_1.fireEvent.input(element, {
56
+ target: { innerText: text, innerHTML: text }
57
+ });
58
+ }
59
+ //# sourceMappingURL=nbsp.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nbsp.test.js","sourceRoot":"","sources":["../../../__tests__/editor/nbsp.test.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAkE;AAClE,sDAAsD;AACtD,gGAAoF;AACpF,6EAAmD;AAEnD,MAAM,GAAG,GAAG,WAAuD,CAAA;AAEnE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,OAA4B,CAAA;IAChC,IAAI,mBAA8B,CAAA;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,SAAS,GAAG,kBAAkB,CAAA;QACpC,MAAM,cAAc,GAAG,wFAAwF,CAAA;QAC/G,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QAC5D,MAAM,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,OAAO,GAAG,IAAA,6BAAe,GAAE,CAAA;QAC3B,MAAM,SAAS,GAAG,4BAA4B,CAAA;QAC9C,MAAM,cAAc,GAAG,4BAA4B,CAAA;QACnD,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;QACvE,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,UAAU,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,OAAO,GAAG,IAAA,6BAAe,GAAE,CAAA;QAC3B,MAAM,SAAS,GAAG,4BAA4B,CAAA;QAC9C,MAAM,cAAc,GAAG,kCAAkC,CAAA;QACzD,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;QACvE,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,oBAAS,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA,CAAC,4BAA4B;QACjF,MAAM,CAAC,mBAAmB,CAAC,CAAC,wBAAwB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,UAAU,CAAC,OAAoB,EAAE,IAAY;IACpD,iBAAS,CAAC,KAAK,CAAC,OAAO,EAAE;QACvB,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;KAC7C,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=br.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"br.test.d.ts","sourceRoot":"","sources":["../../../__tests__/editor/br.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("@testing-library/react");
4
+ const prosemirror_1 = require("../utils/prosemirror");
5
+ const renderEditableGradingInstruction_1 = require("../utils/renderEditableGradingInstruction");
6
+ const act = react_1.act;
7
+ describe('Editor - BR', () => {
8
+ let cleanup;
9
+ let onContentChangeMock;
10
+ beforeEach(() => {
11
+ onContentChangeMock = jest.fn();
12
+ });
13
+ afterEach(() => {
14
+ if (cleanup) {
15
+ cleanup();
16
+ }
17
+ cleanup = null;
18
+ });
19
+ it('BR is rendered as expected', () => {
20
+ const inputData = '<p>bar<br/></p>';
21
+ const expectedOutput = '<p>bar<br><br class="ProseMirror-trailingBreak"></p>';
22
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData);
23
+ const table = result.container.querySelector('.ProseMirror');
24
+ expect(table.innerHTML).toBe(expectedOutput);
25
+ });
26
+ it('Change in content causes BR to be returned as expected', async () => {
27
+ cleanup = (0, prosemirror_1.mockCreateRange)();
28
+ const inputData = '<p>foo<br/></p><p>bar</p>';
29
+ const expectedOutput = '<p>foo<br/></p><p>foo</p>';
30
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
31
+ await act(async () => {
32
+ insertText(await result.findByText('bar'), 'foo');
33
+ });
34
+ expect(onContentChangeMock).toHaveBeenCalledTimes(1);
35
+ expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
36
+ });
37
+ });
38
+ function insertText(element, text) {
39
+ react_1.fireEvent.input(element, {
40
+ target: { innerText: text, innerHTML: text }
41
+ });
42
+ }
43
+ //# sourceMappingURL=br.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"br.test.js","sourceRoot":"","sources":["../../../__tests__/editor/br.test.tsx"],"names":[],"mappings":";;AAAA,kDAAkE;AAClE,sDAAsD;AACtD,gGAAoF;AAEpF,MAAM,GAAG,GAAG,WAAuD,CAAA;AAEnE,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,OAA4B,CAAA;IAChC,IAAI,mBAA8B,CAAA;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,SAAS,GAAG,iBAAiB,CAAA;QACnC,MAAM,cAAc,GAAG,sDAAsD,CAAA;QAC7E,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QAC5D,MAAM,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,OAAO,GAAG,IAAA,6BAAe,GAAE,CAAA;QAC3B,MAAM,SAAS,GAAG,2BAA2B,CAAA;QAC7C,MAAM,cAAc,GAAG,2BAA2B,CAAA;QAClD,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;QACvE,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,UAAU,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,UAAU,CAAC,OAAoB,EAAE,IAAY;IACpD,iBAAS,CAAC,KAAK,CAAC,OAAO,EAAE;QACvB,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;KAC7C,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hr.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hr.test.d.ts","sourceRoot":"","sources":["../../../__tests__/editor/hr.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("@testing-library/react");
4
+ const prosemirror_1 = require("../utils/prosemirror");
5
+ const renderEditableGradingInstruction_1 = require("../utils/renderEditableGradingInstruction");
6
+ const act = react_1.act;
7
+ describe('Editor - HR', () => {
8
+ let cleanup;
9
+ let onContentChangeMock;
10
+ beforeEach(() => {
11
+ onContentChangeMock = jest.fn();
12
+ });
13
+ afterEach(() => {
14
+ if (cleanup) {
15
+ cleanup();
16
+ }
17
+ cleanup = null;
18
+ });
19
+ it('HR is rendered as expected', () => {
20
+ const inputData = '<p>bar</p><hr/>';
21
+ const expectedOutput = '<p>bar</p><hr>';
22
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData);
23
+ const table = result.container.querySelector('.ProseMirror');
24
+ expect(table.innerHTML).toBe(expectedOutput);
25
+ });
26
+ it('Change in content causes HR to be returned as expected', async () => {
27
+ cleanup = (0, prosemirror_1.mockCreateRange)();
28
+ const inputData = '<p>foo</p><hr/><p>bar</p>';
29
+ const expectedOutput = '<p>foo</p><hr/><p>foo</p>';
30
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
31
+ await act(async () => {
32
+ insertText(await result.findByText('bar'), 'foo');
33
+ });
34
+ expect(onContentChangeMock).toHaveBeenCalledTimes(1);
35
+ expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
36
+ });
37
+ });
38
+ function insertText(element, text) {
39
+ react_1.fireEvent.input(element, {
40
+ target: { innerText: text, innerHTML: text }
41
+ });
42
+ }
43
+ //# sourceMappingURL=hr.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hr.test.js","sourceRoot":"","sources":["../../../__tests__/editor/hr.test.tsx"],"names":[],"mappings":";;AAAA,kDAAkE;AAClE,sDAAsD;AACtD,gGAAoF;AAEpF,MAAM,GAAG,GAAG,WAAuD,CAAA;AAEnE,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,OAA4B,CAAA;IAChC,IAAI,mBAA8B,CAAA;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,SAAS,GAAG,iBAAiB,CAAA;QACnC,MAAM,cAAc,GAAG,gBAAgB,CAAA;QACvC,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QAC5D,MAAM,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,OAAO,GAAG,IAAA,6BAAe,GAAE,CAAA;QAC3B,MAAM,SAAS,GAAG,2BAA2B,CAAA;QAC7C,MAAM,cAAc,GAAG,2BAA2B,CAAA;QAClD,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;QACvE,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,UAAU,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,UAAU,CAAC,OAAoB,EAAE,IAAY;IACpD,iBAAS,CAAC,KAAK,CAAC,OAAO,EAAE;QACvB,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;KAC7C,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=no-wrap.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-wrap.test.d.ts","sourceRoot":"","sources":["../../../__tests__/editor/no-wrap.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("@testing-library/react");
4
+ const prosemirror_1 = require("../utils/prosemirror");
5
+ const renderEditableGradingInstruction_1 = require("../utils/renderEditableGradingInstruction");
6
+ const act = react_1.act;
7
+ describe('Editor - e-no-wrap', () => {
8
+ let cleanup;
9
+ let onContentChangeMock;
10
+ beforeEach(() => {
11
+ onContentChangeMock = jest.fn();
12
+ });
13
+ afterEach(() => {
14
+ if (cleanup) {
15
+ cleanup();
16
+ }
17
+ cleanup = null;
18
+ });
19
+ it('HR is rendered as expected', () => {
20
+ const inputData = '<p>bar</p><hr/>';
21
+ const expectedOutput = '<p>bar</p><hr>';
22
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData);
23
+ const table = result.container.querySelector('.ProseMirror');
24
+ expect(table.innerHTML).toBe(expectedOutput);
25
+ });
26
+ it('Change in content causes HR to be returned as expected', async () => {
27
+ cleanup = (0, prosemirror_1.mockCreateRange)();
28
+ const inputData = '<p>foo</p><hr/><p>bar</p>';
29
+ const expectedOutput = '<p>foo</p><hr/><p>foo</p>';
30
+ const result = (0, renderEditableGradingInstruction_1.renderGradingInstruction)(inputData, onContentChangeMock);
31
+ await act(async () => {
32
+ insertText(await result.findByText('bar'), 'foo');
33
+ });
34
+ expect(onContentChangeMock).toHaveBeenCalledTimes(1);
35
+ expect(onContentChangeMock).toHaveBeenCalledWith(expectedOutput, '');
36
+ });
37
+ });
38
+ function insertText(element, text) {
39
+ react_1.fireEvent.input(element, {
40
+ target: { innerText: text, innerHTML: text }
41
+ });
42
+ }
43
+ //# sourceMappingURL=no-wrap.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-wrap.test.js","sourceRoot":"","sources":["../../../__tests__/editor/no-wrap.test.tsx"],"names":[],"mappings":";;AAAA,kDAAkE;AAClE,sDAAsD;AACtD,gGAAoF;AAEpF,MAAM,GAAG,GAAG,WAAuD,CAAA;AAEnE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,OAA4B,CAAA;IAChC,IAAI,mBAA8B,CAAA;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,SAAS,GAAG,iBAAiB,CAAA;QACnC,MAAM,cAAc,GAAG,gBAAgB,CAAA;QACvC,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QAC5D,MAAM,CAAC,KAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,OAAO,GAAG,IAAA,6BAAe,GAAE,CAAA;QAC3B,MAAM,SAAS,GAAG,2BAA2B,CAAA;QAC7C,MAAM,cAAc,GAAG,2BAA2B,CAAA;QAClD,MAAM,MAAM,GAAG,IAAA,2DAAwB,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;QACvE,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,UAAU,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,UAAU,CAAC,OAAoB,EAAE,IAAY;IACpD,iBAAS,CAAC,KAAK,CAAC,OAAO,EAAE;QACvB,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;KAC7C,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=noWrap.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noWrap.test.d.ts","sourceRoot":"","sources":["../../../__tests__/editor/noWrap.test.tsx"],"names":[],"mappings":""}