'/kohana/', 'Kohana::$index_file' => 'index.php', 'HTTP_HOST' => 'www.example.com', ); // @codingStandardsIgnoreEnd /** * Provides test data for test_attributes() * * @return array */ public function provider_redirect() { return array( array( 'http://www.example.org/', 301, 'HTTP_Exception_301', 'http://www.example.org/' ), array( '/page_one', 302, 'HTTP_Exception_302', 'http://www.example.com/kohana/index.php/page_one' ), array( 'page_two', 303, 'HTTP_Exception_303', 'http://www.example.com/kohana/index.php/page_two' ), ); } /** * Tests HTTP::redirect() * * @test * @dataProvider provider_redirect * @param array $location Location to redirect to * @param array $code HTTP Code to use for the redirect * @param string $expected_exception Expected exception * @param string $expected_location Expected exception */ public function test_redirect($location, $code, $expected_exception, $expected_location) { try { HTTP::redirect($location, $code); } catch (HTTP_Exception_Redirect $e) { $response = $e->get_response(); $this->assertInstanceOf($expected_exception, $e); $this->assertEquals($expected_location, $response->headers('Location')); return; } $this->fail('HTTP_Exception_Redirect not thrown'); } }