test_helpers-1.0.0-alpha6/tests/src/Unit/Stub/CacheContextsManagerStubTest.php

tests/src/Unit/Stub/CacheContextsManagerStubTest.php
<?php

declare(strict_types=1);

namespace Drupal\Tests\test_helpers\Unit\Stub;

use Drupal\Tests\UnitTestCase;
use Drupal\test_helpers\Stub\CacheContextsManagerStub;
use Drupal\test_helpers\TestHelpers;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\Attributes\CoversMethod;
use PHPUnit\Framework\Attributes\Group;

/**
 * Tests CacheContextsManagerStub class.
 */
#[CoversClass(CacheContextsManagerStub::class)]
#[Group('test_helpers')]
#[CoversMethod(CacheContextsManagerStub::class, '__construct')]
#[CoversMethod(CacheContextsManagerStub::class, 'stubAddContexts')]
class CacheContextsManagerStubTest extends UnitTestCase {

  /**
   * Tests the CacheContextsManagerStub methods.
   */
  public function testStub() {
    $cacheContextsManagerStub = TestHelpers::service('cache_contexts_manager');

    $this->assertInstanceOf(CacheContextsManagerStub::class, $cacheContextsManagerStub);

    // Should return TRUE for any context name by default.
    $this->assertTrue($cacheContextsManagerStub->assertValidTokens(['some_context1']));

    $cacheContextsManagerStub->stubAddContexts('custom_context1:group1');
    $cacheContextsManagerStub->stubAddContexts(['custom_context2']);

    $this->assertTrue($cacheContextsManagerStub->assertValidTokens(['custom_context1:group1']));
    $this->assertTrue($cacheContextsManagerStub->assertValidTokens(['custom_context2:group2:subgroup1']));
    $this->assertTrue($cacheContextsManagerStub->assertValidTokens(['custom_context2:group2:subgroup2']));

    // Should return TRUE for non-defined context names, if some become defined.
    $this->assertFalse($cacheContextsManagerStub->assertValidTokens(['custom_context1']));
    $this->assertFalse($cacheContextsManagerStub->assertValidTokens(['custom_context3']));

    $cacheContextsManagerStub->stubSetContexts(['custom_context2']);
    // Should return FALSE because the context should be overridden as missing.
    $this->assertFalse($cacheContextsManagerStub->assertValidTokens(['custom_context1:group1']));

  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc