253
253
const seq = [ { foo : { bar : { baz } } } , { fe : { fi : { fo : { baz } } } } ]
254
254
expect ( YAML . stringify ( seq ) ) . toBe ( `- foo:
255
255
bar:
256
- baz:
257
- &a1
256
+ baz: &a1
258
257
a: 1
259
258
- fe:
260
259
fi:
364
363
)
365
364
} )
366
365
} )
366
+
367
+ describe ( 'properties on collections in block mapping' , ( ) => {
368
+ test ( 'explicit tag on block sequence' , ( ) => {
369
+ const src = source `
370
+ key: !tag
371
+ - one
372
+ - two
373
+ `
374
+ const doc = YAML . parseDocument ( src )
375
+ expect ( String ( doc ) ) . toBe ( src )
376
+ } )
377
+ test ( 'explicit tag on block mapping' , ( ) => {
378
+ const src = source `
379
+ key: !tag
380
+ one: 1
381
+ two: 2
382
+ `
383
+ const doc = YAML . parseDocument ( src )
384
+ expect ( String ( doc ) ) . toBe ( src )
385
+ } )
386
+ test ( 'single-line comment on block sequence' , ( ) => {
387
+ const src = source `
388
+ key: #comment
389
+ - one
390
+ - two
391
+ `
392
+ const doc = YAML . parseDocument ( src )
393
+ expect ( String ( doc ) ) . toBe ( source `
394
+ key:
395
+ #comment
396
+ - one
397
+ - two
398
+ ` )
399
+ } )
400
+ test ( 'single-line comment and explicit tag on block sequence' , ( ) => {
401
+ const src = source `
402
+ key: #comment
403
+ !tag
404
+ - one
405
+ - two
406
+ `
407
+ const doc = YAML . parseDocument ( src )
408
+ expect ( String ( doc ) ) . toBe ( source `
409
+ key:
410
+ #comment
411
+ !tag
412
+ - one
413
+ - two
414
+ ` )
415
+ } )
416
+ test ( 'explicit tag and comment on block sequence' , ( ) => {
417
+ const src = source `
418
+ key: !tag
419
+ #comment
420
+ - one
421
+ - two
422
+ `
423
+ const doc = YAML . parseDocument ( src )
424
+ expect ( String ( doc ) ) . toBe ( source `
425
+ key:
426
+ #comment
427
+ !tag
428
+ - one
429
+ - two
430
+ ` )
431
+ } )
432
+ test ( 'anchor on block sequence' , ( ) => {
433
+ const src = source `
434
+ key: &anchor
435
+ - one
436
+ - two
437
+ `
438
+ const doc = YAML . parseDocument ( src )
439
+ expect ( String ( doc ) ) . toBe ( src )
440
+ } )
441
+ test ( 'anchor and explicit tag on block sequence' , ( ) => {
442
+ const src = source `
443
+ key: &anchor !tag
444
+ - one
445
+ - two
446
+ `
447
+ const doc = YAML . parseDocument ( src )
448
+ expect ( String ( doc ) ) . toBe ( src )
449
+ } )
450
+ test ( 'explicit tag on empty mapping' , ( ) => {
451
+ const doc = new YAML . Document ( { key : { } } )
452
+ doc . get ( 'key' ) . tag = '!tag'
453
+ expect ( String ( doc ) ) . toBe ( source `
454
+ key: !tag {}
455
+ ` )
456
+ } )
457
+ test ( 'explicit tag on single-line flow mapping' , ( ) => {
458
+ const src = source `
459
+ key: !tag { one: 1, two: 2 }
460
+ `
461
+ const doc = YAML . parseDocument ( src )
462
+ expect ( String ( doc ) ) . toBe ( src )
463
+ } )
464
+ test ( 'explicit tag on multi-line flow mapping' , ( ) => {
465
+ const src = source `
466
+ key: !tag {
467
+ one: aaaaaaaaaa,
468
+ two: bbbbbbbbbb,
469
+ three: cccccccccc,
470
+ four: dddddddddd,
471
+ five: eeeeeeeeee
472
+ }
473
+ `
474
+ const doc = YAML . parseDocument ( src )
475
+ expect ( String ( doc ) ) . toBe ( source `
476
+ key:
477
+ !tag {
478
+ one: aaaaaaaaaa,
479
+ two: bbbbbbbbbb,
480
+ three: cccccccccc,
481
+ four: dddddddddd,
482
+ five: eeeeeeeeee
483
+ }
484
+ ` )
485
+ } )
486
+ test ( 'explicit tag on explicit-value block sequence' , ( ) => {
487
+ const src = source `
488
+ ? [ key ]
489
+ : !tag
490
+ - one
491
+ - two
492
+ `
493
+ const doc = YAML . parseDocument ( src )
494
+ expect ( String ( doc ) ) . toBe ( src )
495
+ } )
496
+ } )
367
497
} )
368
498
369
499
test ( 'eemeli/yaml#43: Quoting colons' , ( ) => {
@@ -702,7 +832,7 @@ describe('indentSeq: false', () => {
702
832
b: 2
703
833
map:
704
834
seq:
705
- #sc
835
+ #sc
706
836
- a
707
837
` )
708
838
} )
@@ -714,7 +844,7 @@ describe('indentSeq: false', () => {
714
844
b: 2
715
845
map:
716
846
seq:
717
- #sc
847
+ #sc
718
848
- a
719
849
` )
720
850
} )
@@ -1182,15 +1312,15 @@ describe('YAML.stringify on ast Document', () => {
1182
1312
} )
1183
1313
1184
1314
describe ( 'flow collection padding' , ( ) => {
1185
- const doc = new YAML . Document ( ) ;
1186
- doc . contents = new YAML . YAMLSeq ( ) ;
1187
- doc . contents . items = [ 1 , 2 ] ;
1188
- doc . contents . flow = true ;
1315
+ const doc = new YAML . Document ( )
1316
+ doc . contents = new YAML . YAMLSeq ( )
1317
+ doc . contents . items = [ 1 , 2 ]
1318
+ doc . contents . flow = true
1189
1319
1190
1320
test ( 'default' , ( ) => {
1191
1321
expect ( doc . toString ( ) ) . toBe ( '[ 1, 2 ]\n' )
1192
- } ) ;
1322
+ } )
1193
1323
test ( 'default' , ( ) => {
1194
- expect ( doc . toString ( { flowCollectionPadding : false } ) ) . toBe ( '[1, 2]\n' )
1195
- } ) ;
1196
- } )
1324
+ expect ( doc . toString ( { flowCollectionPadding : false } ) ) . toBe ( '[1, 2]\n' )
1325
+ } )
1326
+ } )
0 commit comments