Version 1
[yaffs-website] / web / core / modules / config / tests / config_test / src / SchemaListenerController.php
diff --git a/web/core/modules/config/tests/config_test/src/SchemaListenerController.php b/web/core/modules/config/tests/config_test/src/SchemaListenerController.php
new file mode 100644 (file)
index 0000000..e028e1e
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+
+namespace Drupal\config_test;
+
+use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\Schema\SchemaIncompleteException;
+use Drupal\Core\Controller\ControllerBase;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+/**
+ * Controller for testing \Drupal\Core\Config\Development\ConfigSchemaChecker.
+ */
+class SchemaListenerController extends ControllerBase {
+
+  /**
+   * Constructs the SchemaListenerController object.
+   *
+   * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
+   *   The config factory.
+   */
+  public function __construct(ConfigFactoryInterface $config_factory) {
+    $this->configFactory = $config_factory;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container) {
+    return new static(
+      $container->get('config.factory')
+    );
+  }
+
+  /**
+   * Tests the WebTestBase tests can use strict schema checking.
+   */
+  public function test() {
+    try {
+      $this->configFactory->getEditable('config_schema_test.schemaless')->set('foo', 'bar')->save();
+    }
+    catch (SchemaIncompleteException $e) {
+      return [
+        '#markup' => $e->getMessage(),
+      ];
+    }
+  }
+
+}