Index: tests/phpunit/tests/url.php
===================================================================
--- tests/phpunit/tests/url.php	(revision 41795)
+++ tests/phpunit/tests/url.php	(working copy)
@@ -148,6 +148,25 @@
 		$this->assertEquals( $homeurl_https . $expected, $home_url_https );
 	}
 
+	/**
+	 * @dataProvider data_home_urls
+	 *
+	 * @param string $url      Test URL.
+	 * @param string $expected Expected result.
+	 */
+	function test_site_url( $url, $expected ) {
+		$siteurl_http  = get_option( 'siteurl' );
+		$site_url_http = site_url( $url );
+
+		$_SERVER['HTTPS'] = 'on';
+
+		$siteurl_https  = set_url_scheme( $siteurl_http, 'https' );
+		$site_url_https = home_url( $url );
+
+		$this->assertEquals( $siteurl_http . $expected, $site_url_http );
+		$this->assertEquals( $siteurl_https . $expected, $site_url_https );
+	}
+
 	function data_home_urls() {
 		return array(
 			array(
@@ -197,6 +216,25 @@
 		);
 	}
 
+    /**
+     * @runInSeparateProcess
+     * @preserveGlobalState disabled
+     */
+	function test_wp_home_url_constant() {
+		define( 'WP_HOME', 'https://example.com' );
+		$this->assertEquals( WP_HOME, home_url() );
+	}
+
+	/**
+	 * @runInSeparateProcess
+	 * @preserveGlobalState disabled
+	 */
+	function test_wp_siteurl_constant() {
+		define( 'WP_SITEURL', 'https://example.com' );
+		$this->assertEquals( WP_SITEURL, site_url() );
+		$this->assertEquals( WP_SITEURL, get_option( 'siteurl' ) );
+	}
+
 	function test_home_url_from_admin() {
 		$screen = get_current_screen();
 
