You are here

class PluginDefinitionValidatorTest in Plugin 8.2

@coversDefaultClass \Drupal\plugin\PluginDefinition\PluginDefinitionValidator

@group Plugin

Hierarchy

Expanded class hierarchy of PluginDefinitionValidatorTest

File

tests/src/Unit/PluginDefinition/PluginDefinitionValidatorTest.php, line 15

Namespace

Drupal\Tests\plugin\Unit\PluginDefinition
View source
class PluginDefinitionValidatorTest extends UnitTestCase {

  /**
   * @covers ::validateClass
   *
   * @dataProvider providerValidateClass
   *
   * @param bool $valid
   *   Whether or not the class is valid.
   * @param string $class
   *   The class to validate.
   */
  public function testValidateClass($valid, $class) {
    if (!$valid) {
      $this
        ->expectException('\\InvalidArgumentException');
    }
    $this
      ->assertNull(PluginDefinitionValidator::validateClass($class));
  }

  /**
   * Provides data to self::testValidateClass().
   */
  public function providerValidateClass() {
    return [
      [
        TRUE,
        '\\stdClass',
      ],
      [
        TRUE,
        __CLASS__,
      ],
      [
        FALSE,
        NULL,
      ],
      [
        FALSE,
        $this
          ->randomMachineName(),
      ],
      [
        FALSE,
        '\\Foo\\Bar\\Baz\\Qux',
      ],
    ];
  }

  /**
   * @covers ::validateDeriverClass
   * @covers ::validateClass
   *
   * @dataProvider providerValidateDeriverClass
   *
   * @param bool $valid
   *   Whether or not the class is valid.
   * @param string $class
   *   The class to validate.
   */
  public function testValidateDeriverClass($valid, $class) {
    if (!$valid) {
      $this
        ->expectException('\\InvalidArgumentException');
    }
    $this
      ->assertNull(PluginDefinitionValidator::validateDeriverClass($class));
  }

  /**
   * Provides data to self::testValidateDeriverClass().
   */
  public function providerValidateDeriverClass() {
    return [
      [
        TRUE,
        $this
          ->getMockClass(DeriverInterface::class),
      ],
      [
        FALSE,
        NULL,
      ],
      [
        FALSE,
        '\\stdClass',
      ],
      [
        FALSE,
        $this
          ->randomMachineName(),
      ],
      [
        FALSE,
        '\\Foo\\Bar\\Baz\\Qux',
      ],
    ];
  }

  /**
   * @covers ::validateContextDefinitions
   *
   * @dataProvider providerValidateContextDefinitions
   *
   * @param bool $valid
   *   Whether or not the class is valid.
   * @param mixed[] $definitions
   *   The context definitions to validate.
   */
  public function testValidateContextDefinitions($valid, array $definitions) {
    if (!$valid) {
      $this
        ->expectException('\\InvalidArgumentException');
    }
    $this
      ->assertNull(PluginDefinitionValidator::validateContextDefinitions($definitions));
  }

  /**
   * Provides data to self::testValidateContextDefinitions().
   */
  public function providerValidateContextDefinitions() {
    return [
      [
        TRUE,
        [],
      ],
      [
        TRUE,
        [
          $this
            ->createMock(ContextDefinitionInterface::class),
        ],
      ],
      [
        FALSE,
        [
          $this
            ->getMockClass(ContextDefinitionInterface::class),
        ],
      ],
      [
        FALSE,
        [
          $this
            ->randomMachineName(),
        ],
      ],
      [
        FALSE,
        [
          ContextDefinitionInterface::class,
        ],
      ],
    ];
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
PluginDefinitionValidatorTest::providerValidateClass public function Provides data to self::testValidateClass().
PluginDefinitionValidatorTest::providerValidateContextDefinitions public function Provides data to self::testValidateContextDefinitions().
PluginDefinitionValidatorTest::providerValidateDeriverClass public function Provides data to self::testValidateDeriverClass().
PluginDefinitionValidatorTest::testValidateClass public function @covers ::validateClass
PluginDefinitionValidatorTest::testValidateContextDefinitions public function @covers ::validateContextDefinitions
PluginDefinitionValidatorTest::testValidateDeriverClass public function @covers ::validateDeriverClass @covers ::validateClass
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.
UnitTestCase::setUp protected function 340