diff --git a/core/lib/Drupal/Core/TypedData/AllowedValuesInterface.php b/core/lib/Drupal/Core/TypedData/AllowedValuesInterface.php
index 09ec449..5227ed2 100644
--- a/core/lib/Drupal/Core/TypedData/AllowedValuesInterface.php
+++ b/core/lib/Drupal/Core/TypedData/AllowedValuesInterface.php
@@ -28,7 +28,7 @@
    * @return array
    *   An array allowed values.
    */
-  public function getAllowedValues($account = NULL);
+  public function getValues($account = NULL);
 
   /**
    * Returns an array of allowed options.
@@ -36,14 +36,14 @@ public function getAllowedValues($account = NULL);
    * @param object $account
    *   (optional) The user account for which to generate the allowed options.
    *
-   * @return
+   * @return array
    *   The array of allowed options for the object. Array keys are the values as
    *   expected by the object. Array values are the labels to display; e.g.,
    *   within a widget. The labels should NOT be sanitized.
    *
-   * @see Drupal\Core\TypedData::AllowedValuesInterface::getAllowedValues()
+   * @see Drupal\Core\TypedData\AllowedValuesInterface::getValues()
    */
-  public function getAllowedOptions($account = NULL);
+  public function getOptions($account = NULL);
 
   /**
    * Returns an array of available values.
@@ -62,12 +62,12 @@ public function getAvailableValues($account = NULL);
    * @param object $account
    *   (optional) The user account for which to generate the available options.
    *
-   * @return
-   *   The array of allowed options for the object. Array keys are the values as
-   *   expected by the object. Array values are the labels to display; e.g.,
+   * @return array
+   *   The array of available options for the object. Array keys are the values
+   *   as expected by the object. Array values are the labels to display; e.g.,
    *   within a widget. The labels should NOT be sanitized.
    *
-   * @see Drupal\Core\TypedData::AllowedValuesInterface::getAllowedOptions()
+   * @see Drupal\Core\TypedData\AllowedValuesInterface::getOptions()
    */
   public function getAvailableOptions($account = NULL);
 }
diff --git a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/AllowedValuesConstraintValidator.php b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/AllowedValuesConstraintValidator.php
index c81cf6c..8003fec 100644
--- a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/AllowedValuesConstraintValidator.php
+++ b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/AllowedValuesConstraintValidator.php
@@ -21,7 +21,7 @@ class AllowedValuesConstraintValidator extends ChoiceValidator {
    */
   public function validate($value, Constraint $constraint) {
     if ($this->context->getMetadata()->getTypedData() instanceof AllowedValuesInterface) {
-      $allowed_values = $this->context->getMetadata()->getTypedData()->getAllowedValues();
+      $allowed_values = $this->context->getMetadata()->getTypedData()->getValues();
       $constraint->choices = $allowed_values;
     }
     return parent::validate($value, $constraint);
diff --git a/core/modules/filter/lib/Drupal/filter/Tests/FilterAPITest.php b/core/modules/filter/lib/Drupal/filter/Tests/FilterAPITest.php
index a70bf0e..7782836 100644
--- a/core/modules/filter/lib/Drupal/filter/Tests/FilterAPITest.php
+++ b/core/modules/filter/lib/Drupal/filter/Tests/FilterAPITest.php
@@ -112,7 +112,7 @@ function testFilterFormatAPI() {
    */
   function testTypedDataAPI() {
     $definition = array('type' => 'filter_format');
-    $data = typed_data()->create($definition);
+    $data = \Drupal::typedData()->create($definition);
 
     if ($this->assertTrue($data instanceof \Drupal\Core\TypedData\AllowedValuesInterface, 'Typed data object implements \Drupal\Core\TypedData\AllowedValuesInterface')) {
       $this->checkPermissions(array(), TRUE);
@@ -135,15 +135,21 @@ function testTypedDataAPI() {
         'plain_text' => 'Plain text',
       );
       $this->assertEqual($available_options, $expected_available_options);
-      $allowed_values = $data->getAllowedValues();
+      $allowed_values = $data->getValues();
       $this->assertEqual($allowed_values, array('plain_text'));
-      $allowed_options = $data->getAllowedOptions();
+      $allowed_options = $data->getOptions();
       $this->assertEqual($allowed_options, array('plain_text' => 'Plain text'));
 
       $data->setValue('foo');
       $violations = $data->validate();
       $this->assertFilterFormatViolation($violations, 'foo');
 
+      // Make sure the information provided by a violation is correct.
+      $violation = $violations[0];
+      $this->assertEqual($violation->getRoot(), $data, 'Violation root is filter format.');
+      $this->assertEqual($violation->getPropertyPath(), '', 'Violation property path is correct.');
+      $this->assertEqual($violation->getInvalidValue(), 'foo', 'Violation contains invalid value.');
+
       $data->setValue('plain_text');
       $violations = $data->validate();
       $this->assertEqual(count($violations), 0, "No validation violation for format 'plain_text' found");
@@ -158,9 +164,9 @@ function testTypedDataAPI() {
       $violations = $data->validate();
       $this->assertEqual(count($violations), 0, "No validation violation for accessible format 'filtered_html' found.");
 
-      $allowed_values = $data->getAllowedValues();
+      $allowed_values = $data->getValues();
       $this->assertEqual($allowed_values, array('filtered_html', 'plain_text'));
-      $allowed_options = $data->getAllowedOptions();
+      $allowed_options = $data->getOptions();
       $expected_allowed_options = array(
         'filtered_html' => 'Filtered HTML',
         'plain_text' => 'Plain text',
diff --git a/core/modules/filter/lib/Drupal/filter/Type/FilterFormat.php b/core/modules/filter/lib/Drupal/filter/Type/FilterFormat.php
index a1326ad..cf3aba8 100644
--- a/core/modules/filter/lib/Drupal/filter/Type/FilterFormat.php
+++ b/core/modules/filter/lib/Drupal/filter/Type/FilterFormat.php
@@ -36,17 +36,17 @@ public function getAvailableOptions($account = NULL) {
   /**
    * {@inheritdoc}
    */
-  public function getAllowedValues($account = NULL) {
-    return array_keys($this->getAllowedOptions($account));
+  public function getValues($account = NULL) {
+    return array_keys($this->getOptions($account));
   }
 
   /**
    * {@inheritdoc}
    */
-  public function getAllowedOptions($user = NULL) {
+  public function getOptions($user = NULL) {
     $user = empty($user) ? $GLOBALS['user'] : $user;
     $values = array();
-    // @todo: Avoid calling functionsm but move to injected dependencies.
+    // @todo: Avoid calling functions but move to injected dependencies.
     foreach (filter_formats($user) as $format) {
       $values[$format->id()] = $format->label();
     }
diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityValidationTest.php b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityValidationTest.php
index f1a0fdb..a6d362d 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityValidationTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityValidationTest.php
@@ -133,6 +133,19 @@ protected function checkValidation($entity_type) {
     $this->assertEqual($violation->getRoot(), $test_entity, 'Violation root is entity.');
     $this->assertEqual($violation->getPropertyPath(), 'name.0.value', 'Violation property path is correct.');
     $this->assertEqual($violation->getInvalidValue(), $test_entity->name->value, 'Violation contains invalid value.');
+
+
+    $test_entity = clone $entity;
+    $test_entity->field_test_text->format = $this->randomString(33);
+    $violations = $test_entity->validate();
+    $this->assertEqual($violations->count(), 1, 'Validation failed.');
+    $this->assertEqual($violations[0]->getMessage(), t('The value you selected is not a valid choice.'));
+
+    // Make sure the information provided by a violation is correct.
+    $violation = $violations[0];
+    $this->assertEqual($violation->getRoot(), $test_entity, 'Violation root is entity.');
+    $this->assertEqual($violation->getPropertyPath(), 'field_test_text.0.format', 'Violation property path is correct.');
+    $this->assertEqual($violation->getInvalidValue(), $test_entity->field_test_text->format, 'Violation contains invalid value.');
   }
 
 }
