wordpress-develop/tests/phpunit/tests/oembed/headers.php
Gary Pendergast 4e0499e5bf Tests: Add an xdebug group for tests that require xdebug.
These tests are now also run as their own part of the Travis build, to ensure performance of other tests isn't affected by the presence of xdebug.

Fixes #40532.



git-svn-id: https://develop.svn.wordpress.org/trunk@45827 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-19 02:17:50 +00:00

37 lines
1.0 KiB
PHP

<?php
/**
* @runTestsInSeparateProcesses
* @preserveGlobalState disabled
* @group oembed
* @group oembed-headers
* @group xdebug
*/
class Tests_oEmbed_HTTP_Headers extends WP_UnitTestCase {
function test_rest_pre_serve_request_headers() {
if ( ! function_exists( 'xdebug_get_headers' ) ) {
$this->markTestSkipped( 'xdebug is required for this test' );
}
$post = $this->factory()->post->create_and_get(
array(
'post_title' => 'Hello World',
)
);
$request = new WP_REST_Request( 'GET', '/oembed/1.0/embed' );
$request->set_param( 'url', get_permalink( $post->ID ) );
$request->set_param( 'format', 'xml' );
$server = new WP_REST_Server();
$response = $server->dispatch( $request );
$output = get_echo( '_oembed_rest_pre_serve_request', array( true, $response, $request, $server ) );
$this->assertNotEmpty( $output );
$headers = xdebug_get_headers();
$this->assertTrue( in_array( 'Content-Type: text/xml; charset=' . get_option( 'blog_charset' ), $headers, true ) );
}
}