@@ -32,18 +32,6 @@ public function test_can_macro(): void
32
32
$ this ->assertEquals ('bar ' , $ response ->foo ());
33
33
}
34
34
35
- public function test_the_page_url_is_not_encoded (): void
36
- {
37
- $ request = Request::create ('/product/123 ' , 'GET ' , ['value ' => 'te/st ' ]);
38
- $ request ->headers ->add (['X-Inertia ' => 'true ' ]);
39
-
40
- $ response = new Response ('Product/Show ' , []);
41
- $ response = $ response ->toResponse ($ request );
42
- $ page = $ response ->getData ();
43
-
44
- $ this ->assertSame ('/product/123?value=te/st ' , $ page ->url );
45
- }
46
-
47
35
public function test_server_response (): void
48
36
{
49
37
$ request = Request::create ('/user/123 ' , 'GET ' );
@@ -839,112 +827,52 @@ public function test_the_page_url_doesnt_double_up(): void
839
827
840
828
$ this ->assertSame ('/subpath/product/123 ' , $ page ->url );
841
829
}
842
-
843
- public function test_trailing_slashes_in_url_are_preserved (): void
830
+
831
+ public function test_trailing_slashes_in_a_url_are_preserved (): void
844
832
{
845
- // Test with trailing slash in the URL
846
- $ request = Request::create ('/categories/ ' , 'GET ' );
833
+ $ request = Request::create ('/users/ ' , 'GET ' );
847
834
$ request ->headers ->add (['X-Inertia ' => 'true ' ]);
848
-
849
- $ response = new Response ('Category/Index ' , []);
850
- $ response = $ response ->toResponse ($ request );
851
- $ page = $ response ->getData ();
852
-
853
- $ this ->assertSame ('/categories/ ' , $ page ->url );
854
-
855
- // Test with trailing slash and query parameters
856
- $ request = Request::create ('/categories/?page=1&sort=name ' , 'GET ' );
857
- $ request ->headers ->add (['X-Inertia ' => 'true ' ]);
858
-
859
- $ response = new Response ('Category/Index ' , []);
860
- $ response = $ response ->toResponse ($ request );
861
- $ page = $ response ->getData ();
862
-
863
- $ this ->assertSame ('/categories/?page=1&sort=name ' , $ page ->url );
864
-
865
- // Test with trailing slash and proxy prefix
866
- $ request = Request::create ('/categories/ ' , 'GET ' );
867
- $ request ->headers ->set ('X_FORWARDED_PREFIX ' , '/admin ' );
868
- $ request ->headers ->add (['X-Inertia ' => 'true ' ]);
869
-
870
- $ response = new Response ('Category/Index ' , []);
835
+
836
+ $ response = new Response ('User/Index ' , []);
871
837
$ response = $ response ->toResponse ($ request );
872
838
$ page = $ response ->getData ();
873
-
874
- $ this ->assertSame ('/admin/categories / ' , $ page ->url );
839
+
840
+ $ this ->assertSame ('/users / ' , $ page ->url );
875
841
}
876
-
877
- public function test_non_trailing_slashes_in_url_work_correctly (): void
842
+
843
+ public function test_trailing_slashes_in_a_url_with_query_parameters_are_preserved (): void
878
844
{
879
- // Test with non-trailing slash in the URL
880
- $ request = Request::create ('/categories ' , 'GET ' );
845
+ $ request = Request::create ('/users/?page=1&sort=name ' , 'GET ' );
881
846
$ request ->headers ->add (['X-Inertia ' => 'true ' ]);
882
-
883
- $ response = new Response ('Category/Index ' , []);
884
- $ response = $ response ->toResponse ($ request );
885
- $ page = $ response ->getData ();
886
-
887
- $ this ->assertSame ('/categories ' , $ page ->url );
888
-
889
- // Test with non-trailing slash and query parameters
890
- $ request = Request::create ('/categories?page=1&sort=name ' , 'GET ' );
891
- $ request ->headers ->add (['X-Inertia ' => 'true ' ]);
892
-
893
- $ response = new Response ('Category/Index ' , []);
894
- $ response = $ response ->toResponse ($ request );
895
- $ page = $ response ->getData ();
896
-
897
- $ this ->assertSame ('/categories?page=1&sort=name ' , $ page ->url );
898
-
899
- // Test with non-trailing slash and proxy prefix
900
- $ request = Request::create ('/categories ' , 'GET ' );
901
- $ request ->headers ->set ('X_FORWARDED_PREFIX ' , '/admin ' );
902
- $ request ->headers ->add (['X-Inertia ' => 'true ' ]);
903
-
904
- $ response = new Response ('Category/Index ' , []);
847
+
848
+ $ response = new Response ('User/Index ' , []);
905
849
$ response = $ response ->toResponse ($ request );
906
850
$ page = $ response ->getData ();
907
-
908
- $ this ->assertSame ('/admin/categories ' , $ page ->url );
851
+
852
+ $ this ->assertSame ('/users/?page=1&sort=name ' , $ page ->url );
909
853
}
910
-
911
- public function test_url_with_slashes_in_query_params (): void
854
+
855
+ public function test_a_url_without_trailing_slash_is_resolved_correctly (): void
912
856
{
913
- // Test with forward slashes in query parameters
914
- $ request = Request::create ('/product/123?value=te/st ' , 'GET ' );
857
+ $ request = Request::create ('/users ' , 'GET ' );
915
858
$ request ->headers ->add (['X-Inertia ' => 'true ' ]);
916
-
917
- $ response = new Response ('Product/Show ' , []);
859
+
860
+ $ response = new Response ('User/Index ' , []);
918
861
$ response = $ response ->toResponse ($ request );
919
862
$ page = $ response ->getData ();
920
-
921
- // Forward slashes should be preserved, not encoded as %2F
922
- $ this ->assertSame ('/product/123?value=te/st ' , $ page ->url );
863
+
864
+ $ this ->assertSame ('/users ' , $ page ->url );
923
865
}
924
-
925
- public function test_url_with_ampersands_in_query_params (): void
866
+
867
+ public function test_a_url_without_trailing_slash_and_query_parameters_is_resolved_correctly (): void
926
868
{
927
- // Test normal query parameters with & as separator
928
- $ request = Request::create ('/families?search=jonathan&amy=test ' , 'GET ' );
869
+ $ request = Request::create ('/users?page=1&sort=name ' , 'GET ' );
929
870
$ request ->headers ->add (['X-Inertia ' => 'true ' ]);
930
-
931
- $ response = new Response ('Family/Index ' , []);
932
- $ response = $ response ->toResponse ($ request );
933
- $ page = $ response ->getData ();
934
-
935
- // Check that the URL contains both parameters properly separated by &
936
- $ this ->assertStringContainsString ('search=jonathan ' , $ page ->url );
937
- $ this ->assertStringContainsString ('amy=test ' , $ page ->url );
938
-
939
- // Test encoded ampersand within a parameter value
940
- $ request = Request::create ('/families?search=jonathan%26amy ' , 'GET ' );
941
- $ request ->headers ->add (['X-Inertia ' => 'true ' ]);
942
-
943
- $ response = new Response ('Family/Index ' , []);
871
+
872
+ $ response = new Response ('User/Index ' , []);
944
873
$ response = $ response ->toResponse ($ request );
945
874
$ page = $ response ->getData ();
946
-
947
- // The & should be decoded in the parameter value
948
- $ this ->assertSame ('/families?search=jonathan&amy ' , $ page ->url );
875
+
876
+ $ this ->assertSame ('/users?page=1&sort=name ' , $ page ->url );
949
877
}
950
878
}
0 commit comments