RewriteEngine On # Testing if we can pass an environment variable through a request header # We pass document root, because that can easily be checked by the script RequestHeader set PASSTHROUGHHEADER "%{PASSTHROUGHHEADER}e" env=PASSTHROUGHHEADER RewriteRule ^test\.php$ - [E=PASSTHROUGHHEADER:%{DOCUMENT_ROOT},L] - filename: 'test.php' content: | disableHtaccess(); $testResult = $fakeServer->runTester(new PassInfoFromRewriteToScriptThroughRequestHeaderTester()); $this->assertFailure($testResult); }*/ public function testDisallowedDirectivesFatal() { $fakeServer = new FakeServer(); $fakeServer->disallowAllDirectives('fatal'); $testResult = $fakeServer->runTester(new PassInfoFromRewriteToScriptThroughRequestHeaderTester()); $this->assertFailure($testResult); } public function testAccessAllDenied() { $fakeServer = new FakeServer(); $fakeServer->denyAllAccess(); $testResult = $fakeServer->runTester(new PassInfoFromRewriteToScriptThroughRequestHeaderTester()); $this->assertInconclusive($testResult); } /** * Test when the magic is not working * This could happen when: * - Any of the directives are forbidden (non-fatal) * - Any of the modules are not loaded * - Perhaps these advanced features are not working on all platforms * (does LiteSpeed ie support these this?) */ public function testMagicNotWorking() { $fakeServer = new FakeServer(); $fakeServer->setResponses([ '/pass-info-from-rewrite-to-script-through-request-header/test.php' => new HttpResponse('0', '200', []) ]); $testResult = $fakeServer->runTester(new PassInfoFromRewriteToScriptThroughRequestHeaderTester()); $this->assertFailure($testResult); } public function testPHPNotProcessed() { $fakeServer = new FakeServer(); $fakeServer->handlePHPasText(); $testResult = $fakeServer->runTester( new PassInfoFromRewriteToScriptThroughRequestHeaderTester() ); $this->assertInconclusive($testResult); } public function testSuccess() { $fakeServer = new FakeServer(); $fakeServer->setResponses([ '/pass-info-from-rewrite-to-script-through-request-header/test.php' => new HttpResponse('1', '200', []) ]); $testResult = $fakeServer->runTester( new PassInfoFromRewriteToScriptThroughRequestHeaderTester() ); $this->assertSuccess($testResult); } }