|
1 | 1 | import {builders} from 'prosemirror-test-builder'; |
2 | 2 | import {parseDOM} from '../../../../tests/parse-dom'; |
| 3 | +import {createMarkupChecker} from '../../../../tests/sameMarkup'; |
3 | 4 | import {ExtensionsManager} from '../../../core'; |
4 | 5 | import {BaseNode, BaseSpecsPreset} from '../../base/specs'; |
| 6 | +import {BoldSpecs, boldMarkName} from '../../markdown/Bold/BoldSpecs'; |
5 | 7 | import {BreakNodeName, BreaksSpecs} from './BreaksSpecs'; |
6 | 8 |
|
7 | | -const {schema} = new ExtensionsManager({ |
8 | | - extensions: (builder) => builder.use(BaseSpecsPreset, {}).use(BreaksSpecs, {}), |
| 9 | +const {schema, parser, serializer} = new ExtensionsManager({ |
| 10 | + extensions: (builder) => builder.use(BaseSpecsPreset, {}).use(BreaksSpecs, {}).use(BoldSpecs), |
9 | 11 | }).buildDeps(); |
10 | 12 |
|
11 | | -const {doc, p, hb} = builders(schema, { |
| 13 | +const {doc, p, hb, sb, bold} = builders(schema, { |
12 | 14 | doc: {nodeType: BaseNode.Doc}, |
13 | 15 | p: {nodeType: BaseNode.Paragraph}, |
14 | 16 | hb: {nodeType: BreakNodeName.HardBreak}, |
15 | | -}) as PMTestBuilderResult<'doc' | 'p' | 'hb'>; |
| 17 | + sb: {nodeType: BreakNodeName.SoftBreak}, |
| 18 | + bold: {markType: boldMarkName}, |
| 19 | +}) as PMTestBuilderResult<'doc' | 'p' | 'hb' | 'sb', 'bold'>; |
| 20 | + |
| 21 | +const {serialize} = createMarkupChecker({parser, serializer}); |
16 | 22 |
|
17 | 23 | describe('Breaks extension', () => { |
| 24 | + it('should serialize hard break', () => |
| 25 | + serialize( |
| 26 | + doc(p('Lorem ', bold('ipsum', hb()), 'dolor sit amet')), |
| 27 | + 'Lorem **ipsum**\\\ndolor sit amet', |
| 28 | + )); |
| 29 | + |
| 30 | + it('should serialize soft break', () => |
| 31 | + serialize( |
| 32 | + doc(p('Lorem ', bold('ipsum', sb()), 'dolor sit amet')), |
| 33 | + 'Lorem **ipsum**\ndolor sit amet', |
| 34 | + )); |
| 35 | + |
18 | 36 | it('should parse html - br tag', () => { |
19 | 37 | parseDOM(schema, '<div>hello<br>world!</div>', doc(p('hello', hb(), 'world!'))); |
20 | 38 | }); |
|
0 commit comments