XdebugRequestTraitTest.php

Same filename in other branches
  1. 9 core/tests/Drupal/Tests/Core/Test/XdebugRequestTraitTest.php
  2. 10 core/tests/Drupal/Tests/Core/Test/XdebugRequestTraitTest.php

Namespace

Drupal\Tests\Core\Test

File

core/tests/Drupal/Tests/Core/Test/XdebugRequestTraitTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\Core\Test;

use Drupal\Tests\UnitTestCase;
use Drupal\Tests\XdebugRequestTrait;
use Symfony\Component\HttpFoundation\Request;

/**
 * Provides tests for the Xdebug request trait.
 *
 * @coversDefaultClass \Drupal\Tests\XdebugRequestTrait
 * @group Test
 */
class XdebugRequestTraitTest extends UnitTestCase {
    use XdebugRequestTrait;
    
    /**
     * Tests that Xdebug cookies are extracted from a request correctly.
     *
     * @param array $server
     *   The request server array.
     * @param array $expected_cookies
     *   The expected cookies for the request.
     *
     * @covers ::extractCookiesFromRequest
     * @dataProvider extractCookiesDataProvider
     */
    public function testExtractCookiesFromRequest(array $server, array $expected_cookies) : void {
        $request = new Request([], [], [], [], [], $server);
        $this->assertSame($expected_cookies, $this->extractCookiesFromRequest($request));
    }
    
    /**
     * Provides data to test extracting Xdebug cookies from a request.
     *
     * @return iterable
     *   Test scenarios.
     */
    public static function extractCookiesDataProvider() {
        (yield 'no XDEBUG_CONFIG' => [
            [],
            [],
        ]);
        (yield 'empty string XDEBUG_CONFIG' => [
            [
                'XDEBUG_CONFIG' => '',
            ],
            [],
        ]);
        (yield 'only space string XDEBUG_CONFIG' => [
            [
                'XDEBUG_CONFIG' => ' ',
            ],
            [],
        ]);
        (yield 'invalid XDEBUG_CONFIG' => [
            [
                'XDEBUG_CONFIG' => 'invalid_config',
            ],
            [],
        ]);
        (yield 'idekey XDEBUG_CONFIG' => [
            [
                'XDEBUG_CONFIG' => 'idekey=XDEBUG_KEY',
            ],
            [
                'XDEBUG_SESSION' => [
                    'XDEBUG_KEY',
                ],
            ],
        ]);
        (yield 'idekey with another key XDEBUG_CONFIG' => [
            [
                'XDEBUG_CONFIG' => 'foo=bar  idekey=XDEBUG_KEY ',
            ],
            [
                'XDEBUG_SESSION' => [
                    'XDEBUG_KEY',
                ],
            ],
        ]);
    }

}

Classes

Title Deprecated Summary
XdebugRequestTraitTest Provides tests for the Xdebug request trait.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.