@uiw/react-md-editor 3.23.4 → 3.23.6

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.
@@ -29,8 +29,8 @@ var DragBar = props => {
29
29
  dragRef.current = undefined;
30
30
  document.removeEventListener('mousemove', handleMouseMove);
31
31
  document.removeEventListener('mouseup', handleMouseUp);
32
- (_$dom$current = $dom.current) == null ? void 0 : _$dom$current.removeEventListener('touchmove', handleMouseMove);
33
- (_$dom$current2 = $dom.current) == null ? void 0 : _$dom$current2.removeEventListener('touchend', handleMouseUp);
32
+ (_$dom$current = $dom.current) == null || _$dom$current.removeEventListener('touchmove', handleMouseMove);
33
+ (_$dom$current2 = $dom.current) == null || _$dom$current2.removeEventListener('touchend', handleMouseUp);
34
34
  }
35
35
  function handleMouseDown(event) {
36
36
  var _changedTouches$2, _$dom$current3, _$dom$current4;
@@ -42,25 +42,25 @@ var DragBar = props => {
42
42
  };
43
43
  document.addEventListener('mousemove', handleMouseMove);
44
44
  document.addEventListener('mouseup', handleMouseUp);
45
- (_$dom$current3 = $dom.current) == null ? void 0 : _$dom$current3.addEventListener('touchmove', handleMouseMove, {
45
+ (_$dom$current3 = $dom.current) == null || _$dom$current3.addEventListener('touchmove', handleMouseMove, {
46
46
  passive: false
47
47
  });
48
- (_$dom$current4 = $dom.current) == null ? void 0 : _$dom$current4.addEventListener('touchend', handleMouseUp, {
48
+ (_$dom$current4 = $dom.current) == null || _$dom$current4.addEventListener('touchend', handleMouseUp, {
49
49
  passive: false
50
50
  });
51
51
  }
52
52
  useEffect(() => {
53
53
  if (document) {
54
54
  var _$dom$current5, _$dom$current6;
55
- (_$dom$current5 = $dom.current) == null ? void 0 : _$dom$current5.addEventListener('touchstart', handleMouseDown, {
55
+ (_$dom$current5 = $dom.current) == null || _$dom$current5.addEventListener('touchstart', handleMouseDown, {
56
56
  passive: false
57
57
  });
58
- (_$dom$current6 = $dom.current) == null ? void 0 : _$dom$current6.addEventListener('mousedown', handleMouseDown);
58
+ (_$dom$current6 = $dom.current) == null || _$dom$current6.addEventListener('mousedown', handleMouseDown);
59
59
  }
60
60
  return () => {
61
61
  if (document) {
62
62
  var _$dom$current7;
63
- (_$dom$current7 = $dom.current) == null ? void 0 : _$dom$current7.removeEventListener('touchstart', handleMouseDown);
63
+ (_$dom$current7 = $dom.current) == null || _$dom$current7.removeEventListener('touchstart', handleMouseDown);
64
64
  document.removeEventListener('mousemove', handleMouseMove);
65
65
  }
66
66
  };
@@ -34,8 +34,8 @@ var DragBar = function DragBar(props) {
34
34
  dragRef.current = undefined;
35
35
  document.removeEventListener('mousemove', handleMouseMove);
36
36
  document.removeEventListener('mouseup', handleMouseUp);
37
- (_$dom$current = $dom.current) === null || _$dom$current === void 0 ? void 0 : _$dom$current.removeEventListener('touchmove', handleMouseMove);
38
- (_$dom$current2 = $dom.current) === null || _$dom$current2 === void 0 ? void 0 : _$dom$current2.removeEventListener('touchend', handleMouseUp);
37
+ (_$dom$current = $dom.current) === null || _$dom$current === void 0 || _$dom$current.removeEventListener('touchmove', handleMouseMove);
38
+ (_$dom$current2 = $dom.current) === null || _$dom$current2 === void 0 || _$dom$current2.removeEventListener('touchend', handleMouseUp);
39
39
  }
40
40
  function handleMouseDown(event) {
41
41
  var _changedTouches$2, _$dom$current3, _$dom$current4;
@@ -47,25 +47,25 @@ var DragBar = function DragBar(props) {
47
47
  };
48
48
  document.addEventListener('mousemove', handleMouseMove);
49
49
  document.addEventListener('mouseup', handleMouseUp);
50
- (_$dom$current3 = $dom.current) === null || _$dom$current3 === void 0 ? void 0 : _$dom$current3.addEventListener('touchmove', handleMouseMove, {
50
+ (_$dom$current3 = $dom.current) === null || _$dom$current3 === void 0 || _$dom$current3.addEventListener('touchmove', handleMouseMove, {
51
51
  passive: false
52
52
  });
53
- (_$dom$current4 = $dom.current) === null || _$dom$current4 === void 0 ? void 0 : _$dom$current4.addEventListener('touchend', handleMouseUp, {
53
+ (_$dom$current4 = $dom.current) === null || _$dom$current4 === void 0 || _$dom$current4.addEventListener('touchend', handleMouseUp, {
54
54
  passive: false
55
55
  });
56
56
  }
57
57
  (0, _react.useEffect)(function () {
58
58
  if (document) {
59
59
  var _$dom$current5, _$dom$current6;
60
- (_$dom$current5 = $dom.current) === null || _$dom$current5 === void 0 ? void 0 : _$dom$current5.addEventListener('touchstart', handleMouseDown, {
60
+ (_$dom$current5 = $dom.current) === null || _$dom$current5 === void 0 || _$dom$current5.addEventListener('touchstart', handleMouseDown, {
61
61
  passive: false
62
62
  });
63
- (_$dom$current6 = $dom.current) === null || _$dom$current6 === void 0 ? void 0 : _$dom$current6.addEventListener('mousedown', handleMouseDown);
63
+ (_$dom$current6 = $dom.current) === null || _$dom$current6 === void 0 || _$dom$current6.addEventListener('mousedown', handleMouseDown);
64
64
  }
65
65
  return function () {
66
66
  if (document) {
67
67
  var _$dom$current7;
68
- (_$dom$current7 = $dom.current) === null || _$dom$current7 === void 0 ? void 0 : _$dom$current7.removeEventListener('touchstart', handleMouseDown);
68
+ (_$dom$current7 = $dom.current) === null || _$dom$current7 === void 0 || _$dom$current7.removeEventListener('touchstart', handleMouseDown);
69
69
  document.removeEventListener('mousemove', handleMouseMove);
70
70
  }
71
71
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uiw/react-md-editor",
3
- "version": "3.23.4",
3
+ "version": "3.23.6",
4
4
  "description": "A markdown editor with preview, implemented with React.js and TypeScript.",
5
5
  "homepage": "https://uiwjs.github.io/react-md-editor/",
6
6
  "author": "kenny wang <wowohoo@qq.com>",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@babel/runtime": "^7.14.6",
27
- "@uiw/react-markdown-preview": "^4.1.5",
27
+ "@uiw/react-markdown-preview": "^4.1.14",
28
28
  "rehype": "~12.0.1",
29
29
  "rehype-prism-plus": "~1.6.1"
30
30
  },
@@ -1,512 +0,0 @@
1
- /**
2
- * @jest-environment jsdom
3
- */
4
- import React from 'react';
5
- import { render, screen, fireEvent } from '@testing-library/react';
6
- import userEvent from '@testing-library/user-event';
7
- import '@testing-library/jest-dom';
8
- import MDEditor, { commands } from '../';
9
-
10
- it('MDEditor commands bold', async () => {
11
- const MyComponent = () => {
12
- const [value, setValue] = React.useState('title');
13
- return (
14
- <MDEditor
15
- value={value}
16
- textareaProps={{ title: 'test' }}
17
- onChange={(value) => {
18
- setValue(value || '');
19
- }}
20
- />
21
- );
22
- };
23
- render(<MyComponent />);
24
- const btn = screen.getByTitle('Add bold text (ctrl + b)');
25
- btn.focus();
26
- fireEvent(
27
- btn,
28
- new MouseEvent('click', {
29
- bubbles: true,
30
- cancelable: true,
31
- }),
32
- );
33
- const inputNode = screen.getByTitle('test');
34
- expect(inputNode).toHaveValue('**title**');
35
- });
36
-
37
- it('MDEditor commands italic', async () => {
38
- const MyComponent = () => {
39
- const [value, setValue] = React.useState('title');
40
- return (
41
- <MDEditor
42
- value={value}
43
- textareaProps={{ title: 'test' }}
44
- onChange={(value) => {
45
- setValue(value || '');
46
- }}
47
- />
48
- );
49
- };
50
- render(<MyComponent />);
51
- const btn = screen.getByTitle('Add italic text (ctrl + i)');
52
- btn.focus();
53
- fireEvent(
54
- btn,
55
- new MouseEvent('click', {
56
- bubbles: true,
57
- cancelable: true,
58
- }),
59
- );
60
- const inputNode = screen.getByTitle('test');
61
- expect(inputNode).toHaveValue('*title*');
62
- });
63
-
64
- it('MDEditor commands code', async () => {
65
- const handleChange = jest.fn((value) => value);
66
- render(<MDEditor value={`He llo \nWold!`} textareaProps={{ title: 'test' }} onChange={handleChange} />);
67
- const input = screen.getByTitle<HTMLInputElement>('test');
68
- input.setSelectionRange(0, 5);
69
- const btn = screen.getByLabelText('Insert code (ctrl + j)');
70
- fireEvent(
71
- btn,
72
- new MouseEvent('click', {
73
- bubbles: true,
74
- cancelable: true,
75
- }),
76
- );
77
- expect(handleChange).toHaveReturnedWith('`He ll`o \nWold!');
78
- });
79
-
80
- it('MDEditor commands selectOptions code', async () => {
81
- const handleChange = jest.fn((value) => value);
82
- render(<MDEditor value={`Hello\nWold!`} textareaProps={{ title: 'test' }} onChange={handleChange} />);
83
- const input = screen.getByTitle<HTMLInputElement>('test');
84
- input.setSelectionRange(0, 11);
85
- const btn = screen.getByLabelText('Insert code (ctrl + j)');
86
- fireEvent(
87
- btn,
88
- new MouseEvent('click', {
89
- bubbles: true,
90
- cancelable: true,
91
- }),
92
- );
93
- expect(handleChange).toHaveReturnedWith('```\nHello\nWold!\n```');
94
- });
95
-
96
- it('MDEditor commands code `ctrlcmd+j`', async () => {
97
- const handleChange = jest.fn((value) => value);
98
- render(<MDEditor value={`Hello`} textareaProps={{ title: 'test' }} onChange={handleChange} />);
99
- const input = screen.getByTitle('test');
100
- fireEvent.keyDown(input, { key: 'J', code: 'KeyJ', ctrlKey: true, shiftKey: true });
101
- expect(handleChange).toHaveReturnedWith('```\nHello\n```');
102
- });
103
-
104
- it('MDEditor commands quote', async () => {
105
- const MyComponent = () => {
106
- const [value, setValue] = React.useState('title');
107
- return (
108
- <MDEditor
109
- value={value}
110
- textareaProps={{ title: 'test' }}
111
- onChange={(value) => {
112
- setValue(value || '');
113
- }}
114
- />
115
- );
116
- };
117
- render(<MyComponent />);
118
- const btn = screen.getByLabelText('Insert a quote (ctrl + q)');
119
- btn.focus();
120
- fireEvent(
121
- btn,
122
- new MouseEvent('click', {
123
- bubbles: true,
124
- cancelable: true,
125
- }),
126
- );
127
- const inputNode = screen.getByTitle('test');
128
- expect(inputNode).toHaveValue('> title');
129
- });
130
-
131
- it('MDEditor commands HR', async () => {
132
- const MyComponent = () => {
133
- const [value, setValue] = React.useState('title');
134
- return (
135
- <MDEditor
136
- value={value}
137
- textareaProps={{ title: 'test' }}
138
- onChange={(value) => {
139
- setValue(value || '');
140
- }}
141
- />
142
- );
143
- };
144
- render(<MyComponent />);
145
- const btn = screen.getByLabelText('Insert HR (ctrl + h)');
146
- btn.focus();
147
- fireEvent(
148
- btn,
149
- new MouseEvent('click', {
150
- bubbles: true,
151
- cancelable: true,
152
- }),
153
- );
154
- const inputNode = screen.getByTitle('test');
155
- expect(inputNode).toHaveValue('\n\n-----------\n\ntitle');
156
- });
157
-
158
- it('MDEditor commands strikethrough text', async () => {
159
- const MyComponent = () => {
160
- const [value, setValue] = React.useState('title');
161
- return (
162
- <MDEditor
163
- value={value}
164
- textareaProps={{ title: 'test' }}
165
- onChange={(value) => {
166
- setValue(value || '');
167
- }}
168
- />
169
- );
170
- };
171
- render(<MyComponent />);
172
- const btn = screen.getByLabelText('Add strikethrough text (ctrl + shift + x)');
173
- btn.focus();
174
- fireEvent(
175
- btn,
176
- new MouseEvent('click', {
177
- bubbles: true,
178
- cancelable: true,
179
- }),
180
- );
181
- const inputNode = screen.getByTitle('test');
182
- expect(inputNode).toHaveValue('~~title~~');
183
- });
184
-
185
- it('MDEditor commands link', async () => {
186
- const MyComponent = () => {
187
- const [value, setValue] = React.useState('title');
188
- return (
189
- <MDEditor
190
- value={value}
191
- textareaProps={{ title: 'test' }}
192
- onChange={(value) => {
193
- setValue(value || '');
194
- }}
195
- />
196
- );
197
- };
198
- render(<MyComponent />);
199
- const btn = screen.getByLabelText('Add a link (ctrl + l)');
200
- btn.focus();
201
- fireEvent(
202
- btn,
203
- new MouseEvent('click', {
204
- bubbles: true,
205
- cancelable: true,
206
- }),
207
- );
208
- const inputNode = screen.getByTitle('test');
209
- expect(inputNode).toHaveValue('[title](URL Here)');
210
- });
211
-
212
- it('MDEditor commands image', async () => {
213
- const MyComponent = () => {
214
- const [value, setValue] = React.useState('title');
215
- return (
216
- <MDEditor
217
- value={value}
218
- textareaProps={{ title: 'test' }}
219
- onChange={(value) => {
220
- setValue(value || '');
221
- }}
222
- />
223
- );
224
- };
225
- render(<MyComponent />);
226
- const btn = screen.getByLabelText('Add image (ctrl + k)');
227
- btn.focus();
228
- fireEvent(
229
- btn,
230
- new MouseEvent('click', {
231
- bubbles: true,
232
- cancelable: true,
233
- }),
234
- );
235
- const inputNode = screen.getByTitle('test');
236
- expect(inputNode).toHaveValue('![image](title)');
237
- });
238
-
239
- it("MDEditor commands image === ''", async () => {
240
- const MyComponent = () => {
241
- const [value, setValue] = React.useState('');
242
- return (
243
- <MDEditor
244
- value={value}
245
- textareaProps={{ title: 'test' }}
246
- onChange={(value) => {
247
- setValue(value || '');
248
- }}
249
- />
250
- );
251
- };
252
- render(<MyComponent />);
253
- const btn = screen.getByLabelText('Add image (ctrl + k)');
254
- btn.focus();
255
- fireEvent(
256
- btn,
257
- new MouseEvent('click', {
258
- bubbles: true,
259
- cancelable: true,
260
- }),
261
- );
262
- const inputNode = screen.getByTitle('test');
263
- expect(inputNode).toHaveValue('![image](https://example.com/your-image.png)');
264
- });
265
-
266
- it('MDEditor commands Add unordered list', async () => {
267
- const MyComponent = () => {
268
- const [value, setValue] = React.useState('title');
269
- return (
270
- <MDEditor
271
- value={value}
272
- textareaProps={{ title: 'test' }}
273
- onChange={(value) => {
274
- setValue(value || '');
275
- }}
276
- />
277
- );
278
- };
279
- render(<MyComponent />);
280
- const btn = screen.getByLabelText('Add unordered list (ctrl + shift + u)');
281
- btn.focus();
282
- fireEvent(
283
- btn,
284
- new MouseEvent('click', {
285
- bubbles: true,
286
- cancelable: true,
287
- }),
288
- );
289
- const inputNode = screen.getByTitle('test');
290
- expect(inputNode).toHaveValue('- title');
291
- });
292
-
293
- it('MDEditor commands Add ordered list', async () => {
294
- const handleChange = jest.fn((value) => value);
295
- render(<MDEditor value="title" textareaProps={{ title: 'test' }} onChange={handleChange} />);
296
- const btn = screen.getByLabelText('Add ordered list (ctrl + shift + o)');
297
- fireEvent(
298
- btn,
299
- new MouseEvent('click', {
300
- bubbles: true,
301
- cancelable: true,
302
- }),
303
- );
304
- expect(handleChange).toHaveReturnedWith('1. title');
305
- });
306
-
307
- it('MDEditor commands Add checked list', async () => {
308
- const MyComponent = () => {
309
- const [value, setValue] = React.useState('title');
310
- return (
311
- <MDEditor
312
- value={value}
313
- textareaProps={{ title: 'test' }}
314
- onChange={(value) => {
315
- setValue(value || '');
316
- }}
317
- />
318
- );
319
- };
320
- render(<MyComponent />);
321
- const btn = screen.getByLabelText('Add checked list (ctrl + shift + c)');
322
-
323
- btn.focus();
324
- fireEvent(
325
- btn,
326
- new MouseEvent('click', {
327
- bubbles: true,
328
- cancelable: true,
329
- }),
330
- );
331
- const inputNode = screen.getByTitle('test');
332
- expect(inputNode).toHaveValue('- [ ] title');
333
- });
334
-
335
- it('MDEditor commands fullscreen', async () => {
336
- const handleChange = jest.fn((value) => value);
337
- await render(<MDEditor value="title" textareaProps={{ title: 'test' }} onChange={handleChange} />);
338
- const btn = screen.getByLabelText('Toggle fullscreen (ctrl + 0)');
339
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
340
- expect(document.body.style).toMatchObject({
341
- overflow: 'hidden',
342
- });
343
- const input = screen.getByTitle('test');
344
- input.focus();
345
- expect(handleChange).not.toHaveReturned();
346
- // await fireEvent.keyDown(input, { key: 'Escape' });
347
- // await fireEvent.keyDown(input, { key: 'Escape' });
348
- userEvent.type(input, `{esc}`);
349
- userEvent.keyboard('{esc}');
350
- expect(document.body.style).toMatchObject({
351
- // overflow: 'visible',
352
- // 🚨🚨🚨🚨🚨🚨🚨🚨🚨 ??????????
353
- overflow: 'hidden',
354
- });
355
- });
356
-
357
- it('MDEditor commands comment `ctrlcmd+/`', async () => {
358
- const handleChange = jest.fn((value) => value);
359
- render(<MDEditor value={`Hello`} textareaProps={{ title: 'test' }} onChange={handleChange} />);
360
- const input = screen.getByTitle('test');
361
- fireEvent.keyDown(input, { key: '/', code: 'Slash', ctrlKey: true });
362
- expect(handleChange).toHaveReturnedWith('<!-- Hello -->');
363
- });
364
-
365
- it('MDEditor commands title1 value === undefined', async () => {
366
- const handleChange = jest.fn((value) => value);
367
- render(<MDEditor onChange={handleChange} commands={[commands.title1]} />);
368
- const btn = screen.getByLabelText('Insert title1 (ctrl + 1)');
369
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
370
- expect(handleChange).toHaveReturnedWith('# ');
371
- });
372
-
373
- it('MDEditor commands title1 value === test', async () => {
374
- const handleChange = jest.fn((value) => value);
375
- render(
376
- <MDEditor
377
- value="test"
378
- textareaProps={{ title: 'textarea' }}
379
- onChange={handleChange}
380
- commands={[commands.title1]}
381
- />,
382
- );
383
- const btn = screen.getByLabelText('Insert title1 (ctrl + 1)');
384
- const input = screen.getByTitle<HTMLTextAreaElement>('textarea');
385
- input.setSelectionRange(2, 2);
386
-
387
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
388
- expect(handleChange).toHaveReturnedWith('# test');
389
- });
390
-
391
- it('MDEditor commands title2 value === undefined', async () => {
392
- const handleChange = jest.fn((value) => value);
393
- render(<MDEditor onChange={handleChange} textareaProps={{ title: 'test' }} commands={[commands.title2]} />);
394
- const input = screen.getByTitle<HTMLInputElement>('test');
395
- input.setSelectionRange(0, 0);
396
- const btn = screen.getByLabelText('Insert title2 (ctrl + 2)');
397
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
398
- input.setSelectionRange(0, 0);
399
- expect(handleChange).toHaveReturnedWith('## ');
400
- });
401
-
402
- it('MDEditor commands title2 value === test', async () => {
403
- const handleChange = jest.fn((value) => value);
404
- render(
405
- <MDEditor value="test" onChange={handleChange} textareaProps={{ title: 'test' }} commands={[commands.title2]} />,
406
- );
407
- const input = screen.getByTitle<HTMLInputElement>('test');
408
- input.setSelectionRange(2, 2);
409
- const btn = screen.getByLabelText('Insert title2 (ctrl + 2)');
410
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
411
- expect(handleChange).toHaveReturnedWith('## test');
412
- });
413
-
414
- it('MDEditor commands title3 value === undefined', async () => {
415
- const handleChange = jest.fn((value) => value);
416
- render(<MDEditor onChange={handleChange} commands={[commands.title3]} />);
417
- const btn = screen.getByLabelText('Insert title3 (ctrl + 3)');
418
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
419
- expect(handleChange).toHaveReturnedWith('### ');
420
- });
421
-
422
- it('MDEditor commands title3 value === test', async () => {
423
- const handleChange = jest.fn((value) => value);
424
- render(
425
- <MDEditor
426
- value="test"
427
- textareaProps={{ title: 'textarea' }}
428
- onChange={handleChange}
429
- commands={[commands.title3]}
430
- />,
431
- );
432
- const btn = screen.getByLabelText('Insert title3 (ctrl + 3)');
433
- const input = screen.getByTitle<HTMLInputElement>('textarea');
434
- input.setSelectionRange(2, 2);
435
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
436
- expect(handleChange).toHaveReturnedWith('### test');
437
- });
438
-
439
- it('MDEditor commands title4 value === undefined', async () => {
440
- const handleChange = jest.fn((value) => value);
441
- render(<MDEditor onChange={handleChange} commands={[commands.title4]} />);
442
- const btn = screen.getByLabelText('Insert title4 (ctrl + 4)');
443
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
444
- expect(handleChange).toHaveReturnedWith('#### ');
445
- });
446
-
447
- it('MDEditor commands title4 value === test', async () => {
448
- const handleChange = jest.fn((value) => value);
449
- render(
450
- <MDEditor
451
- value="test"
452
- textareaProps={{ title: 'textarea' }}
453
- onChange={handleChange}
454
- commands={[commands.title4]}
455
- />,
456
- );
457
- const btn = screen.getByLabelText('Insert title4 (ctrl + 4)');
458
- const input = screen.getByTitle('textarea');
459
- (input as any).setSelectionRange(2, 2);
460
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
461
- expect(handleChange).toHaveReturnedWith('#### test');
462
- });
463
-
464
- it('MDEditor commands title5 value === undefined', async () => {
465
- const handleChange = jest.fn((value) => value);
466
- render(<MDEditor onChange={handleChange} commands={[commands.title5]} />);
467
- const btn = screen.getByLabelText('Insert title5 (ctrl + 5)');
468
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
469
- expect(handleChange).toHaveReturnedWith('##### ');
470
- });
471
-
472
- it('MDEditor commands title5 value === test', async () => {
473
- const handleChange = jest.fn((value) => value);
474
- render(
475
- <MDEditor
476
- value="test"
477
- textareaProps={{ title: 'textarea' }}
478
- onChange={handleChange}
479
- commands={[commands.title5]}
480
- />,
481
- );
482
- const btn = screen.getByLabelText('Insert title5 (ctrl + 5)');
483
- const input = screen.getByTitle<HTMLInputElement>('textarea');
484
- input.setSelectionRange(2, 2);
485
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
486
- expect(handleChange).toHaveReturnedWith('##### test');
487
- });
488
-
489
- it('MDEditor commands title6 value === undefined', async () => {
490
- const handleChange = jest.fn((value) => value);
491
- render(<MDEditor onChange={handleChange} commands={[commands.title6]} />);
492
- const btn = screen.getByLabelText('Insert title6 (ctrl + 6)');
493
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
494
- expect(handleChange).toHaveReturnedWith('###### ');
495
- });
496
-
497
- it('MDEditor commands title6 value === test', async () => {
498
- const handleChange = jest.fn((value) => value);
499
- render(
500
- <MDEditor
501
- value="test"
502
- textareaProps={{ title: 'textarea' }}
503
- onChange={handleChange}
504
- commands={[commands.title6]}
505
- />,
506
- );
507
- const btn = screen.getByLabelText('Insert title6 (ctrl + 6)');
508
- const input = screen.getByTitle('textarea');
509
- (input as any).setSelectionRange(2, 2);
510
- fireEvent(btn, new MouseEvent('click', { bubbles: true, cancelable: true }));
511
- expect(handleChange).toHaveReturnedWith('###### test');
512
- });