@pie-lib/editable-html-tip-tap 1.1.0-next.6059 → 1.1.1-next.1
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.
- package/CHANGELOG.md +44 -0
- package/lib/__tests__/EditableHtml.test.js +374 -0
- package/lib/__tests__/constants.test.js +28 -0
- package/lib/__tests__/extensions.test.js +214 -0
- package/lib/__tests__/index.test.js +246 -0
- package/lib/__tests__/size-utils.test.js +57 -0
- package/lib/__tests__/theme.test.js +17 -0
- package/lib/components/CharacterPicker.js +18 -0
- package/lib/components/CharacterPicker.js.map +1 -1
- package/lib/components/EditableHtml.js +22 -5
- package/lib/components/EditableHtml.js.map +1 -1
- package/lib/components/MenuBar.js +17 -0
- package/lib/components/MenuBar.js.map +1 -1
- package/lib/components/TiptapContainer.js +16 -0
- package/lib/components/TiptapContainer.js.map +1 -1
- package/lib/components/__tests__/AltDialog.test.js +201 -0
- package/lib/components/__tests__/CharacterPicker.test.js +313 -0
- package/lib/components/__tests__/CssIcon.test.js +58 -0
- package/lib/components/__tests__/DragInTheBlank.test.js +309 -0
- package/lib/components/__tests__/ExplicitConstructedResponse.test.js +263 -0
- package/lib/components/__tests__/ImageToolbar.test.js +195 -0
- package/lib/components/__tests__/InlineDropdown.test.js +297 -0
- package/lib/components/__tests__/InsertImageHandler.test.js +162 -0
- package/lib/components/__tests__/MediaDialog.test.js +435 -0
- package/lib/components/__tests__/MediaToolbar.test.js +126 -0
- package/lib/components/__tests__/MediaWrapper.test.js +96 -0
- package/lib/components/__tests__/MenuBar.test.js +459 -0
- package/lib/components/__tests__/RespArea.test.js +171 -0
- package/lib/components/__tests__/TableIcons.test.js +153 -0
- package/lib/components/__tests__/TextAlign.test.js +216 -0
- package/lib/components/__tests__/TiptapContainer.test.js +196 -0
- package/lib/components/__tests__/characterUtils.test.js +189 -0
- package/lib/components/__tests__/choice.test.js +213 -0
- package/lib/components/__tests__/custom-popper.test.js +108 -0
- package/lib/components/__tests__/done-button.test.js +72 -0
- package/lib/components/__tests__/toolbar-buttons.test.js +277 -0
- package/lib/components/characters/characterUtils.js +2 -0
- package/lib/components/characters/characterUtils.js.map +1 -1
- package/lib/components/characters/custom-popper.js +1 -0
- package/lib/components/characters/custom-popper.js.map +1 -1
- package/lib/components/common/done-button.js +1 -0
- package/lib/components/common/done-button.js.map +1 -1
- package/lib/components/common/toolbar-buttons.js +12 -0
- package/lib/components/common/toolbar-buttons.js.map +1 -1
- package/lib/components/icons/CssIcon.js +1 -0
- package/lib/components/icons/CssIcon.js.map +1 -1
- package/lib/components/icons/RespArea.js +10 -0
- package/lib/components/icons/RespArea.js.map +1 -1
- package/lib/components/icons/TableIcons.js +1 -0
- package/lib/components/icons/TableIcons.js.map +1 -1
- package/lib/components/icons/TextAlign.js +7 -0
- package/lib/components/icons/TextAlign.js.map +1 -1
- package/lib/components/image/AltDialog.js +5 -0
- package/lib/components/image/AltDialog.js.map +1 -1
- package/lib/components/image/ImageToolbar.js +13 -0
- package/lib/components/image/ImageToolbar.js.map +1 -1
- package/lib/components/image/InsertImageHandler.js +10 -0
- package/lib/components/image/InsertImageHandler.js.map +1 -1
- package/lib/components/media/MediaDialog.js +18 -0
- package/lib/components/media/MediaDialog.js.map +1 -1
- package/lib/components/media/MediaToolbar.js +2 -0
- package/lib/components/media/MediaToolbar.js.map +1 -1
- package/lib/components/media/MediaWrapper.js +11 -0
- package/lib/components/media/MediaWrapper.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +10 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/choice.js +8 -0
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
- package/lib/components/respArea/ExplicitConstructedResponse.js +8 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
- package/lib/components/respArea/InlineDropdown.js +7 -0
- package/lib/components/respArea/InlineDropdown.js.map +1 -1
- package/lib/components/respArea/ToolbarIcon.js +10 -0
- package/lib/components/respArea/ToolbarIcon.js.map +1 -1
- package/lib/constants.js +1 -0
- package/lib/constants.js.map +1 -1
- package/lib/extensions/__tests__/component.test.js +314 -0
- package/lib/extensions/__tests__/css.test.js +218 -0
- package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +185 -0
- package/lib/extensions/__tests__/extended-table.test.js +114 -0
- package/lib/extensions/__tests__/image.test.js +178 -0
- package/lib/extensions/__tests__/media.test.js +296 -0
- package/lib/extensions/__tests__/responseArea.test.js +332 -0
- package/lib/extensions/component.js +22 -2
- package/lib/extensions/css.js +11 -0
- package/lib/extensions/css.js.map +1 -1
- package/lib/extensions/custom-toolbar-wrapper.js +15 -0
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -1
- package/lib/extensions/extended-table.js +4 -0
- package/lib/extensions/extended-table.js.map +1 -1
- package/lib/extensions/image-component.js +314 -0
- package/lib/extensions/image-component.js.map +1 -0
- package/lib/extensions/image.js +13 -2
- package/lib/extensions/image.js.map +1 -1
- package/lib/extensions/index.js +12 -2
- package/lib/extensions/index.js.map +1 -1
- package/lib/extensions/math.js +16 -0
- package/lib/extensions/math.js.map +1 -1
- package/lib/extensions/media.js +15 -0
- package/lib/extensions/media.js.map +1 -1
- package/lib/extensions/responseArea.js +22 -0
- package/lib/extensions/responseArea.js.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/styles/editorContainerStyles.js +1 -0
- package/lib/styles/editorContainerStyles.js.map +1 -1
- package/lib/theme.js +1 -0
- package/lib/theme.js.map +1 -1
- package/lib/utils/size.js +6 -0
- package/lib/utils/size.js.map +1 -1
- package/package.json +8 -8
- package/src/__tests__/EditableHtml.test.jsx +266 -0
- package/src/__tests__/constants.test.js +20 -0
- package/src/__tests__/extensions.test.js +208 -0
- package/src/__tests__/index.test.jsx +146 -0
- package/src/__tests__/size-utils.test.js +64 -0
- package/src/__tests__/theme.test.js +17 -0
- package/src/components/EditableHtml.jsx +8 -6
- package/src/components/__tests__/AltDialog.test.jsx +147 -0
- package/src/components/__tests__/CharacterPicker.test.jsx +195 -0
- package/src/components/__tests__/CssIcon.test.jsx +46 -0
- package/src/components/__tests__/DragInTheBlank.test.jsx +255 -0
- package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +161 -0
- package/src/components/__tests__/ImageToolbar.test.jsx +128 -0
- package/src/components/__tests__/InlineDropdown.test.jsx +187 -0
- package/src/components/__tests__/InsertImageHandler.test.js +154 -0
- package/src/components/__tests__/MediaDialog.test.jsx +293 -0
- package/src/components/__tests__/MediaToolbar.test.jsx +74 -0
- package/src/components/__tests__/MediaWrapper.test.jsx +81 -0
- package/src/components/__tests__/MenuBar.test.jsx +217 -0
- package/src/components/__tests__/RespArea.test.jsx +122 -0
- package/src/components/__tests__/TableIcons.test.jsx +149 -0
- package/src/components/__tests__/TextAlign.test.jsx +167 -0
- package/src/components/__tests__/TiptapContainer.test.jsx +138 -0
- package/src/components/__tests__/characterUtils.test.js +166 -0
- package/src/components/__tests__/choice.test.jsx +171 -0
- package/src/components/__tests__/custom-popper.test.jsx +82 -0
- package/src/components/__tests__/done-button.test.jsx +54 -0
- package/src/components/__tests__/toolbar-buttons.test.jsx +234 -0
- package/src/extensions/__tests__/css.test.js +196 -0
- package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +180 -0
- package/src/extensions/__tests__/extended-table.test.js +107 -0
- package/src/extensions/__tests__/image-component.test.jsx +249 -0
- package/src/extensions/__tests__/image.test.js +136 -0
- package/src/extensions/__tests__/media.test.js +270 -0
- package/src/extensions/__tests__/responseArea.test.js +310 -0
- package/src/extensions/{component.jsx → image-component.jsx} +11 -1
- package/src/extensions/image.js +1 -1
- package/src/extensions/index.js +5 -1
- package/LICENSE.md +0 -5
- package/NEXT.CHANGELOG.json +0 -1
- package/lib/extensions/component.js.map +0 -1
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
7
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
8
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
9
|
+
require("core-js/modules/es.object.keys.js");
|
|
10
|
+
require("core-js/modules/es.object.to-string.js");
|
|
11
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
12
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
13
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
+
require("core-js/modules/es.object.define-property.js");
|
|
15
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _react = _interopRequireDefault(require("react"));
|
|
18
|
+
var _react2 = require("@testing-library/react");
|
|
19
|
+
var _CharacterPicker = require("../CharacterPicker");
|
|
20
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
|
+
jest.mock('react-dom', function () {
|
|
23
|
+
return _objectSpread(_objectSpread({}, jest.requireActual('react-dom')), {}, {
|
|
24
|
+
createPortal: function createPortal(node) {
|
|
25
|
+
return node;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
jest.mock('@pie-lib/math-toolbar', function () {
|
|
30
|
+
return {
|
|
31
|
+
PureToolbar: function PureToolbar(_ref) {
|
|
32
|
+
var onChange = _ref.onChange,
|
|
33
|
+
onDone = _ref.onDone,
|
|
34
|
+
additionalKeys = _ref.additionalKeys;
|
|
35
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
36
|
+
"data-testid": "pure-toolbar"
|
|
37
|
+
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
38
|
+
onClick: function onClick() {
|
|
39
|
+
return onChange('á');
|
|
40
|
+
},
|
|
41
|
+
"data-testid": "char-button"
|
|
42
|
+
}, "\xE1"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
43
|
+
onClick: onDone,
|
|
44
|
+
"data-testid": "done-button"
|
|
45
|
+
}, "Done"));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
jest.mock('../characters/custom-popper', function () {
|
|
50
|
+
return {
|
|
51
|
+
__esModule: true,
|
|
52
|
+
"default": function _default(_ref2) {
|
|
53
|
+
var children = _ref2.children,
|
|
54
|
+
onClose = _ref2.onClose;
|
|
55
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
56
|
+
"data-testid": "custom-popper"
|
|
57
|
+
}, children, /*#__PURE__*/_react["default"].createElement("button", {
|
|
58
|
+
onClick: onClose,
|
|
59
|
+
"data-testid": "close-popper"
|
|
60
|
+
}, "Close"));
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
describe('CharacterIcon', function () {
|
|
65
|
+
it('renders with letter', function () {
|
|
66
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterIcon, {
|
|
67
|
+
letter: "\xF1"
|
|
68
|
+
})),
|
|
69
|
+
getByText = _render.getByText;
|
|
70
|
+
expect(getByText('ñ')).toBeInTheDocument();
|
|
71
|
+
});
|
|
72
|
+
it('renders with correct styling', function () {
|
|
73
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterIcon, {
|
|
74
|
+
letter: "\u20AC"
|
|
75
|
+
})),
|
|
76
|
+
container = _render2.container;
|
|
77
|
+
var div = container.firstChild;
|
|
78
|
+
expect(div).toHaveStyle({
|
|
79
|
+
fontSize: '24px',
|
|
80
|
+
lineHeight: '24px'
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
describe('CharacterPicker', function () {
|
|
85
|
+
var mockEditor = {
|
|
86
|
+
chain: jest.fn(function () {
|
|
87
|
+
return {
|
|
88
|
+
focus: jest.fn(function () {
|
|
89
|
+
return {
|
|
90
|
+
insertContent: jest.fn(function () {
|
|
91
|
+
return {
|
|
92
|
+
run: jest.fn()
|
|
93
|
+
};
|
|
94
|
+
})
|
|
95
|
+
};
|
|
96
|
+
})
|
|
97
|
+
};
|
|
98
|
+
}),
|
|
99
|
+
options: {
|
|
100
|
+
element: document.createElement('div')
|
|
101
|
+
},
|
|
102
|
+
view: {
|
|
103
|
+
coordsAtPos: jest.fn(function () {
|
|
104
|
+
return {
|
|
105
|
+
top: 100,
|
|
106
|
+
left: 50
|
|
107
|
+
};
|
|
108
|
+
}),
|
|
109
|
+
dom: document.createElement('div')
|
|
110
|
+
},
|
|
111
|
+
state: {
|
|
112
|
+
selection: {
|
|
113
|
+
from: 0
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
beforeEach(function () {
|
|
118
|
+
jest.clearAllMocks();
|
|
119
|
+
// Reset the element to avoid "Cannot redefine property" error
|
|
120
|
+
mockEditor.options.element = document.createElement('div');
|
|
121
|
+
Object.defineProperty(mockEditor.options.element, 'getBoundingClientRect', {
|
|
122
|
+
value: jest.fn(function () {
|
|
123
|
+
return {
|
|
124
|
+
top: 0,
|
|
125
|
+
left: 0,
|
|
126
|
+
height: 100
|
|
127
|
+
};
|
|
128
|
+
}),
|
|
129
|
+
configurable: true
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
it('returns null when opts has no characters', function () {
|
|
133
|
+
var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
134
|
+
editor: mockEditor,
|
|
135
|
+
opts: {},
|
|
136
|
+
onClose: jest.fn()
|
|
137
|
+
})),
|
|
138
|
+
container = _render3.container;
|
|
139
|
+
expect(container.firstChild).toBeNull();
|
|
140
|
+
});
|
|
141
|
+
it('returns null when opts is not provided', function () {
|
|
142
|
+
var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
143
|
+
editor: mockEditor,
|
|
144
|
+
opts: null,
|
|
145
|
+
onClose: jest.fn()
|
|
146
|
+
})),
|
|
147
|
+
container = _render4.container;
|
|
148
|
+
expect(container.firstChild).toBeNull();
|
|
149
|
+
});
|
|
150
|
+
it('renders character picker with spanish config', function () {
|
|
151
|
+
var opts = {
|
|
152
|
+
language: 'spanish',
|
|
153
|
+
characters: [['á', 'é', 'í']]
|
|
154
|
+
};
|
|
155
|
+
var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
156
|
+
editor: mockEditor,
|
|
157
|
+
opts: opts,
|
|
158
|
+
onClose: jest.fn()
|
|
159
|
+
})),
|
|
160
|
+
getByTestId = _render5.getByTestId;
|
|
161
|
+
expect(getByTestId('pure-toolbar')).toBeInTheDocument();
|
|
162
|
+
});
|
|
163
|
+
it('renders character picker with special config', function () {
|
|
164
|
+
var opts = {
|
|
165
|
+
language: 'special',
|
|
166
|
+
characters: [['€', '£']]
|
|
167
|
+
};
|
|
168
|
+
var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
169
|
+
editor: mockEditor,
|
|
170
|
+
opts: opts,
|
|
171
|
+
onClose: jest.fn()
|
|
172
|
+
})),
|
|
173
|
+
getByTestId = _render6.getByTestId;
|
|
174
|
+
expect(getByTestId('pure-toolbar')).toBeInTheDocument();
|
|
175
|
+
});
|
|
176
|
+
it('handles character insertion', function () {
|
|
177
|
+
var opts = {
|
|
178
|
+
characters: [['á', 'é']]
|
|
179
|
+
};
|
|
180
|
+
var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
181
|
+
editor: mockEditor,
|
|
182
|
+
opts: opts,
|
|
183
|
+
onClose: jest.fn()
|
|
184
|
+
})),
|
|
185
|
+
getByTestId = _render7.getByTestId;
|
|
186
|
+
_react2.fireEvent.click(getByTestId('char-button'));
|
|
187
|
+
expect(mockEditor.chain).toHaveBeenCalled();
|
|
188
|
+
});
|
|
189
|
+
it('calls onClose when done button is clicked', function () {
|
|
190
|
+
var onClose = jest.fn();
|
|
191
|
+
var opts = {
|
|
192
|
+
characters: [['á', 'é']]
|
|
193
|
+
};
|
|
194
|
+
var _render8 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
195
|
+
editor: mockEditor,
|
|
196
|
+
opts: opts,
|
|
197
|
+
onClose: onClose
|
|
198
|
+
})),
|
|
199
|
+
getByTestId = _render8.getByTestId;
|
|
200
|
+
_react2.fireEvent.click(getByTestId('done-button'));
|
|
201
|
+
expect(onClose).toHaveBeenCalled();
|
|
202
|
+
});
|
|
203
|
+
it('closes on outside click', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
204
|
+
var onClose, opts;
|
|
205
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
206
|
+
while (1) switch (_context.prev = _context.next) {
|
|
207
|
+
case 0:
|
|
208
|
+
onClose = jest.fn();
|
|
209
|
+
opts = {
|
|
210
|
+
characters: [['á', 'é']]
|
|
211
|
+
};
|
|
212
|
+
(0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
213
|
+
editor: mockEditor,
|
|
214
|
+
opts: opts,
|
|
215
|
+
onClose: onClose
|
|
216
|
+
}));
|
|
217
|
+
_context.next = 1;
|
|
218
|
+
return (0, _react2.waitFor)(function () {
|
|
219
|
+
_react2.fireEvent.mouseDown(document.body);
|
|
220
|
+
});
|
|
221
|
+
case 1:
|
|
222
|
+
expect(onClose).toHaveBeenCalled();
|
|
223
|
+
case 2:
|
|
224
|
+
case "end":
|
|
225
|
+
return _context.stop();
|
|
226
|
+
}
|
|
227
|
+
}, _callee);
|
|
228
|
+
})));
|
|
229
|
+
it('does not close when clicking inside picker', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
230
|
+
var onClose, opts, _render9, container;
|
|
231
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
232
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
233
|
+
case 0:
|
|
234
|
+
onClose = jest.fn();
|
|
235
|
+
opts = {
|
|
236
|
+
characters: [['á', 'é']]
|
|
237
|
+
};
|
|
238
|
+
_render9 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
239
|
+
editor: mockEditor,
|
|
240
|
+
opts: opts,
|
|
241
|
+
onClose: onClose
|
|
242
|
+
})), container = _render9.container;
|
|
243
|
+
_context2.next = 1;
|
|
244
|
+
return (0, _react2.waitFor)(function () {
|
|
245
|
+
var picker = container.querySelector('.insert-character-dialog');
|
|
246
|
+
if (picker) {
|
|
247
|
+
_react2.fireEvent.mouseDown(picker);
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
case 1:
|
|
251
|
+
expect(onClose).not.toHaveBeenCalled();
|
|
252
|
+
case 2:
|
|
253
|
+
case "end":
|
|
254
|
+
return _context2.stop();
|
|
255
|
+
}
|
|
256
|
+
}, _callee2);
|
|
257
|
+
})));
|
|
258
|
+
it('renders with custom opts structure', function () {
|
|
259
|
+
var opts = {
|
|
260
|
+
characters: [[{
|
|
261
|
+
name: 'a',
|
|
262
|
+
write: 'á',
|
|
263
|
+
label: 'á'
|
|
264
|
+
}, {
|
|
265
|
+
name: 'e',
|
|
266
|
+
write: 'é',
|
|
267
|
+
label: 'é'
|
|
268
|
+
}]]
|
|
269
|
+
};
|
|
270
|
+
var _render0 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
271
|
+
editor: mockEditor,
|
|
272
|
+
opts: opts,
|
|
273
|
+
onClose: jest.fn()
|
|
274
|
+
})),
|
|
275
|
+
getByTestId = _render0.getByTestId;
|
|
276
|
+
expect(getByTestId('pure-toolbar')).toBeInTheDocument();
|
|
277
|
+
});
|
|
278
|
+
it('renders with hasPreview option', function () {
|
|
279
|
+
var opts = {
|
|
280
|
+
hasPreview: true,
|
|
281
|
+
characters: [[{
|
|
282
|
+
name: 'euro',
|
|
283
|
+
write: '€',
|
|
284
|
+
label: '€',
|
|
285
|
+
description: 'Euro sign',
|
|
286
|
+
unicode: 'U+20AC'
|
|
287
|
+
}]]
|
|
288
|
+
};
|
|
289
|
+
var _render1 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
290
|
+
editor: mockEditor,
|
|
291
|
+
opts: opts,
|
|
292
|
+
onClose: jest.fn()
|
|
293
|
+
})),
|
|
294
|
+
getByTestId = _render1.getByTestId;
|
|
295
|
+
expect(getByTestId('pure-toolbar')).toBeInTheDocument();
|
|
296
|
+
});
|
|
297
|
+
it('calculates position correctly', function () {
|
|
298
|
+
var opts = {
|
|
299
|
+
characters: [['á']]
|
|
300
|
+
};
|
|
301
|
+
var _render10 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CharacterPicker.CharacterPicker, {
|
|
302
|
+
editor: mockEditor,
|
|
303
|
+
opts: opts,
|
|
304
|
+
onClose: jest.fn()
|
|
305
|
+
})),
|
|
306
|
+
container = _render10.container;
|
|
307
|
+
var dialog = container.querySelector('.insert-character-dialog');
|
|
308
|
+
expect(dialog).toHaveStyle({
|
|
309
|
+
position: 'absolute'
|
|
310
|
+
});
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfQ2hhcmFjdGVyUGlja2VyIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJqZXN0IiwibW9jayIsInJlcXVpcmVBY3R1YWwiLCJjcmVhdGVQb3J0YWwiLCJub2RlIiwiUHVyZVRvb2xiYXIiLCJfcmVmIiwib25DaGFuZ2UiLCJvbkRvbmUiLCJhZGRpdGlvbmFsS2V5cyIsImNyZWF0ZUVsZW1lbnQiLCJvbkNsaWNrIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfcmVmMiIsImNoaWxkcmVuIiwib25DbG9zZSIsImRlc2NyaWJlIiwiaXQiLCJfcmVuZGVyIiwicmVuZGVyIiwiQ2hhcmFjdGVySWNvbiIsImxldHRlciIsImdldEJ5VGV4dCIsImV4cGVjdCIsInRvQmVJblRoZURvY3VtZW50IiwiX3JlbmRlcjIiLCJjb250YWluZXIiLCJkaXYiLCJmaXJzdENoaWxkIiwidG9IYXZlU3R5bGUiLCJmb250U2l6ZSIsImxpbmVIZWlnaHQiLCJtb2NrRWRpdG9yIiwiY2hhaW4iLCJmbiIsImZvY3VzIiwiaW5zZXJ0Q29udGVudCIsInJ1biIsIm9wdGlvbnMiLCJlbGVtZW50IiwiZG9jdW1lbnQiLCJ2aWV3IiwiY29vcmRzQXRQb3MiLCJ0b3AiLCJsZWZ0IiwiZG9tIiwic3RhdGUiLCJzZWxlY3Rpb24iLCJmcm9tIiwiYmVmb3JlRWFjaCIsImNsZWFyQWxsTW9ja3MiLCJ2YWx1ZSIsImhlaWdodCIsImNvbmZpZ3VyYWJsZSIsIl9yZW5kZXIzIiwiQ2hhcmFjdGVyUGlja2VyIiwiZWRpdG9yIiwib3B0cyIsInRvQmVOdWxsIiwiX3JlbmRlcjQiLCJsYW5ndWFnZSIsImNoYXJhY3RlcnMiLCJfcmVuZGVyNSIsImdldEJ5VGVzdElkIiwiX3JlbmRlcjYiLCJfcmVuZGVyNyIsImZpcmVFdmVudCIsImNsaWNrIiwidG9IYXZlQmVlbkNhbGxlZCIsIl9yZW5kZXI4IiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIndhaXRGb3IiLCJtb3VzZURvd24iLCJib2R5Iiwic3RvcCIsIl9jYWxsZWUyIiwiX3JlbmRlcjkiLCJfY29udGV4dDIiLCJwaWNrZXIiLCJxdWVyeVNlbGVjdG9yIiwibm90IiwibmFtZSIsIndyaXRlIiwibGFiZWwiLCJfcmVuZGVyMCIsImhhc1ByZXZpZXciLCJkZXNjcmlwdGlvbiIsInVuaWNvZGUiLCJfcmVuZGVyMSIsIl9yZW5kZXIxMCIsImRpYWxvZyIsInBvc2l0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvX190ZXN0c19fL0NoYXJhY3RlclBpY2tlci50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyLCBmaXJlRXZlbnQsIHdhaXRGb3IgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCB7IENoYXJhY3RlclBpY2tlciwgQ2hhcmFjdGVySWNvbiB9IGZyb20gJy4uL0NoYXJhY3RlclBpY2tlcic7XG5cbmplc3QubW9jaygncmVhY3QtZG9tJywgKCkgPT4gKHtcbiAgLi4uamVzdC5yZXF1aXJlQWN0dWFsKCdyZWFjdC1kb20nKSxcbiAgY3JlYXRlUG9ydGFsOiAobm9kZSkgPT4gbm9kZSxcbn0pKTtcblxuamVzdC5tb2NrKCdAcGllLWxpYi9tYXRoLXRvb2xiYXInLCAoKSA9PiAoe1xuICBQdXJlVG9vbGJhcjogKHsgb25DaGFuZ2UsIG9uRG9uZSwgYWRkaXRpb25hbEtleXMgfSkgPT4gKFxuICAgIDxkaXYgZGF0YS10ZXN0aWQ9XCJwdXJlLXRvb2xiYXJcIj5cbiAgICAgIDxidXR0b24gb25DbGljaz17KCkgPT4gb25DaGFuZ2UoJ8OhJyl9IGRhdGEtdGVzdGlkPVwiY2hhci1idXR0b25cIj5cbiAgICAgICAgw6FcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBvbkNsaWNrPXtvbkRvbmV9IGRhdGEtdGVzdGlkPVwiZG9uZS1idXR0b25cIj5cbiAgICAgICAgRG9uZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICksXG59KSk7XG5cbmplc3QubW9jaygnLi4vY2hhcmFjdGVycy9jdXN0b20tcG9wcGVyJywgKCkgPT4gKHtcbiAgX19lc01vZHVsZTogdHJ1ZSxcbiAgZGVmYXVsdDogKHsgY2hpbGRyZW4sIG9uQ2xvc2UgfSkgPT4gKFxuICAgIDxkaXYgZGF0YS10ZXN0aWQ9XCJjdXN0b20tcG9wcGVyXCI+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8YnV0dG9uIG9uQ2xpY2s9e29uQ2xvc2V9IGRhdGEtdGVzdGlkPVwiY2xvc2UtcG9wcGVyXCI+XG4gICAgICAgIENsb3NlXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKSxcbn0pKTtcblxuZGVzY3JpYmUoJ0NoYXJhY3Rlckljb24nLCAoKSA9PiB7XG4gIGl0KCdyZW5kZXJzIHdpdGggbGV0dGVyJywgKCkgPT4ge1xuICAgIGNvbnN0IHsgZ2V0QnlUZXh0IH0gPSByZW5kZXIoPENoYXJhY3Rlckljb24gbGV0dGVyPVwiw7FcIiAvPik7XG4gICAgZXhwZWN0KGdldEJ5VGV4dCgnw7EnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgd2l0aCBjb3JyZWN0IHN0eWxpbmcnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8Q2hhcmFjdGVySWNvbiBsZXR0ZXI9XCLigqxcIiAvPik7XG4gICAgY29uc3QgZGl2ID0gY29udGFpbmVyLmZpcnN0Q2hpbGQ7XG4gICAgZXhwZWN0KGRpdikudG9IYXZlU3R5bGUoeyBmb250U2l6ZTogJzI0cHgnLCBsaW5lSGVpZ2h0OiAnMjRweCcgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdDaGFyYWN0ZXJQaWNrZXInLCAoKSA9PiB7XG4gIGNvbnN0IG1vY2tFZGl0b3IgPSB7XG4gICAgY2hhaW46IGplc3QuZm4oKCkgPT4gKHtcbiAgICAgIGZvY3VzOiBqZXN0LmZuKCgpID0+ICh7XG4gICAgICAgIGluc2VydENvbnRlbnQ6IGplc3QuZm4oKCkgPT4gKHsgcnVuOiBqZXN0LmZuKCkgfSkpLFxuICAgICAgfSkpLFxuICAgIH0pKSxcbiAgICBvcHRpb25zOiB7XG4gICAgICBlbGVtZW50OiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSxcbiAgICB9LFxuICAgIHZpZXc6IHtcbiAgICAgIGNvb3Jkc0F0UG9zOiBqZXN0LmZuKCgpID0+ICh7IHRvcDogMTAwLCBsZWZ0OiA1MCB9KSksXG4gICAgICBkb206IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLFxuICAgIH0sXG4gICAgc3RhdGU6IHtcbiAgICAgIHNlbGVjdGlvbjogeyBmcm9tOiAwIH0sXG4gICAgfSxcbiAgfTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBqZXN0LmNsZWFyQWxsTW9ja3MoKTtcbiAgICAvLyBSZXNldCB0aGUgZWxlbWVudCB0byBhdm9pZCBcIkNhbm5vdCByZWRlZmluZSBwcm9wZXJ0eVwiIGVycm9yXG4gICAgbW9ja0VkaXRvci5vcHRpb25zLmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja0VkaXRvci5vcHRpb25zLmVsZW1lbnQsICdnZXRCb3VuZGluZ0NsaWVudFJlY3QnLCB7XG4gICAgICB2YWx1ZTogamVzdC5mbigoKSA9PiAoeyB0b3A6IDAsIGxlZnQ6IDAsIGhlaWdodDogMTAwIH0pKSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3JldHVybnMgbnVsbCB3aGVuIG9wdHMgaGFzIG5vIGNoYXJhY3RlcnMnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8Q2hhcmFjdGVyUGlja2VyIGVkaXRvcj17bW9ja0VkaXRvcn0gb3B0cz17e319IG9uQ2xvc2U9e2plc3QuZm4oKX0gLz4pO1xuICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZU51bGwoKTtcbiAgfSk7XG5cbiAgaXQoJ3JldHVybnMgbnVsbCB3aGVuIG9wdHMgaXMgbm90IHByb3ZpZGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPENoYXJhY3RlclBpY2tlciBlZGl0b3I9e21vY2tFZGl0b3J9IG9wdHM9e251bGx9IG9uQ2xvc2U9e2plc3QuZm4oKX0gLz4pO1xuICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZU51bGwoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgY2hhcmFjdGVyIHBpY2tlciB3aXRoIHNwYW5pc2ggY29uZmlnJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICBsYW5ndWFnZTogJ3NwYW5pc2gnLFxuICAgICAgY2hhcmFjdGVyczogW1snw6EnLCAnw6knLCAnw60nXV0sXG4gICAgfTtcbiAgICBjb25zdCB7IGdldEJ5VGVzdElkIH0gPSByZW5kZXIoPENoYXJhY3RlclBpY2tlciBlZGl0b3I9e21vY2tFZGl0b3J9IG9wdHM9e29wdHN9IG9uQ2xvc2U9e2plc3QuZm4oKX0gLz4pO1xuICAgIGV4cGVjdChnZXRCeVRlc3RJZCgncHVyZS10b29sYmFyJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdyZW5kZXJzIGNoYXJhY3RlciBwaWNrZXIgd2l0aCBzcGVjaWFsIGNvbmZpZycsICgpID0+IHtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgbGFuZ3VhZ2U6ICdzcGVjaWFsJyxcbiAgICAgIGNoYXJhY3RlcnM6IFtbJ+KCrCcsICfCoyddXSxcbiAgICB9O1xuICAgIGNvbnN0IHsgZ2V0QnlUZXN0SWQgfSA9IHJlbmRlcig8Q2hhcmFjdGVyUGlja2VyIGVkaXRvcj17bW9ja0VkaXRvcn0gb3B0cz17b3B0c30gb25DbG9zZT17amVzdC5mbigpfSAvPik7XG4gICAgZXhwZWN0KGdldEJ5VGVzdElkKCdwdXJlLXRvb2xiYXInKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ2hhbmRsZXMgY2hhcmFjdGVyIGluc2VydGlvbicsICgpID0+IHtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgY2hhcmFjdGVyczogW1snw6EnLCAnw6knXV0sXG4gICAgfTtcbiAgICBjb25zdCB7IGdldEJ5VGVzdElkIH0gPSByZW5kZXIoPENoYXJhY3RlclBpY2tlciBlZGl0b3I9e21vY2tFZGl0b3J9IG9wdHM9e29wdHN9IG9uQ2xvc2U9e2plc3QuZm4oKX0gLz4pO1xuICAgIGZpcmVFdmVudC5jbGljayhnZXRCeVRlc3RJZCgnY2hhci1idXR0b24nKSk7XG4gICAgZXhwZWN0KG1vY2tFZGl0b3IuY2hhaW4pLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ2NhbGxzIG9uQ2xvc2Ugd2hlbiBkb25lIGJ1dHRvbiBpcyBjbGlja2VkJywgKCkgPT4ge1xuICAgIGNvbnN0IG9uQ2xvc2UgPSBqZXN0LmZuKCk7XG4gICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgIGNoYXJhY3RlcnM6IFtbJ8OhJywgJ8OpJ11dLFxuICAgIH07XG4gICAgY29uc3QgeyBnZXRCeVRlc3RJZCB9ID0gcmVuZGVyKDxDaGFyYWN0ZXJQaWNrZXIgZWRpdG9yPXttb2NrRWRpdG9yfSBvcHRzPXtvcHRzfSBvbkNsb3NlPXtvbkNsb3NlfSAvPik7XG4gICAgZmlyZUV2ZW50LmNsaWNrKGdldEJ5VGVzdElkKCdkb25lLWJ1dHRvbicpKTtcbiAgICBleHBlY3Qob25DbG9zZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnY2xvc2VzIG9uIG91dHNpZGUgY2xpY2snLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25DbG9zZSA9IGplc3QuZm4oKTtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgY2hhcmFjdGVyczogW1snw6EnLCAnw6knXV0sXG4gICAgfTtcbiAgICByZW5kZXIoPENoYXJhY3RlclBpY2tlciBlZGl0b3I9e21vY2tFZGl0b3J9IG9wdHM9e29wdHN9IG9uQ2xvc2U9e29uQ2xvc2V9IC8+KTtcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgICAgZmlyZUV2ZW50Lm1vdXNlRG93bihkb2N1bWVudC5ib2R5KTtcbiAgICB9KTtcblxuICAgIGV4cGVjdChvbkNsb3NlKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xuXG4gIGl0KCdkb2VzIG5vdCBjbG9zZSB3aGVuIGNsaWNraW5nIGluc2lkZSBwaWNrZXInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25DbG9zZSA9IGplc3QuZm4oKTtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgY2hhcmFjdGVyczogW1snw6EnLCAnw6knXV0sXG4gICAgfTtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxDaGFyYWN0ZXJQaWNrZXIgZWRpdG9yPXttb2NrRWRpdG9yfSBvcHRzPXtvcHRzfSBvbkNsb3NlPXtvbkNsb3NlfSAvPik7XG5cbiAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHtcbiAgICAgIGNvbnN0IHBpY2tlciA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuaW5zZXJ0LWNoYXJhY3Rlci1kaWFsb2cnKTtcbiAgICAgIGlmIChwaWNrZXIpIHtcbiAgICAgICAgZmlyZUV2ZW50Lm1vdXNlRG93bihwaWNrZXIpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwZWN0KG9uQ2xvc2UpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xuXG4gIGl0KCdyZW5kZXJzIHdpdGggY3VzdG9tIG9wdHMgc3RydWN0dXJlJywgKCkgPT4ge1xuICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICBjaGFyYWN0ZXJzOiBbXG4gICAgICAgIFtcbiAgICAgICAgICB7IG5hbWU6ICdhJywgd3JpdGU6ICfDoScsIGxhYmVsOiAnw6EnIH0sXG4gICAgICAgICAgeyBuYW1lOiAnZScsIHdyaXRlOiAnw6knLCBsYWJlbDogJ8OpJyB9LFxuICAgICAgICBdLFxuICAgICAgXSxcbiAgICB9O1xuICAgIGNvbnN0IHsgZ2V0QnlUZXN0SWQgfSA9IHJlbmRlcig8Q2hhcmFjdGVyUGlja2VyIGVkaXRvcj17bW9ja0VkaXRvcn0gb3B0cz17b3B0c30gb25DbG9zZT17amVzdC5mbigpfSAvPik7XG4gICAgZXhwZWN0KGdldEJ5VGVzdElkKCdwdXJlLXRvb2xiYXInKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgd2l0aCBoYXNQcmV2aWV3IG9wdGlvbicsICgpID0+IHtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgaGFzUHJldmlldzogdHJ1ZSxcbiAgICAgIGNoYXJhY3RlcnM6IFtcbiAgICAgICAgW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdldXJvJyxcbiAgICAgICAgICAgIHdyaXRlOiAn4oKsJyxcbiAgICAgICAgICAgIGxhYmVsOiAn4oKsJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRXVybyBzaWduJyxcbiAgICAgICAgICAgIHVuaWNvZGU6ICdVKzIwQUMnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICBdLFxuICAgIH07XG4gICAgY29uc3QgeyBnZXRCeVRlc3RJZCB9ID0gcmVuZGVyKDxDaGFyYWN0ZXJQaWNrZXIgZWRpdG9yPXttb2NrRWRpdG9yfSBvcHRzPXtvcHRzfSBvbkNsb3NlPXtqZXN0LmZuKCl9IC8+KTtcbiAgICBleHBlY3QoZ2V0QnlUZXN0SWQoJ3B1cmUtdG9vbGJhcicpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcblxuICBpdCgnY2FsY3VsYXRlcyBwb3NpdGlvbiBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgIGNoYXJhY3RlcnM6IFtbJ8OhJ11dLFxuICAgIH07XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8Q2hhcmFjdGVyUGlja2VyIGVkaXRvcj17bW9ja0VkaXRvcn0gb3B0cz17b3B0c30gb25DbG9zZT17amVzdC5mbigpfSAvPik7XG4gICAgY29uc3QgZGlhbG9nID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5pbnNlcnQtY2hhcmFjdGVyLWRpYWxvZycpO1xuICAgIGV4cGVjdChkaWFsb2cpLnRvSGF2ZVN0eWxlKHsgcG9zaXRpb246ICdhYnNvbHV0ZScgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxnQkFBQSxHQUFBRixPQUFBO0FBQW9FLFNBQUFHLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENB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
|
|
@@ -0,0 +1,58 @@
|
|
|
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 _CssIcon = _interopRequireDefault(require("../icons/CssIcon"));
|
|
7
|
+
describe('CssIcon', function () {
|
|
8
|
+
it('renders without crashing', function () {
|
|
9
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CssIcon["default"], null)),
|
|
10
|
+
container = _render.container;
|
|
11
|
+
expect(container).toBeInTheDocument();
|
|
12
|
+
});
|
|
13
|
+
it('renders CSS text', function () {
|
|
14
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CssIcon["default"], null)),
|
|
15
|
+
getByText = _render2.getByText;
|
|
16
|
+
expect(getByText('CSS')).toBeInTheDocument();
|
|
17
|
+
});
|
|
18
|
+
it('applies correct font family', function () {
|
|
19
|
+
var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CssIcon["default"], null)),
|
|
20
|
+
getByText = _render3.getByText;
|
|
21
|
+
var element = getByText('CSS');
|
|
22
|
+
// Font family is applied via styled component, just verify text renders
|
|
23
|
+
expect(element).toBeInTheDocument();
|
|
24
|
+
});
|
|
25
|
+
it('applies bold font weight', function () {
|
|
26
|
+
var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CssIcon["default"], null)),
|
|
27
|
+
getByText = _render4.getByText;
|
|
28
|
+
var element = getByText('CSS');
|
|
29
|
+
expect(element).toHaveStyle({
|
|
30
|
+
fontWeight: 'bold'
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
it('has correct line height', function () {
|
|
34
|
+
var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CssIcon["default"], null)),
|
|
35
|
+
getByText = _render5.getByText;
|
|
36
|
+
var element = getByText('CSS');
|
|
37
|
+
expect(element).toHaveStyle({
|
|
38
|
+
lineHeight: '14px'
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
it('has relative positioning', function () {
|
|
42
|
+
var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CssIcon["default"], null)),
|
|
43
|
+
getByText = _render6.getByText;
|
|
44
|
+
var element = getByText('CSS');
|
|
45
|
+
expect(element).toHaveStyle({
|
|
46
|
+
position: 'relative'
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
it('has nowrap white space', function () {
|
|
50
|
+
var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_CssIcon["default"], null)),
|
|
51
|
+
getByText = _render7.getByText;
|
|
52
|
+
var element = getByText('CSS');
|
|
53
|
+
expect(element).toHaveStyle({
|
|
54
|
+
whiteSpace: 'nowrap'
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfQ3NzSWNvbiIsImRlc2NyaWJlIiwiaXQiLCJfcmVuZGVyIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImNvbnRhaW5lciIsImV4cGVjdCIsInRvQmVJblRoZURvY3VtZW50IiwiX3JlbmRlcjIiLCJnZXRCeVRleHQiLCJfcmVuZGVyMyIsImVsZW1lbnQiLCJfcmVuZGVyNCIsInRvSGF2ZVN0eWxlIiwiZm9udFdlaWdodCIsIl9yZW5kZXI1IiwibGluZUhlaWdodCIsIl9yZW5kZXI2IiwicG9zaXRpb24iLCJfcmVuZGVyNyIsIndoaXRlU3BhY2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9fX3Rlc3RzX18vQ3NzSWNvbi50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgQ3NzSWNvbiBmcm9tICcuLi9pY29ucy9Dc3NJY29uJztcblxuZGVzY3JpYmUoJ0Nzc0ljb24nLCAoKSA9PiB7XG4gIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8Q3NzSWNvbiAvPik7XG4gICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgQ1NTIHRleHQnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBnZXRCeVRleHQgfSA9IHJlbmRlcig8Q3NzSWNvbiAvPik7XG4gICAgZXhwZWN0KGdldEJ5VGV4dCgnQ1NTJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdhcHBsaWVzIGNvcnJlY3QgZm9udCBmYW1pbHknLCAoKSA9PiB7XG4gICAgY29uc3QgeyBnZXRCeVRleHQgfSA9IHJlbmRlcig8Q3NzSWNvbiAvPik7XG4gICAgY29uc3QgZWxlbWVudCA9IGdldEJ5VGV4dCgnQ1NTJyk7XG4gICAgLy8gRm9udCBmYW1pbHkgaXMgYXBwbGllZCB2aWEgc3R5bGVkIGNvbXBvbmVudCwganVzdCB2ZXJpZnkgdGV4dCByZW5kZXJzXG4gICAgZXhwZWN0KGVsZW1lbnQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdhcHBsaWVzIGJvbGQgZm9udCB3ZWlnaHQnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBnZXRCeVRleHQgfSA9IHJlbmRlcig8Q3NzSWNvbiAvPik7XG4gICAgY29uc3QgZWxlbWVudCA9IGdldEJ5VGV4dCgnQ1NTJyk7XG4gICAgZXhwZWN0KGVsZW1lbnQpLnRvSGF2ZVN0eWxlKHsgZm9udFdlaWdodDogJ2JvbGQnIH0pO1xuICB9KTtcblxuICBpdCgnaGFzIGNvcnJlY3QgbGluZSBoZWlnaHQnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBnZXRCeVRleHQgfSA9IHJlbmRlcig8Q3NzSWNvbiAvPik7XG4gICAgY29uc3QgZWxlbWVudCA9IGdldEJ5VGV4dCgnQ1NTJyk7XG4gICAgZXhwZWN0KGVsZW1lbnQpLnRvSGF2ZVN0eWxlKHsgbGluZUhlaWdodDogJzE0cHgnIH0pO1xuICB9KTtcblxuICBpdCgnaGFzIHJlbGF0aXZlIHBvc2l0aW9uaW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IHsgZ2V0QnlUZXh0IH0gPSByZW5kZXIoPENzc0ljb24gLz4pO1xuICAgIGNvbnN0IGVsZW1lbnQgPSBnZXRCeVRleHQoJ0NTUycpO1xuICAgIGV4cGVjdChlbGVtZW50KS50b0hhdmVTdHlsZSh7IHBvc2l0aW9uOiAncmVsYXRpdmUnIH0pO1xuICB9KTtcblxuICBpdCgnaGFzIG5vd3JhcCB3aGl0ZSBzcGFjZScsICgpID0+IHtcbiAgICBjb25zdCB7IGdldEJ5VGV4dCB9ID0gcmVuZGVyKDxDc3NJY29uIC8+KTtcbiAgICBjb25zdCBlbGVtZW50ID0gZ2V0QnlUZXh0KCdDU1MnKTtcbiAgICBleHBlY3QoZWxlbWVudCkudG9IYXZlU3R5bGUoeyB3aGl0ZVNwYWNlOiAnbm93cmFwJyB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUFHLFFBQVEsQ0FBQyxTQUFTLEVBQUUsWUFBTTtFQUN4QkMsRUFBRSxDQUFDLDBCQUEwQixFQUFFLFlBQU07SUFDbkMsSUFBQUMsT0FBQSxHQUFzQixJQUFBQyxjQUFNLGVBQUNSLE1BQUEsWUFBQVMsYUFBQSxDQUFDTCxRQUFBLFdBQU8sTUFBRSxDQUFDLENBQUM7TUFBakNNLFNBQVMsR0FBQUgsT0FBQSxDQUFURyxTQUFTO0lBQ2pCQyxNQUFNLENBQUNELFNBQVMsQ0FBQyxDQUFDRSxpQkFBaUIsQ0FBQyxDQUFDO0VBQ3ZDLENBQUMsQ0FBQztFQUVGTixFQUFFLENBQUMsa0JBQWtCLEVBQUUsWUFBTTtJQUMzQixJQUFBTyxRQUFBLEdBQXNCLElBQUFMLGNBQU0sZUFBQ1IsTUFBQSxZQUFBUyxhQUFBLENBQUNMLFFBQUEsV0FBTyxNQUFFLENBQUMsQ0FBQztNQUFqQ1UsU0FBUyxHQUFBRCxRQUFBLENBQVRDLFNBQVM7SUFDakJILE1BQU0sQ0FBQ0csU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUNGLGlCQUFpQixDQUFDLENBQUM7RUFDOUMsQ0FBQyxDQUFDO0VBRUZOLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxZQUFNO0lBQ3RDLElBQUFTLFFBQUEsR0FBc0IsSUFBQVAsY0FBTSxlQUFDUixNQUFBLFlBQUFTLGFBQUEsQ0FBQ0wsUUFBQSxXQUFPLE1BQUUsQ0FBQyxDQUFDO01BQWpDVSxTQUFTLEdBQUFDLFFBQUEsQ0FBVEQsU0FBUztJQUNqQixJQUFNRSxPQUFPLEdBQUdGLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDaEM7SUFDQUgsTUFBTSxDQUFDSyxPQUFPLENBQUMsQ0FBQ0osaUJBQWlCLENBQUMsQ0FBQztFQUNyQyxDQUFDLENBQUM7RUFFRk4sRUFBRSxDQUFDLDBCQUEwQixFQUFFLFlBQU07SUFDbkMsSUFBQVcsUUFBQSxHQUFzQixJQUFBVCxjQUFNLGVBQUNSLE1BQUEsWUFBQVMsYUFBQSxDQUFDTCxRQUFBLFdBQU8sTUFBRSxDQUFDLENBQUM7TUFBakNVLFNBQVMsR0FBQUcsUUFBQSxDQUFUSCxTQUFTO0lBQ2pCLElBQU1FLE9BQU8sR0FBR0YsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNoQ0gsTUFBTSxDQUFDSyxPQUFPLENBQUMsQ0FBQ0UsV0FBVyxDQUFDO01BQUVDLFVBQVUsRUFBRTtJQUFPLENBQUMsQ0FBQztFQUNyRCxDQUFDLENBQUM7RUFFRmIsRUFBRSxDQUFDLHlCQUF5QixFQUFFLFlBQU07SUFDbEMsSUFBQWMsUUFBQSxHQUFzQixJQUFBWixjQUFNLGVBQUNSLE1BQUEsWUFBQVMsYUFBQSxDQUFDTCxRQUFBLFdBQU8sTUFBRSxDQUFDLENBQUM7TUFBakNVLFNBQVMsR0FBQU0sUUFBQSxDQUFUTixTQUFTO0lBQ2pCLElBQU1FLE9BQU8sR0FBR0YsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNoQ0gsTUFBTSxDQUFDSyxPQUFPLENBQUMsQ0FBQ0UsV0FBVyxDQUFDO01BQUVHLFVBQVUsRUFBRTtJQUFPLENBQUMsQ0FBQztFQUNyRCxDQUFDLENBQUM7RUFFRmYsRUFBRSxDQUFDLDBCQUEwQixFQUFFLFlBQU07SUFDbkMsSUFBQWdCLFFBQUEsR0FBc0IsSUFBQWQsY0FBTSxlQUFDUixNQUFBLFlBQUFTLGFBQUEsQ0FBQ0wsUUFBQSxXQUFPLE1BQUUsQ0FBQyxDQUFDO01BQWpDVSxTQUFTLEdBQUFRLFFBQUEsQ0FBVFIsU0FBUztJQUNqQixJQUFNRSxPQUFPLEdBQUdGLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDaENILE1BQU0sQ0FBQ0ssT0FBTyxDQUFDLENBQUNFLFdBQVcsQ0FBQztNQUFFSyxRQUFRLEVBQUU7SUFBVyxDQUFDLENBQUM7RUFDdkQsQ0FBQyxDQUFDO0VBRUZqQixFQUFFLENBQUMsd0JBQXdCLEVBQUUsWUFBTTtJQUNqQyxJQUFBa0IsUUFBQSxHQUFzQixJQUFBaEIsY0FBTSxlQUFDUixNQUFBLFlBQUFTLGFBQUEsQ0FBQ0wsUUFBQSxXQUFPLE1BQUUsQ0FBQyxDQUFDO01BQWpDVSxTQUFTLEdBQUFVLFFBQUEsQ0FBVFYsU0FBUztJQUNqQixJQUFNRSxPQUFPLEdBQUdGLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDaENILE1BQU0sQ0FBQ0ssT0FBTyxDQUFDLENBQUNFLFdBQVcsQ0FBQztNQUFFTyxVQUFVLEVBQUU7SUFBUyxDQUFDLENBQUM7RUFDdkQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|