@pie-lib/editable-html-tip-tap 2.1.10 → 2.2.0-beta

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 (114) hide show
  1. package/CHANGELOG.md +0 -75
  2. package/lib/__tests__/EditableHtml.test.js +831 -0
  3. package/lib/__tests__/EditableHtml.test.js.map +1 -0
  4. package/lib/__tests__/constants.test.js +21 -0
  5. package/lib/__tests__/constants.test.js.map +1 -0
  6. package/lib/__tests__/div-to-paragraph-conversion.test.js +213 -0
  7. package/lib/__tests__/div-to-paragraph-conversion.test.js.map +1 -0
  8. package/lib/__tests__/extensions.test.js +209 -0
  9. package/lib/__tests__/extensions.test.js.map +1 -0
  10. package/lib/__tests__/index.test.js +250 -0
  11. package/lib/__tests__/index.test.js.map +1 -0
  12. package/lib/__tests__/size-utils.test.js +57 -0
  13. package/lib/__tests__/size-utils.test.js.map +1 -0
  14. package/lib/__tests__/theme.test.js +17 -0
  15. package/lib/__tests__/theme.test.js.map +1 -0
  16. package/lib/components/EditableHtml.js +4 -2
  17. package/lib/components/EditableHtml.js.map +1 -1
  18. package/lib/components/__tests__/AltDialog.test.js +201 -0
  19. package/lib/components/__tests__/AltDialog.test.js.map +1 -0
  20. package/lib/components/__tests__/CharacterPicker.test.js +455 -0
  21. package/lib/components/__tests__/CharacterPicker.test.js.map +1 -0
  22. package/lib/components/__tests__/CssIcon.test.js +58 -0
  23. package/lib/components/__tests__/CssIcon.test.js.map +1 -0
  24. package/lib/components/__tests__/DragInTheBlank.test.js +295 -0
  25. package/lib/components/__tests__/DragInTheBlank.test.js.map +1 -0
  26. package/lib/components/__tests__/ExplicitConstructedResponse.test.js +345 -0
  27. package/lib/components/__tests__/ExplicitConstructedResponse.test.js.map +1 -0
  28. package/lib/components/__tests__/ImageToolbar.test.js +185 -0
  29. package/lib/components/__tests__/ImageToolbar.test.js.map +1 -0
  30. package/lib/components/__tests__/InlineDropdown.test.js +839 -0
  31. package/lib/components/__tests__/InlineDropdown.test.js.map +1 -0
  32. package/lib/components/__tests__/InsertImageHandler.test.js +171 -0
  33. package/lib/components/__tests__/InsertImageHandler.test.js.map +1 -0
  34. package/lib/components/__tests__/MediaDialog.test.js +433 -0
  35. package/lib/components/__tests__/MediaDialog.test.js.map +1 -0
  36. package/lib/components/__tests__/MediaToolbar.test.js +126 -0
  37. package/lib/components/__tests__/MediaToolbar.test.js.map +1 -0
  38. package/lib/components/__tests__/MediaWrapper.test.js +96 -0
  39. package/lib/components/__tests__/MediaWrapper.test.js.map +1 -0
  40. package/lib/components/__tests__/MenuBar.test.js +502 -0
  41. package/lib/components/__tests__/MenuBar.test.js.map +1 -0
  42. package/lib/components/__tests__/RespArea.test.js +171 -0
  43. package/lib/components/__tests__/RespArea.test.js.map +1 -0
  44. package/lib/components/__tests__/TableIcons.test.js +153 -0
  45. package/lib/components/__tests__/TableIcons.test.js.map +1 -0
  46. package/lib/components/__tests__/TextAlign.test.js +209 -0
  47. package/lib/components/__tests__/TextAlign.test.js.map +1 -0
  48. package/lib/components/__tests__/TiptapContainer.test.js +196 -0
  49. package/lib/components/__tests__/TiptapContainer.test.js.map +1 -0
  50. package/lib/components/__tests__/characterUtils.test.js +178 -0
  51. package/lib/components/__tests__/characterUtils.test.js.map +1 -0
  52. package/lib/components/__tests__/choice.test.js +213 -0
  53. package/lib/components/__tests__/choice.test.js.map +1 -0
  54. package/lib/components/__tests__/custom-popper.test.js +108 -0
  55. package/lib/components/__tests__/custom-popper.test.js.map +1 -0
  56. package/lib/components/__tests__/done-button.test.js +72 -0
  57. package/lib/components/__tests__/done-button.test.js.map +1 -0
  58. package/lib/components/__tests__/toolbar-buttons.test.js +277 -0
  59. package/lib/components/__tests__/toolbar-buttons.test.js.map +1 -0
  60. package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js +90 -0
  61. package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js.map +1 -0
  62. package/lib/components/respArea/DragInTheBlank/choice.js +3 -0
  63. package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
  64. package/lib/components/respArea/MathTemplated.js +2 -2
  65. package/lib/components/respArea/MathTemplated.js.map +1 -1
  66. package/lib/components/respArea/__tests__/MathTemplated.test.js +217 -0
  67. package/lib/components/respArea/__tests__/MathTemplated.test.js.map +1 -0
  68. package/lib/extensions/__tests__/css.test.js +214 -0
  69. package/lib/extensions/__tests__/css.test.js.map +1 -0
  70. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +175 -0
  71. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js.map +1 -0
  72. package/lib/extensions/__tests__/divNode.test.js +108 -0
  73. package/lib/extensions/__tests__/divNode.test.js.map +1 -0
  74. package/lib/extensions/__tests__/ensure-empty-root-div.test.js +50 -0
  75. package/lib/extensions/__tests__/ensure-empty-root-div.test.js.map +1 -0
  76. package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js +60 -0
  77. package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js.map +1 -0
  78. package/lib/extensions/__tests__/extended-list-item.test.js +13 -0
  79. package/lib/extensions/__tests__/extended-list-item.test.js.map +1 -0
  80. package/lib/extensions/__tests__/extended-table-cell.test.js +15 -0
  81. package/lib/extensions/__tests__/extended-table-cell.test.js.map +1 -0
  82. package/lib/extensions/__tests__/extended-table.test.js +200 -0
  83. package/lib/extensions/__tests__/extended-table.test.js.map +1 -0
  84. package/lib/extensions/__tests__/image-component.test.js +432 -0
  85. package/lib/extensions/__tests__/image-component.test.js.map +1 -0
  86. package/lib/extensions/__tests__/image.test.js +313 -0
  87. package/lib/extensions/__tests__/image.test.js.map +1 -0
  88. package/lib/extensions/__tests__/math.test.js +1399 -0
  89. package/lib/extensions/__tests__/math.test.js.map +1 -0
  90. package/lib/extensions/__tests__/media-node-view.test.js +307 -0
  91. package/lib/extensions/__tests__/media-node-view.test.js.map +1 -0
  92. package/lib/extensions/__tests__/media.test.js +292 -0
  93. package/lib/extensions/__tests__/media.test.js.map +1 -0
  94. package/lib/extensions/__tests__/responseArea.test.js +736 -0
  95. package/lib/extensions/__tests__/responseArea.test.js.map +1 -0
  96. package/lib/extensions/image-component.js +9 -6
  97. package/lib/extensions/image-component.js.map +1 -1
  98. package/lib/extensions/responseArea.js +7 -1
  99. package/lib/extensions/responseArea.js.map +1 -1
  100. package/lib/utils/__tests__/helper.test.js +107 -0
  101. package/lib/utils/__tests__/helper.test.js.map +1 -0
  102. package/lib/utils/__tests__/toolbar.test.js +38 -0
  103. package/lib/utils/__tests__/toolbar.test.js.map +1 -0
  104. package/package.json +7 -7
  105. package/src/components/EditableHtml.jsx +5 -3
  106. package/src/components/respArea/DragInTheBlank/__tests__/choice.test.jsx +72 -0
  107. package/src/components/respArea/DragInTheBlank/choice.jsx +3 -0
  108. package/src/components/respArea/MathTemplated.jsx +1 -1
  109. package/src/components/respArea/__tests__/MathTemplated.test.jsx +1 -1
  110. package/src/extensions/__tests__/image-component.test.jsx +1 -0
  111. package/src/extensions/__tests__/responseArea.test.js +57 -3
  112. package/src/extensions/image-component.jsx +8 -6
  113. package/src/extensions/responseArea.js +7 -1
  114. package/LICENSE.md +0 -5
@@ -0,0 +1,201 @@
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 _AltDialog = require("../image/AltDialog");
8
+ jest.mock('@mui/material/Dialog', function () {
9
+ return {
10
+ __esModule: true,
11
+ "default": function _default(_ref) {
12
+ var children = _ref.children,
13
+ open = _ref.open,
14
+ id = _ref.id;
15
+ return open && /*#__PURE__*/_react["default"].createElement("div", {
16
+ id: id
17
+ }, children);
18
+ }
19
+ };
20
+ });
21
+ jest.mock('@mui/material/DialogContent', function () {
22
+ return {
23
+ __esModule: true,
24
+ "default": function _default(_ref2) {
25
+ var children = _ref2.children;
26
+ return /*#__PURE__*/_react["default"].createElement("div", null, children);
27
+ }
28
+ };
29
+ });
30
+ jest.mock('@mui/material/DialogActions', function () {
31
+ return {
32
+ __esModule: true,
33
+ "default": function _default(_ref3) {
34
+ var children = _ref3.children;
35
+ return /*#__PURE__*/_react["default"].createElement("div", null, children);
36
+ }
37
+ };
38
+ });
39
+ jest.mock('@mui/material/Button', function () {
40
+ return {
41
+ __esModule: true,
42
+ "default": function _default(_ref4) {
43
+ var children = _ref4.children,
44
+ onClick = _ref4.onClick;
45
+ return /*#__PURE__*/_react["default"].createElement("button", {
46
+ onClick: onClick
47
+ }, children);
48
+ }
49
+ };
50
+ });
51
+ jest.mock('@mui/material/TextField', function () {
52
+ return {
53
+ __esModule: true,
54
+ "default": function _default(_ref5) {
55
+ var value = _ref5.value,
56
+ onChange = _ref5.onChange,
57
+ placeholder = _ref5.placeholder,
58
+ helperText = _ref5.helperText,
59
+ FormHelperTextProps = _ref5.FormHelperTextProps,
60
+ multiline = _ref5.multiline;
61
+ return /*#__PURE__*/_react["default"].createElement("div", {
62
+ className: "MuiTextField-root"
63
+ }, /*#__PURE__*/_react["default"].createElement("textarea", {
64
+ value: value || '',
65
+ onChange: onChange,
66
+ placeholder: placeholder,
67
+ "data-multiline": multiline
68
+ }), helperText && /*#__PURE__*/_react["default"].createElement("div", {
69
+ style: FormHelperTextProps === null || FormHelperTextProps === void 0 ? void 0 : FormHelperTextProps.style
70
+ }, helperText));
71
+ }
72
+ };
73
+ });
74
+ jest.mock('@mui/icons-material/ArrowBackIos', function () {
75
+ return {
76
+ __esModule: true,
77
+ "default": function _default() {
78
+ return /*#__PURE__*/_react["default"].createElement("svg", {
79
+ "data-testid": "arrow-back-icon"
80
+ });
81
+ }
82
+ };
83
+ });
84
+ describe('AltDialog', function () {
85
+ var defaultProps = {
86
+ onDone: jest.fn(),
87
+ alt: 'Initial alt text'
88
+ };
89
+ beforeEach(function () {
90
+ jest.clearAllMocks();
91
+ document.body.innerHTML = '';
92
+ });
93
+ it('renders without crashing', function () {
94
+ var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
95
+ container = _render.container;
96
+ expect(container).toBeInTheDocument();
97
+ });
98
+ it('renders with initial alt text', function () {
99
+ var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
100
+ container = _render2.container;
101
+ var textarea = container.querySelector('textarea');
102
+ expect(textarea.value).toBe('Initial alt text');
103
+ });
104
+ it('renders placeholder text', function () {
105
+ var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, (0, _extends2["default"])({}, defaultProps, {
106
+ alt: ""
107
+ }))),
108
+ getByPlaceholderText = _render3.getByPlaceholderText;
109
+ expect(getByPlaceholderText('Enter an Alt Text description of this image')).toBeInTheDocument();
110
+ });
111
+ it('renders helper text', function () {
112
+ var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
113
+ getByText = _render4.getByText;
114
+ expect(getByText('Users with visual limitations rely on Alt Text, since screen readers cannot otherwise describe the contents of an image.')).toBeInTheDocument();
115
+ });
116
+ it('renders Done button', function () {
117
+ var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
118
+ getByText = _render5.getByText;
119
+ expect(getByText('Done')).toBeInTheDocument();
120
+ });
121
+ it('renders ArrowBackIos icon', function () {
122
+ var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
123
+ getByTestId = _render6.getByTestId;
124
+ expect(getByTestId('arrow-back-icon')).toBeInTheDocument();
125
+ });
126
+ it('updates value on text field change', function () {
127
+ var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
128
+ container = _render7.container;
129
+ var textarea = container.querySelector('textarea');
130
+ _react2.fireEvent.change(textarea, {
131
+ target: {
132
+ value: 'New alt text'
133
+ }
134
+ });
135
+ expect(textarea.value).toBe('New alt text');
136
+ });
137
+ it('calls onDone with value when Done button is clicked', function () {
138
+ var onDone = jest.fn();
139
+ // Mock document.querySelectorAll to avoid DOM manipulation issues
140
+ var mockQuerySelectorAll = jest.spyOn(document, 'querySelectorAll').mockReturnValue([]);
141
+ var _render8 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, (0, _extends2["default"])({}, defaultProps, {
142
+ onDone: onDone
143
+ }))),
144
+ getByText = _render8.getByText,
145
+ container = _render8.container;
146
+ var textarea = container.querySelector('textarea');
147
+ _react2.fireEvent.change(textarea, {
148
+ target: {
149
+ value: 'Updated alt text'
150
+ }
151
+ });
152
+ _react2.fireEvent.click(getByText('Done'));
153
+ expect(onDone).toHaveBeenCalledWith('Updated alt text');
154
+ mockQuerySelectorAll.mockRestore();
155
+ });
156
+ it('closes dialog when Done button is clicked', function () {
157
+ // Mock document.querySelectorAll to avoid DOM manipulation issues
158
+ var mockQuerySelectorAll = jest.spyOn(document, 'querySelectorAll').mockReturnValue([]);
159
+ var _render9 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
160
+ getByText = _render9.getByText,
161
+ container = _render9.container;
162
+ var dialog = container.querySelector('#text-dialog');
163
+ expect(dialog).toBeInTheDocument();
164
+ _react2.fireEvent.click(getByText('Done'));
165
+ mockQuerySelectorAll.mockRestore();
166
+ });
167
+ it('dialog is open', function () {
168
+ var _render0 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
169
+ container = _render0.container;
170
+ var dialog = container.querySelector('[id="text-dialog"]');
171
+ expect(dialog).toBeInTheDocument();
172
+ });
173
+ it('has correct dialog props', function () {
174
+ var _render1 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
175
+ container = _render1.container;
176
+ var dialog = container.querySelector('[id="text-dialog"]');
177
+ expect(dialog).toBeInTheDocument();
178
+ });
179
+ it('text field is multiline', function () {
180
+ var _render10 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, defaultProps)),
181
+ container = _render10.container;
182
+ var textarea = container.querySelector('textarea');
183
+ expect(textarea.getAttribute('data-multiline')).toBe('true');
184
+ });
185
+ it('renders without alt text', function () {
186
+ var _render11 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, (0, _extends2["default"])({}, defaultProps, {
187
+ alt: undefined
188
+ }))),
189
+ getByPlaceholderText = _render11.getByPlaceholderText;
190
+ expect(getByPlaceholderText('Enter an Alt Text description of this image')).toBeInTheDocument();
191
+ });
192
+ it('handles empty alt text', function () {
193
+ var _render12 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_AltDialog.AltDialog, (0, _extends2["default"])({}, defaultProps, {
194
+ alt: ""
195
+ }))),
196
+ container = _render12.container;
197
+ var textarea = container.querySelector('textarea');
198
+ expect(textarea.value).toBe('');
199
+ });
200
+ });
201
+ //# sourceMappingURL=AltDialog.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AltDialog.test.js","names":["_react","_interopRequireDefault","require","_react2","_AltDialog","jest","mock","__esModule","default","_ref","children","open","id","createElement","_ref2","_ref3","_ref4","onClick","_ref5","value","onChange","placeholder","helperText","FormHelperTextProps","multiline","className","style","describe","defaultProps","onDone","fn","alt","beforeEach","clearAllMocks","document","body","innerHTML","it","_render","render","AltDialog","container","expect","toBeInTheDocument","_render2","textarea","querySelector","toBe","_render3","_extends2","getByPlaceholderText","_render4","getByText","_render5","_render6","getByTestId","_render7","fireEvent","change","target","mockQuerySelectorAll","spyOn","mockReturnValue","_render8","click","toHaveBeenCalledWith","mockRestore","_render9","dialog","_render0","_render1","_render10","getAttribute","_render11","undefined","_render12"],"sources":["../../../src/components/__tests__/AltDialog.test.jsx"],"sourcesContent":["import React from 'react';\nimport { fireEvent, render } from '@testing-library/react';\nimport { AltDialog } from '../image/AltDialog';\n\njest.mock('@mui/material/Dialog', () => ({\n __esModule: true,\n default: ({ children, open, id }) => open && <div id={id}>{children}</div>,\n}));\n\njest.mock('@mui/material/DialogContent', () => ({\n __esModule: true,\n default: ({ children }) => <div>{children}</div>,\n}));\n\njest.mock('@mui/material/DialogActions', () => ({\n __esModule: true,\n default: ({ children }) => <div>{children}</div>,\n}));\n\njest.mock('@mui/material/Button', () => ({\n __esModule: true,\n default: ({ children, onClick }) => <button onClick={onClick}>{children}</button>,\n}));\n\njest.mock('@mui/material/TextField', () => ({\n __esModule: true,\n default: ({ value, onChange, placeholder, helperText, FormHelperTextProps, multiline }) => (\n <div className=\"MuiTextField-root\">\n <textarea value={value || ''} onChange={onChange} placeholder={placeholder} data-multiline={multiline} />\n {helperText && <div style={FormHelperTextProps?.style}>{helperText}</div>}\n </div>\n ),\n}));\n\njest.mock('@mui/icons-material/ArrowBackIos', () => ({\n __esModule: true,\n default: () => <svg data-testid=\"arrow-back-icon\" />,\n}));\n\ndescribe('AltDialog', () => {\n const defaultProps = {\n onDone: jest.fn(),\n alt: 'Initial alt text',\n };\n\n beforeEach(() => {\n jest.clearAllMocks();\n document.body.innerHTML = '';\n });\n\n it('renders without crashing', () => {\n const { container } = render(<AltDialog {...defaultProps} />);\n expect(container).toBeInTheDocument();\n });\n\n it('renders with initial alt text', () => {\n const { container } = render(<AltDialog {...defaultProps} />);\n const textarea = container.querySelector('textarea');\n expect(textarea.value).toBe('Initial alt text');\n });\n\n it('renders placeholder text', () => {\n const { getByPlaceholderText } = render(<AltDialog {...defaultProps} alt=\"\" />);\n expect(getByPlaceholderText('Enter an Alt Text description of this image')).toBeInTheDocument();\n });\n\n it('renders helper text', () => {\n const { getByText } = render(<AltDialog {...defaultProps} />);\n expect(\n getByText(\n 'Users with visual limitations rely on Alt Text, since screen readers cannot otherwise describe the contents of an image.',\n ),\n ).toBeInTheDocument();\n });\n\n it('renders Done button', () => {\n const { getByText } = render(<AltDialog {...defaultProps} />);\n expect(getByText('Done')).toBeInTheDocument();\n });\n\n it('renders ArrowBackIos icon', () => {\n const { getByTestId } = render(<AltDialog {...defaultProps} />);\n expect(getByTestId('arrow-back-icon')).toBeInTheDocument();\n });\n\n it('updates value on text field change', () => {\n const { container } = render(<AltDialog {...defaultProps} />);\n const textarea = container.querySelector('textarea');\n fireEvent.change(textarea, { target: { value: 'New alt text' } });\n expect(textarea.value).toBe('New alt text');\n });\n\n it('calls onDone with value when Done button is clicked', () => {\n const onDone = jest.fn();\n // Mock document.querySelectorAll to avoid DOM manipulation issues\n const mockQuerySelectorAll = jest.spyOn(document, 'querySelectorAll').mockReturnValue([]);\n\n const { getByText, container } = render(<AltDialog {...defaultProps} onDone={onDone} />);\n const textarea = container.querySelector('textarea');\n fireEvent.change(textarea, { target: { value: 'Updated alt text' } });\n fireEvent.click(getByText('Done'));\n expect(onDone).toHaveBeenCalledWith('Updated alt text');\n\n mockQuerySelectorAll.mockRestore();\n });\n\n it('closes dialog when Done button is clicked', () => {\n // Mock document.querySelectorAll to avoid DOM manipulation issues\n const mockQuerySelectorAll = jest.spyOn(document, 'querySelectorAll').mockReturnValue([]);\n\n const { getByText, container } = render(<AltDialog {...defaultProps} />);\n const dialog = container.querySelector('#text-dialog');\n expect(dialog).toBeInTheDocument();\n fireEvent.click(getByText('Done'));\n\n mockQuerySelectorAll.mockRestore();\n });\n\n it('dialog is open', () => {\n const { container } = render(<AltDialog {...defaultProps} />);\n const dialog = container.querySelector('[id=\"text-dialog\"]');\n expect(dialog).toBeInTheDocument();\n });\n\n it('has correct dialog props', () => {\n const { container } = render(<AltDialog {...defaultProps} />);\n const dialog = container.querySelector('[id=\"text-dialog\"]');\n expect(dialog).toBeInTheDocument();\n });\n\n it('text field is multiline', () => {\n const { container } = render(<AltDialog {...defaultProps} />);\n const textarea = container.querySelector('textarea');\n expect(textarea.getAttribute('data-multiline')).toBe('true');\n });\n\n it('renders without alt text', () => {\n const { getByPlaceholderText } = render(<AltDialog {...defaultProps} alt={undefined} />);\n expect(getByPlaceholderText('Enter an Alt Text description of this image')).toBeInTheDocument();\n });\n\n it('handles empty alt text', () => {\n const { container } = render(<AltDialog {...defaultProps} alt=\"\" />);\n const textarea = container.querySelector('textarea');\n expect(textarea.value).toBe('');\n });\n});\n"],"mappings":"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","ignoreList":[]}