function testControllerCoercedSchemeRedirectMaintainsGetParameters() { $env = $this->getDefaultEnvironment(); $env->setInput('GET', new T_Cage_Array(array('name1' => 'value1', 'name2' => 'value2'))); $url = new T_Url('foo', 'example.com', array('some', 'path')); $context = new T_Test_Controller_ContextStub($env, $url, array('thiscontroller')); $control = new T_Controller($context); $control->coerceScheme('https'); $response = new T_Test_ResponseStub(); try { $control->handleRequest($response); } catch (T_Response_Redirect $redirect) { $expect = clone $url; $expect->setScheme('https')->appendPath('thiscontroller')->setParameters($env->input('GET')->uncage()); $f = new T_Filter_Xhtml(); $this->assertContains($expect->getUrl($f), $redirect->getContent()); } }