11use crate :: common:: fixture_path;
22use async_h1:: client;
33use async_std:: fs:: File ;
4- use async_std:: io:: SeekFrom ;
5- use async_std:: prelude:: * ;
64use http_types:: { headers, Method , Request , StatusCode } ;
75use url:: Url ;
86
@@ -12,7 +10,11 @@ use common::TestCase;
1210
1311#[ async_std:: test]
1412async fn test_encode_request_add_date ( ) {
15- let case = TestCase :: new_client ( "fixtures/request1.txt" , "fixtures/response1.txt" ) . await ;
13+ let case = TestCase :: new_client (
14+ "fixtures/request-add-date.txt" ,
15+ "fixtures/response-add-date.txt" ,
16+ )
17+ . await ;
1618
1719 let url = Url :: parse ( "http://localhost:8080" ) . unwrap ( ) ;
1820 let mut req = Request :: new ( Method :: Post , url) ;
@@ -26,12 +28,22 @@ async fn test_encode_request_add_date() {
2628
2729#[ async_std:: test]
2830async fn test_response_no_date ( ) {
29- let mut response_fixture = File :: open ( fixture_path ( "fixtures/response-no-date.txt" ) )
31+ let response_fixture = File :: open ( fixture_path ( "fixtures/response-no-date.txt" ) )
3032 . await
3133 . unwrap ( ) ;
32- response_fixture. seek ( SeekFrom :: Start ( 0 ) ) . await . unwrap ( ) ;
3334
3435 let res = client:: decode ( response_fixture) . await . unwrap ( ) ;
3536
3637 pretty_assertions:: assert_eq!( res. header( & headers:: DATE ) . is_some( ) , true ) ;
3738}
39+
40+ #[ async_std:: test]
41+ async fn test_multiple_header_values_for_same_header_name ( ) {
42+ let response_fixture = File :: open ( fixture_path ( "fixtures/response-multiple-cookies.txt" ) )
43+ . await
44+ . unwrap ( ) ;
45+
46+ let res = client:: decode ( response_fixture) . await . unwrap ( ) ;
47+
48+ pretty_assertions:: assert_eq!( res. header( & headers:: SET_COOKIE ) . unwrap( ) . len( ) , 2 ) ;
49+ }
0 commit comments