diff core/modules/options/tests/src/Functional/OptionsDynamicValuesValidationTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 129ea1e6d783
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/options/tests/src/Functional/OptionsDynamicValuesValidationTest.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,30 @@
+<?php
+
+namespace Drupal\Tests\options\Functional;
+
+/**
+ * Tests the Options field allowed values function.
+ *
+ * @group options
+ */
+class OptionsDynamicValuesValidationTest extends OptionsDynamicValuesTestBase {
+  /**
+   * Test that allowed values function gets the entity.
+   */
+  public function testDynamicAllowedValues() {
+    // Verify that validation passes against every value we had.
+    foreach ($this->test as $key => $value) {
+      $this->entity->test_options->value = $value;
+      $violations = $this->entity->test_options->validate();
+      $this->assertEqual(count($violations), 0, "$key is a valid value");
+    }
+
+    // Now verify that validation does not pass against anything else.
+    foreach ($this->test as $key => $value) {
+      $this->entity->test_options->value = is_numeric($value) ? (100 - $value) : ('X' . $value);
+      $violations = $this->entity->test_options->validate();
+      $this->assertEqual(count($violations), 1, "$key is not a valid value");
+    }
+  }
+
+}