1- const { removeAtag } = require ( '../../src/core/render/utils' ) ;
1+ const {
2+ removeAtag,
3+ getAndRemoveConfig,
4+ } = require ( '../../src/core/render/utils' ) ;
25
36const { tree } = require ( `../../src/core/render/tpl` ) ;
47
@@ -16,6 +19,46 @@ describe('core/render/utils', () => {
1619 expect ( result ) . toEqual ( 'content' ) ;
1720 } ) ;
1821 } ) ;
22+
23+ // getAndRemoveConfig()
24+ // ---------------------------------------------------------------------------
25+ describe ( 'getAndRemoveConfig()' , ( ) => {
26+ test ( 'parse simple config' , ( ) => {
27+ const result = getAndRemoveConfig (
28+ `[filename](_media/example.md ':include')`
29+ ) ;
30+
31+ expect ( result ) . toMatchObject ( {
32+ config : { } ,
33+ str : `[filename](_media/example.md ':include')` ,
34+ } ) ;
35+ } ) ;
36+
37+ test ( 'parse config with arguments' , ( ) => {
38+ const result = getAndRemoveConfig (
39+ `[filename](_media/example.md ':include :foo=bar :baz test')`
40+ ) ;
41+
42+ expect ( result ) . toMatchObject ( {
43+ config : {
44+ foo : 'bar' ,
45+ baz : true ,
46+ } ,
47+ str : `[filename](_media/example.md ':include test')` ,
48+ } ) ;
49+ } ) ;
50+
51+ test ( 'parse config with double quotes' , ( ) => {
52+ const result = getAndRemoveConfig (
53+ `[filename](_media/example.md ":include")`
54+ ) ;
55+
56+ expect ( result ) . toMatchObject ( {
57+ config : { } ,
58+ str : `[filename](_media/example.md ":include")` ,
59+ } ) ;
60+ } ) ;
61+ } ) ;
1962} ) ;
2063
2164describe ( 'core/render/tpl' , ( ) => {
0 commit comments