Failing tests for FCGI paths on IIS 7.5
[catagits/Catalyst-Runtime.git] / t / aggregate / unit_core_engine-prepare_path.t
index 1fa9750..7ba579b 100644 (file)
@@ -9,6 +9,7 @@ use Catalyst::Engine;
 # mod_rewrite to app root for non / based app
 {
     my $r = get_req (0,
+        REDIRECT_URL => '/comics/',
         SCRIPT_NAME => '/comics/dispatch.cgi',
         REQUEST_URI => '/comics/',
     );
@@ -20,6 +21,7 @@ use Catalyst::Engine;
 {
     my $r = get_req (0,
         PATH_INFO  => '/foo/bar.gif',
+        REDIRECT_URL => '/comics/foo/bar.gif',
         SCRIPT_NAME => '/comics/dispatch.cgi',
         REQUEST_URI => '/comics/foo/bar.gif',
     );
@@ -84,7 +86,6 @@ use Catalyst::Engine;
     is ''.$r->base, 'http://www.foo.com/oslobilder/', 'base correct';
 }
 {
-    local $TODO = 'Another mod_rewrite case';
     my $r = get_req (0,
         PATH_INFO => '/auth/login',
         SCRIPT_NAME => '/tx',
@@ -111,6 +112,23 @@ use Catalyst::Engine;
 }
 
 
+# IIS 7.5 RT#76522
+{
+    my $r = get_req (0,
+        PATH_INFO => '/testme/try.html',
+        SCRIPT_NAME => '/testme/try.html',
+        PATH_TRANSLATED => 'C:\Sites\Test\root\testme\try.html'
+    );
+    is $r->uri."", "http://www.foo.com/testme/try.html";
+
+    $r = get_req (0,
+        PATH_INFO => '/testme/test/',
+        SCRIPT_NAME => '/testme/test/',
+        PATH_TRANSLATED => q{C:\Sites\Test\root\testme\test\\},
+    );
+    is $r->uri."", "http://www.foo.com/testme/test";
+}
+
 # FIXME - Test proxy logic
 #       - Test query string
 #       - Test non standard port numbers
@@ -125,13 +143,12 @@ sub get_req {
         PATH_INFO => '/',
     );
 
-    my $engine = Catalyst::Engine->new(
-        env => { %template, @_ },
-    );
+    my $engine = Catalyst::Engine->new();
     my $i = TestApp->new;
     $i->setup_finished(0);
     $i->config(use_request_uri_for_path => $use_request_uri_for_path);
     $i->setup_finished(1);
+    $engine->prepare_request($i, env => { %template, @_ }, response_cb => sub {});
     $engine->prepare_path($i);
     return $i->req;
 }