/**
* Tests the getSelfURLhost method of the OneLogin_Saml2_Utils
*
* @covers OneLogin_Saml2_Utils::getSelfURLhost
*/
public function testGetSelfURLhost()
{
$hostname = OneLogin_Saml2_Utils::getSelfHost();
$this->assertEquals("http://{$hostname}", OneLogin_Saml2_Utils::getSelfURLhost());
$_SERVER['SERVER_PORT'] = '80';
$this->assertEquals("http://{$hostname}", OneLogin_Saml2_Utils::getSelfURLhost());
$_SERVER['SERVER_PORT'] = '81';
$this->assertEquals("http://{$hostname}:81", OneLogin_Saml2_Utils::getSelfURLhost());
$_SERVER['SERVER_PORT'] = '443';
$this->assertEquals("https://{$hostname}", OneLogin_Saml2_Utils::getSelfURLhost());
unset($_SERVER['SERVER_PORT']);
$_SERVER['HTTPS'] = 'on';
$this->assertEquals("https://{$hostname}", OneLogin_Saml2_Utils::getSelfURLhost());
$_SERVER['SERVER_PORT'] = '444';
$this->assertEquals("https://{$hostname}:444", OneLogin_Saml2_Utils::getSelfURLhost());
$_SERVER['SERVER_PORT'] = '443';
$_SERVER['REQUEST_URI'] = '/onelogin';
$this->assertEquals("https://{$hostname}", OneLogin_Saml2_Utils::getSelfURLhost());
$_SERVER['REQUEST_URI'] = 'https://$hostname/onelogin/sso';
$this->assertEquals("https://{$hostname}", OneLogin_Saml2_Utils::getSelfURLhost());
}