@@ -1149,11 +1149,24 @@ subtest 'Build HTTP 1.1 start-line and header (with clone and changes)' => sub {
11491149 is $clone -> headers-> host, ' 127.0.0.1' , ' right "Host" value' ;
11501150};
11511151
1152+ subtest ' method case and symbols are preserved' => sub {
1153+ my $req = Mojo::Message::Request-> new;
1154+ my $finished = undef ;
1155+ $req -> on(finish => sub { $finished = shift -> is_finished });
1156+ $req -> method(' P0$t!!' );
1157+ $req -> url-> parse(' http://127.0.0.1/foo/bar' );
1158+ $req = Mojo::Message::Request-> new-> parse($req -> to_string);
1159+ ok $req -> is_finished, ' request is finished' ;
1160+ is $req -> method, ' P0$t!!' , ' right method, including weird casing' ;
1161+ ok $finished , ' finish event has been emitted' ;
1162+ ok $req -> is_finished, ' request is finished' ;
1163+ };
1164+
11521165subtest ' Build full HTTP 1.1 request' => sub {
11531166 my $req = Mojo::Message::Request-> new;
11541167 my $finished = undef ;
11551168 $req -> on(finish => sub { $finished = shift -> is_finished });
1156- $req -> method(' get ' );
1169+ $req -> method(' GET ' );
11571170 $req -> url-> parse(' http://127.0.0.1/foo/bar' );
11581171 $req -> headers-> expect(' 100-continue' );
11591172 $req -> body(" Hello World!\n " );
@@ -1184,7 +1197,7 @@ subtest 'Build HTTP 1.1 request parts with progress' => sub {
11841197 $progress += $offset ;
11851198 }
11861199 );
1187- $req -> method(' get ' );
1200+ $req -> method(' GET ' );
11881201 $req -> url-> parse(' http://127.0.0.1/foo/bar' );
11891202 $req -> headers-> expect(' 100-continue' );
11901203 $req -> body(" Hello World!\n " );
@@ -1211,7 +1224,7 @@ subtest 'Build full HTTP 1.1 request (with clone)' => sub {
12111224 my $req = Mojo::Message::Request-> new;
12121225 my $finished = undef ;
12131226 $req -> on(finish => sub { $finished = shift -> is_finished });
1214- $req -> method(' get ' );
1227+ $req -> method(' GET ' );
12151228 $req -> url-> parse(' http://127.0.0.1/foo/bar' );
12161229 $req -> headers-> expect(' 100-continue' );
12171230 $req -> body(" Hello World!\n " );
0 commit comments