Version 1
[yaffs-website] / web / core / modules / rdf / tests / src / Kernel / Field / TextFieldRdfaTest.php
diff --git a/web/core/modules/rdf/tests/src/Kernel/Field/TextFieldRdfaTest.php b/web/core/modules/rdf/tests/src/Kernel/Field/TextFieldRdfaTest.php
new file mode 100644 (file)
index 0000000..48bc5b8
--- /dev/null
@@ -0,0 +1,73 @@
+<?php
+
+namespace Drupal\Tests\rdf\Kernel\Field;
+
+use Drupal\entity_test\Entity\EntityTest;
+
+/**
+ * Tests RDFa output by text field formatters.
+ *
+ * @group rdf
+ */
+class TextFieldRdfaTest extends FieldRdfaTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $fieldType = 'text';
+
+  /**
+   * The 'value' property value for testing.
+   *
+   * @var string
+   */
+  protected $testValue = 'test_text_value';
+
+  /**
+   * The 'summary' property value for testing.
+   *
+   * @var string
+   */
+  protected $testSummary = 'test_summary_value';
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['text', 'filter'];
+
+  protected function setUp() {
+    parent::setUp();
+
+    $this->installConfig(['filter']);
+
+    $this->createTestField();
+
+    // Add the mapping.
+    $mapping = rdf_get_mapping('entity_test', 'entity_test');
+    $mapping->setFieldMapping($this->fieldName, [
+      'properties' => ['schema:text'],
+    ])->save();
+
+    // Set up test entity.
+    $this->entity = EntityTest::create();
+    $this->entity->{$this->fieldName}->value = $this->testValue;
+    $this->entity->{$this->fieldName}->summary = $this->testSummary;
+  }
+
+  /**
+   * Tests all formatters.
+   *
+   * @todo Check for the summary mapping.
+   */
+  public function testAllFormatters() {
+    $formatted_value = strip_tags($this->entity->{$this->fieldName}->processed);
+
+    // Tests the default formatter.
+    $this->assertFormatterRdfa(['type' => 'text_default'], 'http://schema.org/text', ['value' => $formatted_value]);
+    // Tests the summary formatter.
+    $this->assertFormatterRdfa(['type' => 'text_summary_or_trimmed'], 'http://schema.org/text', ['value' => $formatted_value]);
+    // Tests the trimmed formatter.
+    $this->assertFormatterRdfa(['type' => 'text_trimmed'], 'http://schema.org/text', ['value' => $formatted_value]);
+  }
+
+}