File tree 1 file changed +32
-0
lines changed
1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -462,3 +462,35 @@ fn issue580() {
462
462
}
463
463
) ;
464
464
}
465
+
466
+ /// Regression test for https://github.com/tafia/quick-xml/issues/683.
467
+ #[ test]
468
+ fn issue683 ( ) {
469
+ #[ derive( Deserialize , Debug , PartialEq ) ]
470
+ enum ScheduleLocation {
471
+ #[ serde( rename = "DT" ) ]
472
+ Destination ,
473
+ }
474
+
475
+ #[ derive( Deserialize , Debug , PartialEq ) ]
476
+ #[ allow( non_snake_case) ]
477
+ struct Schedule {
478
+ cancelReason : Option < u32 > ,
479
+ #[ serde( rename = "$value" ) ]
480
+ locations : Vec < ScheduleLocation > ,
481
+ }
482
+ let xml = r#"
483
+ <schedule xmlns:ns2="http://www.thalesgroup.com/rtti/PushPort/Schedules/v3">
484
+ <ns2:DT/>
485
+ <ns2:cancelReason>918</ns2:cancelReason>
486
+ </schedule>"# ;
487
+ let result = quick_xml:: de:: from_str :: < Schedule > ( xml) ;
488
+ dbg ! ( & result) ;
489
+ assert_eq ! (
490
+ result. unwrap( ) ,
491
+ Schedule {
492
+ cancelReason: Some ( 918 ) ,
493
+ locations: vec![ ScheduleLocation :: Destination ] ,
494
+ }
495
+ ) ;
496
+ }
You can’t perform that action at this time.
0 commit comments