@@ -523,4 +523,26 @@ mod nsec_rdata_test{
523
523
assert_eq ! ( nsec_rdata. to_bytes( ) , bytes_to_test) ;
524
524
}
525
525
526
+ #[ test]
527
+ fn from_bytes_root_domain ( ) {
528
+ let next_domain_name_bytes = vec ! [ 0 , 0 , 0 ] ; //codification for domain name = ""
529
+
530
+ let bit_map_bytes_to_test = vec ! [ 0 , 6 , 64 , 1 , 0 , 0 , 0 , 3 ,
531
+ 4 , 27 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
532
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
533
+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 32 ] ;
534
+
535
+ let bytes_to_test = [ next_domain_name_bytes, bit_map_bytes_to_test] . concat ( ) ;
536
+
537
+ let nsec_rdata = NsecRdata :: from_bytes ( & bytes_to_test, & bytes_to_test) . unwrap ( ) ;
538
+
539
+ let expected_next_domain_name = String :: from ( "." ) ;
540
+
541
+ //FIXME: the domain name instead of been "." is ""
542
+ assert_eq ! ( nsec_rdata. get_next_domain_name( ) . get_name( ) , expected_next_domain_name) ;
543
+
544
+ let expected_type_bit_maps = vec ! [ Rtype :: A , Rtype :: MX , Rtype :: RRSIG , Rtype :: NSEC , Rtype :: UNKNOWN ( 1234 ) ] ;
545
+
546
+ assert_eq ! ( nsec_rdata. get_type_bit_maps( ) , expected_type_bit_maps) ;
547
+ }
526
548
}
0 commit comments