@@ -1160,6 +1160,40 @@ mod tests {
11601160 assert ! ( vals. next( ) . is_none( ) ) ;
11611161 }
11621162
1163+ #[ test]
1164+ fn iter_len_counts_values ( ) {
1165+ let mut map = HeaderMap :: new ( ) ;
1166+ map. append ( header:: SET_COOKIE , HeaderValue :: from_static ( "a=1" ) ) ;
1167+ map. append ( header:: SET_COOKIE , HeaderValue :: from_static ( "b=2" ) ) ;
1168+ map. append ( header:: SET_COOKIE , HeaderValue :: from_static ( "c=3" ) ) ;
1169+
1170+ assert_eq ! ( map. iter( ) . count( ) , 3 ) ;
1171+ assert_eq ! ( map. iter( ) . len( ) , 3 ) ;
1172+ }
1173+
1174+ #[ test]
1175+ fn into_iter_len_counts_values ( ) {
1176+ let mut map = HeaderMap :: new ( ) ;
1177+ map. append ( header:: SET_COOKIE , HeaderValue :: from_static ( "a=1" ) ) ;
1178+ map. append ( header:: SET_COOKIE , HeaderValue :: from_static ( "b=2" ) ) ;
1179+ map. append ( header:: SET_COOKIE , HeaderValue :: from_static ( "c=3" ) ) ;
1180+
1181+ assert_eq ! ( map. clone( ) . into_iter( ) . count( ) , 3 ) ;
1182+ assert_eq ! ( map. into_iter( ) . len( ) , 3 ) ;
1183+ }
1184+
1185+ #[ test]
1186+ fn drain_len_counts_values ( ) {
1187+ let mut map = HeaderMap :: new ( ) ;
1188+ map. append ( header:: SET_COOKIE , HeaderValue :: from_static ( "a=1" ) ) ;
1189+ map. append ( header:: SET_COOKIE , HeaderValue :: from_static ( "b=2" ) ) ;
1190+ map. append ( header:: SET_COOKIE , HeaderValue :: from_static ( "c=3" ) ) ;
1191+
1192+ let mut drained = map. clone ( ) ;
1193+ assert_eq ! ( map. drain( ) . count( ) , 3 ) ;
1194+ assert_eq ! ( drained. drain( ) . len( ) , 3 ) ;
1195+ }
1196+
11631197 fn owned_pair < ' a > ( ( name, val) : ( & ' a HeaderName , & ' a HeaderValue ) ) -> ( HeaderName , HeaderValue ) {
11641198 ( name. clone ( ) , val. clone ( ) )
11651199 }
0 commit comments