diff --git a/tests/phpunit/tests/rest-api/restOutputLinkHeader.php b/tests/phpunit/tests/rest-api/restOutputLinkHeader.php new file mode 100644 index 0000000000000..1eeb8936e6db7 --- /dev/null +++ b/tests/phpunit/tests/rest-api/restOutputLinkHeader.php @@ -0,0 +1,56 @@ +assertSame( '', $output ); + } + + /** + * @ticket 65819 + * + * @requires function xdebug_get_headers + */ + public function test_returns_early_when_rest_url_is_empty() { + add_filter( 'rest_url', '__return_empty_string' ); + + $headers_before = xdebug_get_headers(); + + rest_output_link_header(); + + $this->assertSame( $headers_before, xdebug_get_headers() ); + } + + /** + * @ticket 65819 + * + * @requires function xdebug_get_headers + */ + public function test_sends_rest_api_link_header() { + $api_root = sanitize_url( get_rest_url() ); + + rest_output_link_header(); + + $headers = xdebug_get_headers(); + $expected = sprintf( 'Link: <%s>; rel="https://api.w.org/"', $api_root ); + + $this->assertContains( $expected, $headers ); + } +}