Add some basic unit tests for HTTPS canonical redirects. See #27954.

git-svn-id: https://develop.svn.wordpress.org/trunk@28704 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
John Blackbourn 2014-06-09 01:05:46 +00:00
parent 70390c48f5
commit 65890b4858

View File

@ -0,0 +1,78 @@
<?php
require_once dirname( dirname( __FILE__ ) ) . '/canonical.php';
/**
* @group canonical
* @group rewrite
* @group query
*/
class Tests_Canonical_HTTPS extends Tests_Canonical {
function setUp() {
parent::setUp();
$this->http = set_url_scheme( home_url( 'sample-page/' ), 'http' );
$this->https = set_url_scheme( home_url( 'sample-page/' ), 'https' );
}
public function test() {
// Nothing
}
public function set_https( $url ) {
return set_url_scheme( $url, 'https' );
}
/**
* @ticket 27954
*/
public function test_http_request_with_http_home() {
$redirect = redirect_canonical( $this->http, false );
$this->assertEquals( $redirect, false );
}
/**
* @ticket 27954
*/
public function test_https_request_with_http_home() {
$redirect = redirect_canonical( $this->https, false );
$this->assertEquals( $redirect, false );
}
/**
* @ticket 27954
*/
public function test_http_request_with_https_home() {
add_filter( 'home_url', array( $this, 'set_https' ) );
$redirect = redirect_canonical( $this->http, false );
$this->assertEquals( $redirect, $this->https );
remove_filter( 'home_url', array( $this, 'set_https' ) );
}
/**
* @ticket 27954
*/
public function test_https_request_with_https_home() {
add_filter( 'home_url', array( $this, 'set_https' ) );
$redirect = redirect_canonical( $this->https, false );
$this->assertEquals( $redirect, false );
remove_filter( 'home_url', array( $this, 'set_https' ) );
}
}