function YamlFileLoaderTest::providerTestExceptions

Same name and namespace in other branches
  1. 10 core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php \Drupal\Tests\Core\DependencyInjection\YamlFileLoaderTest::providerTestExceptions()
  2. 9 core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php \Drupal\Tests\Core\DependencyInjection\YamlFileLoaderTest::providerTestExceptions()

File

core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php, line 114

Class

YamlFileLoaderTest
Tests Drupal\Core\DependencyInjection\YamlFileLoader.

Namespace

Drupal\Tests\Core\DependencyInjection

Code

public static function providerTestExceptions() {
  return [
    '_defaults must be an array' => [
      <<<YAML
      services:
        _defaults: string
      YAML,
      'Service "_defaults" key must be an array, "string" given in "vfs://drupal/modules/example/example.yml".',
    ],
    'invalid _defaults key' => [
      <<<YAML
      services:
        _defaults:
          invalid: string
      YAML,
      'The configuration key "invalid" cannot be used to define a default value in "vfs://drupal/modules/example/example.yml". Allowed keys are "public", "tags", "autowire", "autoconfigure".',
    ],
    'default tags must be an array' => [
      <<<YAML
      services:
        _defaults:
          tags: string
      YAML,
      'Parameter "tags" in "_defaults" must be an array in "vfs://drupal/modules/example/example.yml". Check your YAML syntax.',
    ],
    'default tags must have a name' => [
      <<<YAML
      services:
        _defaults:
          tags:
            - {}
      YAML,
      'A "tags" entry in "_defaults" is missing a "name" key in "vfs://drupal/modules/example/example.yml".',
    ],
    'default tag name must not be empty' => [
      <<<YAML
      services:
        _defaults:
          tags:
            - ''
      YAML,
      'The tag name in "_defaults" must be a non-empty string in "vfs://drupal/modules/example/example.yml".',
    ],
    'default tag name must be a string' => [
      <<<YAML
      services:
        _defaults:
          tags:
            - 123
      YAML,
      'The tag name in "_defaults" must be a non-empty string in "vfs://drupal/modules/example/example.yml".',
    ],
    'default tag attribute must be scalar' => [
      <<<YAML
      services:
        _defaults:
          tags:
            - { name: tag, value: [] }
      YAML,
      'Tag "tag", attribute "value" in "_defaults" must be of a scalar-type in "vfs://drupal/modules/example/example.yml". Check your YAML syntax.',
    ],
    'tags must be an array' => [
      <<<YAML
      services:
        service:
          tags: string
      YAML,
      'Parameter "tags" must be an array for service "service" in "vfs://drupal/modules/example/example.yml". Check your YAML syntax.',
    ],
    'tags must have a name' => [
      <<<YAML
      services:
        service:
          tags:
            - {}
      YAML,
      'A "tags" entry is missing a "name" key for service "service" in "vfs://drupal/modules/example/example.yml".',
    ],
    'tag name must not be empty' => [
      <<<YAML
      services:
        service:
          tags:
            - ''
      YAML,
      'The tag name for service "service" in "vfs://drupal/modules/example/example.yml" must be a non-empty string.',
    ],
    'tag attribute must be scalar' => [
      <<<YAML
      services:
        service:
          tags:
            - { name: tag, value: [] }
      YAML,
      'A "tags" attribute must be of a scalar-type for service "service", tag "tag", attribute "value" in "vfs://drupal/modules/example/example.yml". Check your YAML syntax.',
    ],
    'service must be array or @service' => [
      <<<YAML
      services:
        service: string
      YAML,
      'A service definition must be an array or a string starting with "@" but string found for service "service" in vfs://drupal/modules/example/example.yml. Check your YAML syntax.',
    ],
    'YAML must be valid' => [
      <<<YAML
         do not:
            do: this: for the love of Foo Bar!
      YAML,
      'The file "vfs://drupal/modules/example/example.yml" does not contain valid YAML',
    ],
    'YAML must have expected keys' => [
      <<<YAML
      "do not":
        do: this
      YAML,
      'The service file "vfs://drupal/modules/example/example.yml" is not valid: it contains invalid root key(s) "do not". Services have to be added under "services" and Parameters under "parameters".',
    ],
    'decorates must be without @' => [
      <<<YAML
      services:
        example_service_1:
          class: \\Drupal\\Core\\ExampleClass
        example_decoration:
          class: \\Drupal\\Core\\ExampleClass
          decorates: "@example_service_1"
      YAML,
      'The value of the "decorates" option for the "example_decoration" service must be the id of the service without the "@" prefix (replace "@example_service_1" with "example_service_1").',
    ],
    'decorates_on_invalid may not be "null" with quotes' => [
      <<<YAML
      services:
        example_service_1:
          class: \\Drupal\\Core\\ExampleClass
        example_decoration:
          class: \\Drupal\\Core\\ExampleClass
          decorates: example_service_1
          decoration_on_invalid: "null"
      YAML,
      'Invalid value "null" for attribute "decoration_on_invalid" on service "example_decoration". Did you mean null (without quotes) in "vfs://drupal/modules/example/example.yml"?',
    ],
    'decoration_on_invalid must be valid' => [
      <<<YAML
      services:
        example_service_1:
          class: \\Drupal\\Core\\ExampleClass
        example_decoration:
          class: \\Drupal\\Core\\ExampleClass
          decorates: example_service_1
          decoration_on_invalid: foo
      YAML,
      'Invalid value "foo" for attribute "decoration_on_invalid" on service "example_decoration". Did you mean "exception", "ignore" or null in "vfs://drupal/modules/example/example.yml"?',
    ],
  ];
}

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