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

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 (93) 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"choice.test.js","names":["_react","_interopRequireDefault","require","_react2","_choice","jest","mock","renderMath","fn","useDraggable","attributes","listeners","setNodeRef","isDragging","useDroppable","isOver","active","describe","mockN","index","mockValue","value","defaultProps","n","dragItem","beforeEach","clearAllMocks","it","_render","render","createElement","BlankContent","container","expect","toBeInTheDocument","_render2","contentDiv","querySelector","emptyValue","_render3","_extends2","_render4","gripIcon","_render5","_render6","toHaveStyle","background","_render7","border","_render8","minWidth","minHeight","_render9","display","_render0","borderRadius","_render1","padding","_render10","toHaveAttribute","_render11","_render12","getByText","_render13","_render14","_container$querySelec","_render15","gripContainer","parentElement","position","top","left","_render16","_render17","fireEvent","click","toHaveClass","_render18","document","body","not"],"sources":["../../../src/components/__tests__/choice.test.jsx"],"sourcesContent":["import React from 'react';\nimport { fireEvent, render } from '@testing-library/react';\nimport { BlankContent } from '../respArea/DragInTheBlank/choice';\n\njest.mock('@pie-lib/math-rendering', () => ({\n renderMath: jest.fn(),\n}));\n\njest.mock('@dnd-kit/core', () => ({\n useDraggable: () => ({\n attributes: {},\n listeners: {},\n setNodeRef: jest.fn(),\n isDragging: false,\n }),\n useDroppable: () => ({\n setNodeRef: jest.fn(),\n isOver: false,\n active: null,\n }),\n}));\n\ndescribe('BlankContent', () => {\n const mockN = {\n index: '0',\n };\n\n const mockValue = {\n value: 'Test Value',\n };\n\n const defaultProps = {\n n: mockN,\n value: mockValue,\n isDragging: false,\n isOver: false,\n dragItem: null,\n };\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n it('renders without crashing', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n expect(container).toBeInTheDocument();\n });\n\n it('displays value text', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toBeInTheDocument();\n });\n\n it('displays nbsp when value is empty', () => {\n const emptyValue = { value: '' };\n const { container } = render(<BlankContent {...defaultProps} value={emptyValue} />);\n expect(container).toBeInTheDocument();\n });\n\n it('shows grip icon when value is present', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const gripIcon = container.querySelector('svg');\n expect(gripIcon).toBeInTheDocument();\n });\n\n it('does not show grip icon when value is nbsp', () => {\n const emptyValue = { value: '' };\n const { container } = render(<BlankContent {...defaultProps} value={emptyValue} />);\n // Grip should not be visible\n expect(container).toBeInTheDocument();\n });\n\n it('applies correct background when not preview', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toHaveStyle({ background: 'rgb(255, 255, 255)' });\n });\n\n it('applies preview background when isOver', () => {\n const { container } = render(<BlankContent {...defaultProps} isOver={true} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toHaveStyle({ border: '1px solid #d1d1d1' });\n });\n\n it('has correct minimum dimensions', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toHaveStyle({ minWidth: '178px', minHeight: '36px' });\n });\n\n it('has inline-flex display', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toHaveStyle({ display: 'inline-flex' });\n });\n\n it('has correct border radius', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toHaveStyle({ borderRadius: '3px' });\n });\n\n it('has correct padding', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toHaveStyle({ padding: '8px 8px 8px 35px' });\n });\n\n it('is not content editable', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toHaveAttribute('contentEditable', 'false');\n });\n\n it('sets data-key attribute', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toHaveAttribute('data-key', '0');\n });\n\n it('renders children', () => {\n const { getByText } = render(\n <BlankContent {...defaultProps}>\n <span>Child Content</span>\n </BlankContent>,\n );\n expect(getByText('Child Content')).toBeInTheDocument();\n });\n\n it('shows dragItem value when isOver', () => {\n const dragItem = { value: { value: 'Dragged Value' } };\n const { container } = render(<BlankContent {...defaultProps} isOver={true} dragItem={dragItem} />);\n expect(container).toBeInTheDocument();\n });\n\n it('shows nbsp when isDragging', () => {\n const { container } = render(<BlankContent {...defaultProps} isDragging={true} />);\n expect(container).toBeInTheDocument();\n });\n\n it('positions grip icon correctly', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const gripContainer = container.querySelector('svg')?.parentElement;\n if (gripContainer) {\n expect(gripContainer).toHaveStyle({ position: 'absolute', top: '6px', left: '15px' });\n }\n });\n\n it('applies hover size when isOver', () => {\n const { container } = render(<BlankContent {...defaultProps} isOver={true} />);\n const contentDiv = container.querySelector('div[data-key]');\n expect(contentDiv).toBeInTheDocument();\n });\n\n it('handles click to add selected class', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n fireEvent.click(contentDiv);\n expect(contentDiv).toHaveClass('selected');\n });\n\n it('handles click outside to remove selected class', () => {\n const { container } = render(<BlankContent {...defaultProps} />);\n const contentDiv = container.querySelector('div[data-key]');\n fireEvent.click(contentDiv);\n expect(contentDiv).toHaveClass('selected');\n fireEvent.click(document.body);\n expect(contentDiv).not.toHaveClass('selected');\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,108 +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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
6
- var _react = _interopRequireDefault(require("react"));
7
- var _react2 = require("@testing-library/react");
8
- var _customPopper = _interopRequireDefault(require("../characters/custom-popper"));
9
- var _excluded = ["children", "id", "open"];
10
- jest.mock('@mui/material/Popper', function () {
11
- return {
12
- __esModule: true,
13
- "default": function _default(_ref) {
14
- var children = _ref.children,
15
- id = _ref.id,
16
- open = _ref.open,
17
- props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
18
- return open ? /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
19
- id: id,
20
- "data-testid": "popper"
21
- }, props), children) : null;
22
- }
23
- };
24
- });
25
- describe('CustomPopper', function () {
26
- var mockAnchorEl = document.createElement('div');
27
- it('renders without crashing', function () {
28
- var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
29
- anchorEl: mockAnchorEl
30
- }, "Content")),
31
- container = _render.container;
32
- expect(container).toBeInTheDocument();
33
- });
34
- it('renders children', function () {
35
- var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
36
- anchorEl: mockAnchorEl
37
- }, "Test Content")),
38
- getByText = _render2.getByText;
39
- expect(getByText('Test Content')).toBeInTheDocument();
40
- });
41
- it('is always open', function () {
42
- var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
43
- anchorEl: mockAnchorEl
44
- }, "Content")),
45
- getByTestId = _render3.getByTestId;
46
- expect(getByTestId('popper')).toBeInTheDocument();
47
- });
48
- it('has correct id', function () {
49
- var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
50
- anchorEl: mockAnchorEl
51
- }, "Content")),
52
- container = _render4.container;
53
- var popper = container.querySelector('#mouse-over-popover');
54
- expect(popper).toBeInTheDocument();
55
- });
56
- it('applies correct styling to typography', function () {
57
- var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
58
- anchorEl: mockAnchorEl
59
- }, "Content")),
60
- getByText = _render5.getByText;
61
- var typography = getByText('Content');
62
- expect(typography).toHaveStyle({
63
- fontSize: '50px',
64
- textAlign: 'center'
65
- });
66
- });
67
- it('passes additional props to Popper', function () {
68
- var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
69
- anchorEl: mockAnchorEl,
70
- onClose: jest.fn()
71
- }, "Content")),
72
- container = _render6.container;
73
- expect(container).toBeInTheDocument();
74
- });
75
- it('renders multiple children', function () {
76
- var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
77
- anchorEl: mockAnchorEl
78
- }, /*#__PURE__*/_react["default"].createElement("div", null, "First"), /*#__PURE__*/_react["default"].createElement("div", null, "Second"))),
79
- getByText = _render7.getByText;
80
- expect(getByText('First')).toBeInTheDocument();
81
- expect(getByText('Second')).toBeInTheDocument();
82
- });
83
- it('has pointer-events disabled', function () {
84
- var _render8 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
85
- anchorEl: mockAnchorEl
86
- }, "Content")),
87
- container = _render8.container;
88
- // Styling is applied via styled component, just verify it rendered
89
- expect(container).toBeInTheDocument();
90
- });
91
- it('has high z-index', function () {
92
- var _render9 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
93
- anchorEl: mockAnchorEl
94
- }, "Content")),
95
- container = _render9.container;
96
- // Styling is applied via styled component, just verify it rendered
97
- expect(container).toBeInTheDocument();
98
- });
99
- it('has correct background color', function () {
100
- var _render0 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
101
- anchorEl: mockAnchorEl
102
- }, "Content")),
103
- container = _render0.container;
104
- // Styling is applied via styled component, just verify it rendered
105
- expect(container).toBeInTheDocument();
106
- });
107
- });
108
- //# sourceMappingURL=custom-popper.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-popper.test.js","names":["_react","_interopRequireDefault","require","_react2","_customPopper","_excluded","jest","mock","__esModule","default","_ref","children","id","open","props","_objectWithoutProperties2","createElement","_extends2","describe","mockAnchorEl","document","it","_render","render","anchorEl","container","expect","toBeInTheDocument","_render2","getByText","_render3","getByTestId","_render4","popper","querySelector","_render5","typography","toHaveStyle","fontSize","textAlign","_render6","onClose","fn","_render7","_render8","_render9","_render0"],"sources":["../../../src/components/__tests__/custom-popper.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport CustomPopper from '../characters/custom-popper';\n\njest.mock('@mui/material/Popper', () => ({\n __esModule: true,\n default: ({ children, id, open, ...props }) =>\n open ? (\n <div id={id} data-testid=\"popper\" {...props}>\n {children}\n </div>\n ) : null,\n}));\n\ndescribe('CustomPopper', () => {\n const mockAnchorEl = document.createElement('div');\n\n it('renders without crashing', () => {\n const { container } = render(<CustomPopper anchorEl={mockAnchorEl}>Content</CustomPopper>);\n expect(container).toBeInTheDocument();\n });\n\n it('renders children', () => {\n const { getByText } = render(<CustomPopper anchorEl={mockAnchorEl}>Test Content</CustomPopper>);\n expect(getByText('Test Content')).toBeInTheDocument();\n });\n\n it('is always open', () => {\n const { getByTestId } = render(<CustomPopper anchorEl={mockAnchorEl}>Content</CustomPopper>);\n expect(getByTestId('popper')).toBeInTheDocument();\n });\n\n it('has correct id', () => {\n const { container } = render(<CustomPopper anchorEl={mockAnchorEl}>Content</CustomPopper>);\n const popper = container.querySelector('#mouse-over-popover');\n expect(popper).toBeInTheDocument();\n });\n\n it('applies correct styling to typography', () => {\n const { getByText } = render(<CustomPopper anchorEl={mockAnchorEl}>Content</CustomPopper>);\n const typography = getByText('Content');\n expect(typography).toHaveStyle({ fontSize: '50px', textAlign: 'center' });\n });\n\n it('passes additional props to Popper', () => {\n const { container } = render(\n <CustomPopper anchorEl={mockAnchorEl} onClose={jest.fn()}>\n Content\n </CustomPopper>,\n );\n expect(container).toBeInTheDocument();\n });\n\n it('renders multiple children', () => {\n const { getByText } = render(\n <CustomPopper anchorEl={mockAnchorEl}>\n <div>First</div>\n <div>Second</div>\n </CustomPopper>,\n );\n expect(getByText('First')).toBeInTheDocument();\n expect(getByText('Second')).toBeInTheDocument();\n });\n\n it('has pointer-events disabled', () => {\n const { container } = render(<CustomPopper anchorEl={mockAnchorEl}>Content</CustomPopper>);\n // Styling is applied via styled component, just verify it rendered\n expect(container).toBeInTheDocument();\n });\n\n it('has high z-index', () => {\n const { container } = render(<CustomPopper anchorEl={mockAnchorEl}>Content</CustomPopper>);\n // Styling is applied via styled component, just verify it rendered\n expect(container).toBeInTheDocument();\n });\n\n it('has correct background color', () => {\n const { container } = render(<CustomPopper anchorEl={mockAnchorEl}>Content</CustomPopper>);\n // Styling is applied via styled component, just verify it rendered\n expect(container).toBeInTheDocument();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,72 +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 _doneButton = require("../common/done-button");
7
- describe('RawDoneButton', function () {
8
- it('renders without crashing', function () {
9
- var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_doneButton.RawDoneButton, {
10
- onClick: jest.fn()
11
- })),
12
- container = _render.container;
13
- expect(container).toBeInTheDocument();
14
- });
15
- it('renders with Check icon', function () {
16
- var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_doneButton.RawDoneButton, {
17
- onClick: jest.fn()
18
- })),
19
- container = _render2.container;
20
- var button = container.querySelector('button');
21
- expect(button).toBeInTheDocument();
22
- });
23
- it('calls onClick when clicked', function () {
24
- var onClick = jest.fn();
25
- var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_doneButton.RawDoneButton, {
26
- onClick: onClick
27
- })),
28
- container = _render3.container;
29
- var button = container.querySelector('button');
30
- _react2.fireEvent.click(button);
31
- expect(onClick).toHaveBeenCalled();
32
- });
33
- it('has aria-label "Done"', function () {
34
- var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_doneButton.RawDoneButton, {
35
- onClick: jest.fn()
36
- })),
37
- container = _render4.container;
38
- var button = container.querySelector('button');
39
- expect(button).toHaveAttribute('aria-label', 'Done');
40
- });
41
- it('accepts doneButtonRef prop', function () {
42
- var doneButtonRef = jest.fn();
43
- var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_doneButton.RawDoneButton, {
44
- onClick: jest.fn(),
45
- doneButtonRef: doneButtonRef
46
- })),
47
- container = _render5.container;
48
- // doneButtonRef is passed as buttonRef to IconButton, just verify it's accepted
49
- expect(container).toBeInTheDocument();
50
- });
51
- it('applies correct styling', function () {
52
- var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_doneButton.RawDoneButton, {
53
- onClick: jest.fn()
54
- })),
55
- container = _render6.container;
56
- var button = container.querySelector('button');
57
- expect(button).toHaveClass('MuiIconButton-root');
58
- });
59
- });
60
- describe('DoneButton', function () {
61
- it('is the same as RawDoneButton', function () {
62
- expect(_doneButton.DoneButton).toBe(_doneButton.RawDoneButton);
63
- });
64
- it('renders correctly', function () {
65
- var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
66
- onClick: jest.fn()
67
- })),
68
- container = _render7.container;
69
- expect(container.querySelector('button')).toBeInTheDocument();
70
- });
71
- });
72
- //# sourceMappingURL=done-button.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"done-button.test.js","names":["_react","_interopRequireDefault","require","_react2","_doneButton","describe","it","_render","render","createElement","RawDoneButton","onClick","jest","fn","container","expect","toBeInTheDocument","_render2","button","querySelector","_render3","fireEvent","click","toHaveBeenCalled","_render4","toHaveAttribute","doneButtonRef","_render5","_render6","toHaveClass","DoneButton","toBe","_render7"],"sources":["../../../src/components/__tests__/done-button.test.jsx"],"sourcesContent":["import React from 'react';\nimport { fireEvent, render } from '@testing-library/react';\nimport { DoneButton, RawDoneButton } from '../common/done-button';\n\ndescribe('RawDoneButton', () => {\n it('renders without crashing', () => {\n const { container } = render(<RawDoneButton onClick={jest.fn()} />);\n expect(container).toBeInTheDocument();\n });\n\n it('renders with Check icon', () => {\n const { container } = render(<RawDoneButton onClick={jest.fn()} />);\n const button = container.querySelector('button');\n expect(button).toBeInTheDocument();\n });\n\n it('calls onClick when clicked', () => {\n const onClick = jest.fn();\n const { container } = render(<RawDoneButton onClick={onClick} />);\n const button = container.querySelector('button');\n fireEvent.click(button);\n expect(onClick).toHaveBeenCalled();\n });\n\n it('has aria-label \"Done\"', () => {\n const { container } = render(<RawDoneButton onClick={jest.fn()} />);\n const button = container.querySelector('button');\n expect(button).toHaveAttribute('aria-label', 'Done');\n });\n\n it('accepts doneButtonRef prop', () => {\n const doneButtonRef = jest.fn();\n const { container } = render(<RawDoneButton onClick={jest.fn()} doneButtonRef={doneButtonRef} />);\n // doneButtonRef is passed as buttonRef to IconButton, just verify it's accepted\n expect(container).toBeInTheDocument();\n });\n\n it('applies correct styling', () => {\n const { container } = render(<RawDoneButton onClick={jest.fn()} />);\n const button = container.querySelector('button');\n expect(button).toHaveClass('MuiIconButton-root');\n });\n});\n\ndescribe('DoneButton', () => {\n it('is the same as RawDoneButton', () => {\n expect(DoneButton).toBe(RawDoneButton);\n });\n\n it('renders correctly', () => {\n const { container } = render(<DoneButton onClick={jest.fn()} />);\n expect(container.querySelector('button')).toBeInTheDocument();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,277 +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 _toolbarButtons = require("../common/toolbar-buttons");
7
- describe('RawButton', function () {
8
- it('renders without crashing', function () {
9
- var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
10
- onClick: jest.fn()
11
- }, "Click me")),
12
- container = _render.container;
13
- expect(container).toBeInTheDocument();
14
- });
15
- it('renders children', function () {
16
- var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
17
- onClick: jest.fn()
18
- }, "Test Button")),
19
- getByText = _render2.getByText;
20
- expect(getByText('Test Button')).toBeInTheDocument();
21
- });
22
- it('calls onClick on mouse down', function () {
23
- var onClick = jest.fn();
24
- var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
25
- onClick: onClick
26
- }, "Click")),
27
- getByText = _render3.getByText;
28
- _react2.fireEvent.mouseDown(getByText('Click'));
29
- expect(onClick).toHaveBeenCalled();
30
- });
31
- it('prevents default on mouse down', function () {
32
- var onClick = jest.fn();
33
- var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
34
- onClick: onClick
35
- }, "Click")),
36
- getByText = _render4.getByText;
37
- var button = getByText('Click');
38
- var event = new MouseEvent('mousedown', {
39
- bubbles: true,
40
- cancelable: true
41
- });
42
- var preventDefaultSpy = jest.spyOn(event, 'preventDefault');
43
- button.dispatchEvent(event);
44
- expect(preventDefaultSpy).toHaveBeenCalled();
45
- });
46
- it('calls onClick on Enter key press', function () {
47
- var onClick = jest.fn();
48
- var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
49
- onClick: onClick
50
- }, "Click")),
51
- getByText = _render5.getByText;
52
- _react2.fireEvent.keyDown(getByText('Click'), {
53
- key: 'Enter'
54
- });
55
- expect(onClick).toHaveBeenCalled();
56
- });
57
- it('calls onClick on Space key press', function () {
58
- var onClick = jest.fn();
59
- var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
60
- onClick: onClick
61
- }, "Click")),
62
- getByText = _render6.getByText;
63
- _react2.fireEvent.keyDown(getByText('Click'), {
64
- key: ' '
65
- });
66
- expect(onClick).toHaveBeenCalled();
67
- });
68
- it('does not call onClick on other key press', function () {
69
- var onClick = jest.fn();
70
- var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
71
- onClick: onClick
72
- }, "Click")),
73
- getByText = _render7.getByText;
74
- _react2.fireEvent.keyDown(getByText('Click'), {
75
- key: 'a'
76
- });
77
- expect(onClick).not.toHaveBeenCalled();
78
- });
79
- it('applies active style when active is true', function () {
80
- var _render8 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
81
- onClick: jest.fn(),
82
- active: true
83
- }, "Active")),
84
- getByText = _render8.getByText;
85
- var button = getByText('Active');
86
- expect(button).toHaveStyle({
87
- color: 'black'
88
- });
89
- });
90
- it('applies disabled style when disabled is true', function () {
91
- var _render9 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
92
- onClick: jest.fn(),
93
- disabled: true
94
- }, "Disabled")),
95
- getByText = _render9.getByText;
96
- var button = getByText('Disabled');
97
- expect(button).toHaveStyle({
98
- cursor: 'not-allowed'
99
- });
100
- });
101
- it('applies extraStyles when provided', function () {
102
- var extraStyles = {
103
- backgroundColor: 'red'
104
- };
105
- var _render0 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
106
- onClick: jest.fn(),
107
- extraStyles: extraStyles
108
- }, "Styled")),
109
- getByText = _render0.getByText;
110
- var button = getByText('Styled');
111
- expect(button).toHaveStyle({
112
- backgroundColor: 'red'
113
- });
114
- });
115
- it('has aria-label when provided', function () {
116
- var _render1 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
117
- onClick: jest.fn(),
118
- ariaLabel: "Test Button"
119
- }, "Button")),
120
- getByLabelText = _render1.getByLabelText;
121
- expect(getByLabelText('Test Button')).toBeInTheDocument();
122
- });
123
- it('has aria-pressed attribute', function () {
124
- var _render10 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
125
- onClick: jest.fn(),
126
- active: true
127
- }, "Button")),
128
- getByText = _render10.getByText;
129
- expect(getByText('Button')).toHaveAttribute('aria-pressed', 'true');
130
- });
131
- it('is focusable with tabIndex', function () {
132
- var _render11 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawButton, {
133
- onClick: jest.fn()
134
- }, "Button")),
135
- getByText = _render11.getByText;
136
- expect(getByText('Button')).toHaveAttribute('tabIndex', '0');
137
- });
138
- });
139
- describe('Button', function () {
140
- it('is the same as RawButton', function () {
141
- expect(_toolbarButtons.Button).toBe(_toolbarButtons.RawButton);
142
- });
143
- });
144
- describe('RawMarkButton', function () {
145
- it('renders without crashing', function () {
146
- var _render12 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
147
- onToggle: jest.fn(),
148
- mark: "bold",
149
- label: "Bold"
150
- }, "B")),
151
- container = _render12.container;
152
- expect(container).toBeInTheDocument();
153
- });
154
- it('renders children', function () {
155
- var _render13 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
156
- onToggle: jest.fn(),
157
- mark: "bold",
158
- label: "Bold"
159
- }, "Bold")),
160
- getByText = _render13.getByText;
161
- expect(getByText('Bold')).toBeInTheDocument();
162
- });
163
- it('calls onToggle with mark on mouse down', function () {
164
- var onToggle = jest.fn();
165
- var _render14 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
166
- onToggle: onToggle,
167
- mark: "italic",
168
- label: "Italic"
169
- }, "I")),
170
- getByText = _render14.getByText;
171
- _react2.fireEvent.mouseDown(getByText('I'));
172
- expect(onToggle).toHaveBeenCalledWith('italic');
173
- });
174
- it('prevents default on mouse down', function () {
175
- var onToggle = jest.fn();
176
- var _render15 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
177
- onToggle: onToggle,
178
- mark: "bold",
179
- label: "Bold"
180
- }, "B")),
181
- getByText = _render15.getByText;
182
- var button = getByText('B');
183
- var event = new MouseEvent('mousedown', {
184
- bubbles: true,
185
- cancelable: true
186
- });
187
- var preventDefaultSpy = jest.spyOn(event, 'preventDefault');
188
- button.dispatchEvent(event);
189
- expect(preventDefaultSpy).toHaveBeenCalled();
190
- });
191
- it('calls onToggle on Enter key press', function () {
192
- var onToggle = jest.fn();
193
- var _render16 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
194
- onToggle: onToggle,
195
- mark: "underline",
196
- label: "Underline"
197
- }, "U")),
198
- getByText = _render16.getByText;
199
- _react2.fireEvent.keyDown(getByText('U'), {
200
- key: 'Enter'
201
- });
202
- expect(onToggle).toHaveBeenCalledWith('underline');
203
- });
204
- it('calls onToggle on Space key press', function () {
205
- var onToggle = jest.fn();
206
- var _render17 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
207
- onToggle: onToggle,
208
- mark: "strike",
209
- label: "Strike"
210
- }, "S")),
211
- getByText = _render17.getByText;
212
- _react2.fireEvent.keyDown(getByText('S'), {
213
- key: ' '
214
- });
215
- expect(onToggle).toHaveBeenCalledWith('strike');
216
- });
217
- it('does not call onToggle on other key press', function () {
218
- var onToggle = jest.fn();
219
- var _render18 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
220
- onToggle: onToggle,
221
- mark: "bold",
222
- label: "Bold"
223
- }, "B")),
224
- getByText = _render18.getByText;
225
- _react2.fireEvent.keyDown(getByText('B'), {
226
- key: 'a'
227
- });
228
- expect(onToggle).not.toHaveBeenCalled();
229
- });
230
- it('applies active style when active is true', function () {
231
- var _render19 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
232
- onToggle: jest.fn(),
233
- mark: "bold",
234
- label: "Bold",
235
- active: true
236
- }, "B")),
237
- getByText = _render19.getByText;
238
- var button = getByText('B');
239
- expect(button).toHaveStyle({
240
- color: 'black'
241
- });
242
- });
243
- it('has aria-label from label prop', function () {
244
- var _render20 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
245
- onToggle: jest.fn(),
246
- mark: "bold",
247
- label: "Toggle Bold"
248
- }, "B")),
249
- getByLabelText = _render20.getByLabelText;
250
- expect(getByLabelText('Toggle Bold')).toBeInTheDocument();
251
- });
252
- it('has aria-pressed attribute', function () {
253
- var _render21 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
254
- onToggle: jest.fn(),
255
- mark: "bold",
256
- label: "Bold",
257
- active: true
258
- }, "B")),
259
- getByText = _render21.getByText;
260
- expect(getByText('B')).toHaveAttribute('aria-pressed', 'true');
261
- });
262
- it('is focusable with tabIndex', function () {
263
- var _render22 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_toolbarButtons.RawMarkButton, {
264
- onToggle: jest.fn(),
265
- mark: "bold",
266
- label: "Bold"
267
- }, "B")),
268
- getByText = _render22.getByText;
269
- expect(getByText('B')).toHaveAttribute('tabIndex', '0');
270
- });
271
- });
272
- describe('MarkButton', function () {
273
- it('is the same as RawMarkButton', function () {
274
- expect(_toolbarButtons.MarkButton).toBe(_toolbarButtons.RawMarkButton);
275
- });
276
- });
277
- //# sourceMappingURL=toolbar-buttons.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolbar-buttons.test.js","names":["_react","_interopRequireDefault","require","_react2","_toolbarButtons","describe","it","_render","render","createElement","RawButton","onClick","jest","fn","container","expect","toBeInTheDocument","_render2","getByText","_render3","fireEvent","mouseDown","toHaveBeenCalled","_render4","button","event","MouseEvent","bubbles","cancelable","preventDefaultSpy","spyOn","dispatchEvent","_render5","keyDown","key","_render6","_render7","not","_render8","active","toHaveStyle","color","_render9","disabled","cursor","extraStyles","backgroundColor","_render0","_render1","ariaLabel","getByLabelText","_render10","toHaveAttribute","_render11","Button","toBe","_render12","RawMarkButton","onToggle","mark","label","_render13","_render14","toHaveBeenCalledWith","_render15","_render16","_render17","_render18","_render19","_render20","_render21","_render22","MarkButton"],"sources":["../../../src/components/__tests__/toolbar-buttons.test.jsx"],"sourcesContent":["import React from 'react';\nimport { fireEvent, render } from '@testing-library/react';\nimport { Button, MarkButton, RawButton, RawMarkButton } from '../common/toolbar-buttons';\n\ndescribe('RawButton', () => {\n it('renders without crashing', () => {\n const { container } = render(<RawButton onClick={jest.fn()}>Click me</RawButton>);\n expect(container).toBeInTheDocument();\n });\n\n it('renders children', () => {\n const { getByText } = render(<RawButton onClick={jest.fn()}>Test Button</RawButton>);\n expect(getByText('Test Button')).toBeInTheDocument();\n });\n\n it('calls onClick on mouse down', () => {\n const onClick = jest.fn();\n const { getByText } = render(<RawButton onClick={onClick}>Click</RawButton>);\n fireEvent.mouseDown(getByText('Click'));\n expect(onClick).toHaveBeenCalled();\n });\n\n it('prevents default on mouse down', () => {\n const onClick = jest.fn();\n const { getByText } = render(<RawButton onClick={onClick}>Click</RawButton>);\n const button = getByText('Click');\n const event = new MouseEvent('mousedown', { bubbles: true, cancelable: true });\n const preventDefaultSpy = jest.spyOn(event, 'preventDefault');\n button.dispatchEvent(event);\n expect(preventDefaultSpy).toHaveBeenCalled();\n });\n\n it('calls onClick on Enter key press', () => {\n const onClick = jest.fn();\n const { getByText } = render(<RawButton onClick={onClick}>Click</RawButton>);\n fireEvent.keyDown(getByText('Click'), { key: 'Enter' });\n expect(onClick).toHaveBeenCalled();\n });\n\n it('calls onClick on Space key press', () => {\n const onClick = jest.fn();\n const { getByText } = render(<RawButton onClick={onClick}>Click</RawButton>);\n fireEvent.keyDown(getByText('Click'), { key: ' ' });\n expect(onClick).toHaveBeenCalled();\n });\n\n it('does not call onClick on other key press', () => {\n const onClick = jest.fn();\n const { getByText } = render(<RawButton onClick={onClick}>Click</RawButton>);\n fireEvent.keyDown(getByText('Click'), { key: 'a' });\n expect(onClick).not.toHaveBeenCalled();\n });\n\n it('applies active style when active is true', () => {\n const { getByText } = render(\n <RawButton onClick={jest.fn()} active={true}>\n Active\n </RawButton>,\n );\n const button = getByText('Active');\n expect(button).toHaveStyle({ color: 'black' });\n });\n\n it('applies disabled style when disabled is true', () => {\n const { getByText } = render(\n <RawButton onClick={jest.fn()} disabled={true}>\n Disabled\n </RawButton>,\n );\n const button = getByText('Disabled');\n expect(button).toHaveStyle({ cursor: 'not-allowed' });\n });\n\n it('applies extraStyles when provided', () => {\n const extraStyles = { backgroundColor: 'red' };\n const { getByText } = render(\n <RawButton onClick={jest.fn()} extraStyles={extraStyles}>\n Styled\n </RawButton>,\n );\n const button = getByText('Styled');\n expect(button).toHaveStyle({ backgroundColor: 'red' });\n });\n\n it('has aria-label when provided', () => {\n const { getByLabelText } = render(\n <RawButton onClick={jest.fn()} ariaLabel=\"Test Button\">\n Button\n </RawButton>,\n );\n expect(getByLabelText('Test Button')).toBeInTheDocument();\n });\n\n it('has aria-pressed attribute', () => {\n const { getByText } = render(\n <RawButton onClick={jest.fn()} active={true}>\n Button\n </RawButton>,\n );\n expect(getByText('Button')).toHaveAttribute('aria-pressed', 'true');\n });\n\n it('is focusable with tabIndex', () => {\n const { getByText } = render(<RawButton onClick={jest.fn()}>Button</RawButton>);\n expect(getByText('Button')).toHaveAttribute('tabIndex', '0');\n });\n});\n\ndescribe('Button', () => {\n it('is the same as RawButton', () => {\n expect(Button).toBe(RawButton);\n });\n});\n\ndescribe('RawMarkButton', () => {\n it('renders without crashing', () => {\n const { container } = render(\n <RawMarkButton onToggle={jest.fn()} mark=\"bold\" label=\"Bold\">\n B\n </RawMarkButton>,\n );\n expect(container).toBeInTheDocument();\n });\n\n it('renders children', () => {\n const { getByText } = render(\n <RawMarkButton onToggle={jest.fn()} mark=\"bold\" label=\"Bold\">\n Bold\n </RawMarkButton>,\n );\n expect(getByText('Bold')).toBeInTheDocument();\n });\n\n it('calls onToggle with mark on mouse down', () => {\n const onToggle = jest.fn();\n const { getByText } = render(\n <RawMarkButton onToggle={onToggle} mark=\"italic\" label=\"Italic\">\n I\n </RawMarkButton>,\n );\n fireEvent.mouseDown(getByText('I'));\n expect(onToggle).toHaveBeenCalledWith('italic');\n });\n\n it('prevents default on mouse down', () => {\n const onToggle = jest.fn();\n const { getByText } = render(\n <RawMarkButton onToggle={onToggle} mark=\"bold\" label=\"Bold\">\n B\n </RawMarkButton>,\n );\n const button = getByText('B');\n const event = new MouseEvent('mousedown', { bubbles: true, cancelable: true });\n const preventDefaultSpy = jest.spyOn(event, 'preventDefault');\n button.dispatchEvent(event);\n expect(preventDefaultSpy).toHaveBeenCalled();\n });\n\n it('calls onToggle on Enter key press', () => {\n const onToggle = jest.fn();\n const { getByText } = render(\n <RawMarkButton onToggle={onToggle} mark=\"underline\" label=\"Underline\">\n U\n </RawMarkButton>,\n );\n fireEvent.keyDown(getByText('U'), { key: 'Enter' });\n expect(onToggle).toHaveBeenCalledWith('underline');\n });\n\n it('calls onToggle on Space key press', () => {\n const onToggle = jest.fn();\n const { getByText } = render(\n <RawMarkButton onToggle={onToggle} mark=\"strike\" label=\"Strike\">\n S\n </RawMarkButton>,\n );\n fireEvent.keyDown(getByText('S'), { key: ' ' });\n expect(onToggle).toHaveBeenCalledWith('strike');\n });\n\n it('does not call onToggle on other key press', () => {\n const onToggle = jest.fn();\n const { getByText } = render(\n <RawMarkButton onToggle={onToggle} mark=\"bold\" label=\"Bold\">\n B\n </RawMarkButton>,\n );\n fireEvent.keyDown(getByText('B'), { key: 'a' });\n expect(onToggle).not.toHaveBeenCalled();\n });\n\n it('applies active style when active is true', () => {\n const { getByText } = render(\n <RawMarkButton onToggle={jest.fn()} mark=\"bold\" label=\"Bold\" active={true}>\n B\n </RawMarkButton>,\n );\n const button = getByText('B');\n expect(button).toHaveStyle({ color: 'black' });\n });\n\n it('has aria-label from label prop', () => {\n const { getByLabelText } = render(\n <RawMarkButton onToggle={jest.fn()} mark=\"bold\" label=\"Toggle Bold\">\n B\n </RawMarkButton>,\n );\n expect(getByLabelText('Toggle Bold')).toBeInTheDocument();\n });\n\n it('has aria-pressed attribute', () => {\n const { getByText } = render(\n <RawMarkButton onToggle={jest.fn()} mark=\"bold\" label=\"Bold\" active={true}>\n B\n </RawMarkButton>,\n );\n expect(getByText('B')).toHaveAttribute('aria-pressed', 'true');\n });\n\n it('is focusable with tabIndex', () => {\n const { getByText } = render(\n <RawMarkButton onToggle={jest.fn()} mark=\"bold\" label=\"Bold\">\n B\n </RawMarkButton>,\n );\n expect(getByText('B')).toHaveAttribute('tabIndex', '0');\n });\n});\n\ndescribe('MarkButton', () => {\n it('is the same as RawMarkButton', () => {\n expect(MarkButton).toBe(RawMarkButton);\n });\n});\n"],"mappings":"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","ignoreList":[]}