@@ -4,7 +4,7 @@ import {createMarkupChecker} from '../../../../tests/sameMarkup';
44import { ExtensionsManager } from '../../../core' ;
55import { BaseNode , BaseSchemaSpecs } from '../../base/specs' ;
66
7- import { ListNode , ListsSpecs } from './ListsSpecs' ;
7+ import { ListNode , ListsAttr , ListsSpecs } from './ListsSpecs' ;
88
99const {
1010 schema,
@@ -26,35 +26,94 @@ const {same} = createMarkupChecker({parser, serializer});
2626
2727describe ( 'Lists extension' , ( ) => {
2828 it ( 'should parse bullet list' , ( ) => {
29- same ( '* one\n\n* two' , doc ( ul ( li ( p ( 'one' ) ) , li ( p ( 'two' ) ) ) ) ) ;
29+ same (
30+ '* one\n\n* two' ,
31+ doc (
32+ ul (
33+ { [ ListsAttr . Bullet ] : '*' } ,
34+ li ( { [ ListsAttr . Markup ] : '*' } , p ( 'one' ) ) ,
35+ li ( { [ ListsAttr . Markup ] : '*' } , p ( 'two' ) ) ,
36+ ) ,
37+ ) ,
38+ ) ;
3039 } ) ;
3140
3241 it ( 'should parse ordered list' , ( ) => {
33- same ( '1. one\n\n2. two' , doc ( ol ( li ( p ( 'one' ) ) , li ( p ( 'two' ) ) ) ) ) ;
42+ same (
43+ '1. one\n\n2. two' ,
44+ doc (
45+ ol (
46+ li ( { [ ListsAttr . Markup ] : '.' } , p ( 'one' ) ) ,
47+ li ( { [ ListsAttr . Markup ] : '.' } , p ( 'two' ) ) ,
48+ ) ,
49+ ) ,
50+ ) ;
3451 } ) ;
3552
3653 it ( 'should parse nested lists' , ( ) => {
3754 const markup = `
38- * one
55+ - one
3956
4057 1. two
4158
42- * three
59+ + three
4360
4461 2. four
4562
46- * five
63+ - five
4764 ` . trim ( ) ;
4865
4966 same (
5067 markup ,
5168 doc (
5269 ul (
70+ { [ ListsAttr . Bullet ] : '-' } ,
5371 li (
72+ { [ ListsAttr . Markup ] : '-' } ,
5473 p ( 'one' ) ,
55- ol ( li ( p ( 'two' ) , ul ( { tight : true } , li ( p ( 'three' ) ) ) ) , li ( p ( 'four' ) ) ) ,
74+ ol (
75+ li (
76+ { [ ListsAttr . Markup ] : '.' } ,
77+ p ( 'two' ) ,
78+ ul (
79+ { [ ListsAttr . Tight ] : true , [ ListsAttr . Bullet ] : '+' } ,
80+ li ( { [ ListsAttr . Markup ] : '+' } , p ( 'three' ) ) ,
81+ ) ,
82+ ) ,
83+ li ( { [ ListsAttr . Markup ] : '.' } , p ( 'four' ) ) ,
84+ ) ,
85+ ) ,
86+ li ( { [ ListsAttr . Markup ] : '-' } , p ( 'five' ) ) ,
87+ ) ,
88+ ) ,
89+ ) ;
90+ } ) ;
91+
92+ it ( 'should parse nested lists 2' , ( ) => {
93+ same (
94+ '- + * 2. item' ,
95+ doc (
96+ ul (
97+ { [ ListsAttr . Bullet ] : '-' } ,
98+ li (
99+ { [ ListsAttr . Markup ] : '-' } ,
100+ ul (
101+ { [ ListsAttr . Bullet ] : '+' } ,
102+ li (
103+ { [ ListsAttr . Markup ] : '+' } ,
104+ ul (
105+ { [ ListsAttr . Bullet ] : '*' } ,
106+ li (
107+ { [ ListsAttr . Markup ] : '*' } ,
108+ ol (
109+ { [ ListsAttr . Order ] : 2 , [ ListsAttr . Tight ] : true } ,
110+ li ( { [ ListsAttr . Markup ] : '.' } , p ( 'item' ) ) ,
111+ ) ,
112+ ) ,
113+ ) ,
114+ ) ,
115+ ) ,
56116 ) ,
57- li ( p ( 'five' ) ) ,
58117 ) ,
59118 ) ,
60119 ) ;
0 commit comments