diff --git a/core/modules/rdf/lib/Drupal/rdf/Tests/TextFieldRdfaTest.php b/core/modules/rdf/lib/Drupal/rdf/Tests/TextFieldRdfaTest.php
new file mode 100644
index 0000000..bcf2f20
--- /dev/null
+++ b/core/modules/rdf/lib/Drupal/rdf/Tests/TextFieldRdfaTest.php
@@ -0,0 +1,118 @@
+<?php
+/**
+ * @file
+ * Contains \Drupal\rdf\Tests\TextFieldAttributesTest.
+ */
+
+namespace Drupal\rdf\Tests;
+
+use Drupal\field\Tests\FieldUnitTestBase;
+
+/**
+ * Test the placement of RDFa in text field formatters.
+ */
+class TextFieldRdfaTest extends FieldUnitTestBase {
+
+  /**
+   * The name of the field to create for testing.
+   *
+   * @var string
+   */
+  protected $fieldName = 'field_test_text';
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('text', 'rdf');
+
+  public static function getInfo() {
+    return array(
+      'name'  => 'Field formatter - text',
+      'description'  => 'Tests RDFa output by text field formatters.',
+      'group' => 'RDF'
+    );
+  }
+
+  public function setUp() {
+    parent::setUp();
+
+    // Create a field for testing.
+    entity_create('field_entity', array(
+      'field_name' => $this->fieldName,
+      'type' => 'text',
+    ))->save();
+    entity_create('field_instance', array(
+      'entity_type' => 'entity_test',
+      'field_name' => $this->fieldName,
+      'bundle' => 'entity_test',
+    ))->save();
+
+    // Add the mapping.
+    $mapping = rdf_get_mapping('entity_test', 'entity_test');
+    $mapping->setFieldMapping($this->fieldName, array(
+      'properties' => array('schema:text'),
+    ))->save();
+
+    // Set up test values.
+    $this->uri = 'http://ex.com';
+    $this->testValue = 'test_text_value';
+    $this->testSummary = 'test_summary_value';
+    $this->entity = entity_create('entity_test', array());
+    $this->entity->{$this->fieldName}->value = $this->testValue;
+    $this->entity->{$this->fieldName}->summary = $this->testSummary;
+  }
+
+  /**
+   * Tests the default formatter.
+   */
+  public function testDefaultFormatter() {
+    $this->_testFormatter('text_default', 'http://schema.org/text', $this->testValue);
+  }
+
+  /**
+   * Tests the plain formatter.
+   */
+  public function testPlainFormatter() {
+    $this->_testFormatter('text_plain', 'http://schema.org/text', $this->testValue);
+  }
+
+  /**
+   * Tests the summary formatter.
+   *
+   * @todo Check for the summary mapping.
+   */
+  public function testSummaryFormatter() {
+    $this->_testFormatter('text_summary_or_trimmed', 'http://schema.org/text', $this->testValue);
+  }
+
+  /**
+   * Tests the trimmed formatter.
+   *
+   * @todo Check for the summary mapping.
+   */
+  public function testTrimmedFormatter() {
+    $this->_testFormatter('text_trimmed', 'http://schema.org/text', $this->testValue);
+  }
+
+  /**
+   * Helper function to test the formatter.
+   *
+   * @param $formatter
+   *   The machine name of the formatter to test.
+   * @param $property
+   *   The property that should be found.
+   */
+  protected function _testFormatter($formatter, $property, $value) {
+    $build = field_view_field($this->entity, $this->fieldName, array('type' => $formatter));
+    $rendered = "<div about='$this->uri'>" . drupal_render($build) . '</div>';
+    $graph = new \EasyRdf_Graph($this->uri, $rendered, 'rdfa');
+
+    $expected_value = array(
+      'type' => 'literal',
+      'value' => $value,
+    );
+    $this->assertTrue($graph->hasProperty($this->uri, $property, $expected_value), "Formatter $formatter exposes data correctly.");
+  }
+}
