@@ -494,6 +494,7 @@ fn ipv6_properties() {
494494 let octets = & [ $( $octet) ,* ] ;
495495 assert_eq!( & ip!( $s) . octets( ) , octets) ;
496496 assert_eq!( Ipv6Addr :: from( * octets) , ip!( $s) ) ;
497+ assert_eq!( Ipv6Addr :: from_octets( * octets) , ip!( $s) ) ;
497498
498499 let unspecified: u32 = 1 << 0 ;
499500 let loopback: u32 = 1 << 1 ;
@@ -846,15 +847,19 @@ fn ipv6_from_constructors() {
846847
847848#[ test]
848849fn ipv4_from_octets ( ) {
849- assert_eq ! ( Ipv4Addr :: from( [ 127 , 0 , 0 , 1 ] ) , Ipv4Addr :: new( 127 , 0 , 0 , 1 ) )
850+ assert_eq ! ( Ipv4Addr :: from( [ 127 , 0 , 0 , 1 ] ) , Ipv4Addr :: new( 127 , 0 , 0 , 1 ) ) ;
851+ assert_eq ! ( Ipv4Addr :: from_octets( [ 127 , 0 , 0 , 1 ] ) , Ipv4Addr :: new( 127 , 0 , 0 , 1 ) ) ;
850852}
851853
852854#[ test]
853855fn ipv6_from_segments ( ) {
854856 let from_u16s =
855857 Ipv6Addr :: from ( [ 0x0011 , 0x2233 , 0x4455 , 0x6677 , 0x8899 , 0xaabb , 0xccdd , 0xeeff ] ) ;
858+ let from_u16s_explicit =
859+ Ipv6Addr :: from_segments ( [ 0x0011 , 0x2233 , 0x4455 , 0x6677 , 0x8899 , 0xaabb , 0xccdd , 0xeeff ] ) ;
856860 let new = Ipv6Addr :: new ( 0x0011 , 0x2233 , 0x4455 , 0x6677 , 0x8899 , 0xaabb , 0xccdd , 0xeeff ) ;
857861 assert_eq ! ( new, from_u16s) ;
862+ assert_eq ! ( new, from_u16s_explicit) ;
858863}
859864
860865#[ test]
@@ -865,7 +870,15 @@ fn ipv6_from_octets() {
865870 0x00 , 0x11 , 0x22 , 0x33 , 0x44 , 0x55 , 0x66 , 0x77 , 0x88 , 0x99 , 0xaa , 0xbb , 0xcc , 0xdd , 0xee ,
866871 0xff ,
867872 ] ) ;
873+ let from_u16s_explicit =
874+ Ipv6Addr :: from_segments ( [ 0x0011 , 0x2233 , 0x4455 , 0x6677 , 0x8899 , 0xaabb , 0xccdd , 0xeeff ] ) ;
875+ let from_u8s_explicit = Ipv6Addr :: from_octets ( [
876+ 0x00 , 0x11 , 0x22 , 0x33 , 0x44 , 0x55 , 0x66 , 0x77 , 0x88 , 0x99 , 0xaa , 0xbb , 0xcc , 0xdd , 0xee ,
877+ 0xff ,
878+ ] ) ;
868879 assert_eq ! ( from_u16s, from_u8s) ;
880+ assert_eq ! ( from_u16s, from_u16s_explicit) ;
881+ assert_eq ! ( from_u16s_explicit, from_u8s_explicit) ;
869882}
870883
871884#[ test]
@@ -915,6 +928,9 @@ fn ipv4_const() {
915928 const OCTETS : [ u8 ; 4 ] = IP_ADDRESS . octets ( ) ;
916929 assert_eq ! ( OCTETS , [ 127 , 0 , 0 , 1 ] ) ;
917930
931+ const FROM_OCTETS : Ipv4Addr = Ipv4Addr :: from_octets ( OCTETS ) ;
932+ assert_eq ! ( IP_ADDRESS , FROM_OCTETS ) ;
933+
918934 const IS_UNSPECIFIED : bool = IP_ADDRESS . is_unspecified ( ) ;
919935 assert ! ( !IS_UNSPECIFIED ) ;
920936
@@ -971,9 +987,15 @@ fn ipv6_const() {
971987 const SEGMENTS : [ u16 ; 8 ] = IP_ADDRESS . segments ( ) ;
972988 assert_eq ! ( SEGMENTS , [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) ;
973989
990+ const FROM_SEGMENTS : Ipv6Addr = Ipv6Addr :: from_segments ( SEGMENTS ) ;
991+ assert_eq ! ( IP_ADDRESS , FROM_SEGMENTS ) ;
992+
974993 const OCTETS : [ u8 ; 16 ] = IP_ADDRESS . octets ( ) ;
975994 assert_eq ! ( OCTETS , [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ) ;
976995
996+ const FROM_OCTETS : Ipv6Addr = Ipv6Addr :: from_octets ( OCTETS ) ;
997+ assert_eq ! ( IP_ADDRESS , FROM_OCTETS ) ;
998+
977999 const IS_UNSPECIFIED : bool = IP_ADDRESS . is_unspecified ( ) ;
9781000 assert ! ( !IS_UNSPECIFIED ) ;
9791001
0 commit comments