function SchemaCheckTestTrait::assertConfigSchema

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/Tests/SchemaCheckTestTrait.php \Drupal\Tests\SchemaCheckTestTrait::assertConfigSchema()
  2. 10 core/tests/Drupal/Tests/SchemaCheckTestTrait.php \Drupal\Tests\SchemaCheckTestTrait::assertConfigSchema()
  3. 8.9.x core/tests/Drupal/Tests/SchemaCheckTestTrait.php \Drupal\Tests\SchemaCheckTestTrait::assertConfigSchema()

Asserts the TypedConfigManager has a valid schema for the configuration.

Parameters

\Drupal\Core\Config\TypedConfigManagerInterface $typed_config: The TypedConfigManager.

string $config_name: The configuration name.

array $config_data: The configuration data.

2 calls to SchemaCheckTestTrait::assertConfigSchema()
MigrateBookConfigsTest::testBookSettings in core/modules/book/tests/src/Kernel/Migrate/d7/MigrateBookConfigsTest.php
Tests migration of book variables to book.settings.yml.
MigrateContactSettingsTest::testContactSettings in core/modules/contact/tests/src/Kernel/Migrate/d6/MigrateContactSettingsTest.php
Tests migration of contact variables to contact.settings.yml.

File

core/tests/Drupal/Tests/SchemaCheckTestTrait.php, line 25

Class

SchemaCheckTestTrait
Provides a class for checking configuration schema.

Namespace

Drupal\Tests

Code

public function assertConfigSchema(TypedConfigManagerInterface $typed_config, $config_name, $config_data) {
  $check = $this->checkConfigSchema($typed_config, $config_name, $config_data);
  $message = '';
  if ($check === FALSE) {
    $message = 'Error: No schema exists.';
  }
  elseif ($check !== TRUE) {
    $this->assertIsArray($check, "The config schema check errors should be in the form of an array.");
    $message = "Errors:\n";
    foreach ($check as $key => $error) {
      $message .= "Schema key {$key} failed with: {$error}\n";
    }
  }
  $this->assertTrue($check, "There should be no errors in configuration '{$config_name}'. {$message}");
}

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