diff --git src/wp-includes/general-template.php src/wp-includes/general-template.php
index 4e049d5..e0b0b90 100644
|
|
function wp_resource_hints() { |
2841 | 2841 | |
2842 | 2842 | if ( 'dns-prefetch' === $relation_type ) { |
2843 | 2843 | $url = '//' . $parsed['host']; |
| 2844 | } else if ( 'preconnect' === $relation_type && empty( $parsed['scheme'] ) ) { |
| 2845 | $url = '//' . $parsed['host']; |
2844 | 2846 | } else if ( ! empty( $parsed['scheme'] ) ) { |
2845 | 2847 | $url = $parsed['scheme'] . '://' . $parsed['host']; |
2846 | 2848 | } else { |
diff --git tests/phpunit/tests/general/resourceHints.php tests/phpunit/tests/general/resourceHints.php
index f6da557..e141942 100644
|
|
class Tests_WP_Resource_Hints extends WP_UnitTestCase { |
66 | 66 | return $hints; |
67 | 67 | } |
68 | 68 | |
| 69 | /** |
| 70 | * @ticket 37652 |
| 71 | */ |
| 72 | function test_preconnect() { |
| 73 | $expected = "<link rel='dns-prefetch' href='//s.w.org'>\n" . |
| 74 | "<link rel='preconnect' href='//wordpress.org'>\n" . |
| 75 | "<link rel='preconnect' href='https://make.wordpress.org'>\n" . |
| 76 | "<link rel='preconnect' href='http://google.com'>\n" . |
| 77 | "<link rel='preconnect' href='http://w.org'>\n"; |
| 78 | |
| 79 | add_filter( 'wp_resource_hints', array( $this, '_add_preconnect_domains' ), 10, 2 ); |
| 80 | |
| 81 | $actual = get_echo( 'wp_resource_hints' ); |
| 82 | |
| 83 | remove_filter( 'wp_resource_hints', array( $this, '_add_preconnect_domains' ) ); |
| 84 | |
| 85 | $this->assertEquals( $expected, $actual ); |
| 86 | } |
| 87 | |
| 88 | function _add_preconnect_domains( $hints, $method ) { |
| 89 | if ( 'preconnect' === $method ) { |
| 90 | $hints[] = '//wordpress.org'; |
| 91 | $hints[] = 'https://make.wordpress.org'; |
| 92 | $hints[] = 'htps://example.com'; // Invalid URLs should be skipped. |
| 93 | $hints[] = 'http://google.com'; |
| 94 | $hints[] = 'w.org'; |
| 95 | } |
| 96 | |
| 97 | return $hints; |
| 98 | } |
| 99 | |
69 | 100 | function test_prerender() { |
70 | 101 | $expected = "<link rel='dns-prefetch' href='//s.w.org'>\n" . |
71 | 102 | "<link rel='prerender' href='https://make.wordpress.org/great-again'>\n" . |