File tree 1 file changed +80
-51
lines changed
1 file changed +80
-51
lines changed Original file line number Diff line number Diff line change @@ -512,59 +512,88 @@ mod tuple {
512
512
}
513
513
}
514
514
515
- #[ test]
516
- fn struct_ ( ) {
517
- let value = AdjacentlyTagged :: Struct :: < u8 > { f : 1 } ;
515
+ mod struct_ {
516
+ use super :: * ;
518
517
519
- // struct with tag first
520
- assert_tokens (
521
- & value,
522
- & [
523
- Token :: Struct {
524
- name : "AdjacentlyTagged" ,
525
- len : 2 ,
526
- } ,
527
- Token :: Str ( "t" ) ,
528
- Token :: UnitVariant {
529
- name : "AdjacentlyTagged" ,
530
- variant : "Struct" ,
531
- } ,
532
- Token :: Str ( "c" ) ,
533
- Token :: Struct {
534
- name : "Struct" ,
535
- len : 1 ,
536
- } ,
537
- Token :: Str ( "f" ) ,
538
- Token :: U8 ( 1 ) ,
539
- Token :: StructEnd ,
540
- Token :: StructEnd ,
541
- ] ,
542
- ) ;
518
+ #[ test]
519
+ fn map ( ) {
520
+ let value = AdjacentlyTagged :: Struct :: < u8 > { f : 1 } ;
543
521
544
- // struct with content first
545
- assert_de_tokens (
546
- & value,
547
- & [
548
- Token :: Struct {
549
- name : "AdjacentlyTagged" ,
550
- len : 2 ,
551
- } ,
552
- Token :: Str ( "c" ) ,
553
- Token :: Struct {
554
- name : "Struct" ,
555
- len : 1 ,
556
- } ,
557
- Token :: Str ( "f" ) ,
558
- Token :: U8 ( 1 ) ,
559
- Token :: StructEnd ,
560
- Token :: Str ( "t" ) ,
561
- Token :: UnitVariant {
562
- name : "AdjacentlyTagged" ,
563
- variant : "Struct" ,
564
- } ,
565
- Token :: StructEnd ,
566
- ] ,
567
- ) ;
522
+ // Map: tag + content
523
+ assert_tokens (
524
+ & value,
525
+ & [
526
+ Token :: Struct {
527
+ name : "AdjacentlyTagged" ,
528
+ len : 2 ,
529
+ } ,
530
+ Token :: Str ( "t" ) ,
531
+ Token :: UnitVariant {
532
+ name : "AdjacentlyTagged" ,
533
+ variant : "Struct" ,
534
+ } ,
535
+ Token :: Str ( "c" ) ,
536
+ Token :: Struct {
537
+ name : "Struct" ,
538
+ len : 1 ,
539
+ } ,
540
+ Token :: Str ( "f" ) ,
541
+ Token :: U8 ( 1 ) ,
542
+ Token :: StructEnd ,
543
+ Token :: StructEnd ,
544
+ ] ,
545
+ ) ;
546
+
547
+ // Map: content + tag
548
+ assert_de_tokens (
549
+ & value,
550
+ & [
551
+ Token :: Struct {
552
+ name : "AdjacentlyTagged" ,
553
+ len : 2 ,
554
+ } ,
555
+ Token :: Str ( "c" ) ,
556
+ Token :: Struct {
557
+ name : "Struct" ,
558
+ len : 1 ,
559
+ } ,
560
+ Token :: Str ( "f" ) ,
561
+ Token :: U8 ( 1 ) ,
562
+ Token :: StructEnd ,
563
+ Token :: Str ( "t" ) ,
564
+ Token :: UnitVariant {
565
+ name : "AdjacentlyTagged" ,
566
+ variant : "Struct" ,
567
+ } ,
568
+ Token :: StructEnd ,
569
+ ] ,
570
+ ) ;
571
+ }
572
+
573
+ #[ test]
574
+ fn seq ( ) {
575
+ let value = AdjacentlyTagged :: Struct :: < u8 > { f : 1 } ;
576
+
577
+ // Seq: tag + content
578
+ assert_de_tokens (
579
+ & value,
580
+ & [
581
+ Token :: Seq { len : Some ( 2 ) } ,
582
+ Token :: UnitVariant {
583
+ name : "AdjacentlyTagged" ,
584
+ variant : "Struct" ,
585
+ } ,
586
+ Token :: Struct {
587
+ name : "Struct" ,
588
+ len : 1 ,
589
+ } ,
590
+ Token :: Str ( "f" ) ,
591
+ Token :: U8 ( 1 ) ,
592
+ Token :: StructEnd ,
593
+ Token :: SeqEnd ,
594
+ ] ,
595
+ ) ;
596
+ }
568
597
}
569
598
570
599
#[ test]
You can’t perform that action at this time.
0 commit comments