public function WebformElementPluginDefinitionsTest::testElementDefinitions in Webform 8.5
Same name and namespace in other branches
- 6.x tests/src/Functional/Element/WebformElementPluginDefinitionsTest.php \Drupal\Tests\webform\Functional\Element\WebformElementPluginDefinitionsTest::testElementDefinitions()
Test element definitions.
File
- tests/src/ Functional/ Element/ WebformElementPluginDefinitionsTest.php, line 48 
Class
- WebformElementPluginDefinitionsTest
- Tests for webform element definitions.
Namespace
Drupal\Tests\webform\Functional\ElementCode
public function testElementDefinitions() {
  // Comparing all element's expected and actual definitions ensures
  // that there are not unexpected changes to any element's definitions.
  $expected_definitions = $this
    ->getExpectedElementDefinitions();
  // Issue #3110478: [Webform 8.x-6.x] Track the D9 readiness state of the
  // Webform module's (optional) dependencies
  // @see https://www.drupal.org/project/webform/issues/3110478
  unset($expected_definitions['webform_entity_print_attachment:pdf']);
  $actual_definitions = $this
    ->getActualElementDefinitions();
  $this
    ->htmlOutput('<pre>' . htmlentities(Yaml::encode($actual_definitions)) . '</pre>');
  foreach ($actual_definitions as $key => $actual_definition) {
    if ($expected_definitions[$key] !== $actual_definition) {
      $this
        ->htmlOutput('<pre>' . Yaml::encode([
        $key => $actual_definition,
      ]) . '</pre>');
    }
    $this
      ->assertEquals($expected_definitions[$key], $actual_definition, "Expected and actual '{$key}' element definitions match.");
  }
}