예제 #1
0
 /**
  * Helper function to test the formatter's RDFa.
  *
  * @param array $formatter
  *   An associative array describing the formatter to test and its settings
  *   containing:
  *   - type: The machine name of the field formatter to test.
  *   - settings: The settings of the field formatter to test.
  * @param string $property
  *   The property that should be found.
  * @param array $expected_rdf_value
  *   An associative array describing the expected value of the property
  *   containing:
  *   - value: The actual value of the string or URI.
  *   - type: The type of RDF value, e.g. 'literal' for a string, or 'uri'.
  *   Defaults to 'literal'.
  *   - datatype: (optional) The datatype of the value (e.g. xsd:dateTime).
  */
 protected function assertFormatterRdfa($formatter, $property, $expected_rdf_value)
 {
     $expected_rdf_value += array('type' => 'literal');
     // The field formatter will be rendered inside the entity. Set the field
     // formatter in the entity display options before rendering the entity.
     entity_get_display('entity_test', 'entity_test', 'default')->setComponent($this->fieldName, $formatter)->save();
     $build = entity_view($this->entity, 'default');
     $output = \Drupal::service('renderer')->renderRoot($build);
     $graph = new \EasyRdf_Graph($this->uri, $output, 'rdfa');
     $this->setRawContent($output);
     // If verbose debugging is turned on, display the HTML and parsed RDF
     // in the results.
     if ($this->debug) {
         print_r($output);
         print_r($graph->toRdfPhp());
     }
     $this->assertTrue($graph->hasProperty($this->uri, $property, $expected_rdf_value), "Formatter {$formatter['type']} exposes data correctly for {$this->fieldType} fields.");
 }
예제 #2
0
 /**
  * Tests output for comment properties on nodes in full page view mode.
  *
  * @param \EasyRdf_Graph $graph
  *   The EasyRDF graph object.
  */
 protected function assertRdfaNodeCommentProperties($graph)
 {
     // Relationship between node and comment.
     $expected_value = array('type' => 'uri', 'value' => $this->articleCommentUri);
     $this->assertTrue($graph->hasProperty($this->articleUri, 'http://schema.org/comment', $expected_value), 'Relationship between node and comment found (schema:comment).');
     // Comment type.
     $this->assertEqual($graph->type($this->articleCommentUri), 'schema:Comment', 'Comment type was found (schema:Comment).');
     // Comment title.
     $expected_value = array('type' => 'literal', 'value' => $this->articleComment->get('subject')->value, 'lang' => 'en');
     $this->assertTrue($graph->hasProperty($this->articleCommentUri, 'http://schema.org/name', $expected_value), 'Article comment title was found (schema:name).');
     // Comment created date.
     $expected_value = array('type' => 'literal', 'value' => format_date($this->articleComment->get('created')->value, 'custom', 'c', 'UTC'), 'lang' => 'en');
     $this->assertTrue($graph->hasProperty($this->articleCommentUri, 'http://schema.org/dateCreated', $expected_value), 'Article comment created date was found (schema:dateCreated).');
     // Comment body.
     $text = $this->articleComment->get('comment_body')->value;
     $expected_value = array('type' => 'literal', 'value' => "{$text}\n", 'lang' => 'en');
     $this->assertTrue($graph->hasProperty($this->articleCommentUri, 'http://schema.org/text', $expected_value), 'Article comment body was found (schema:text).');
     // Comment uid.
     $expected_value = array('type' => 'uri', 'value' => $this->commenterUri);
     $this->assertTrue($graph->hasProperty($this->articleCommentUri, 'http://schema.org/author', $expected_value), 'Article comment author was found (schema:author).');
     // Comment author type.
     $this->assertEqual($graph->type($this->commenterUri), 'schema:Person', 'Comment author type was found (schema:Person).');
     // Comment author name.
     $expected_value = array('type' => 'literal', 'value' => $this->webUser->getUsername());
     $this->assertTrue($graph->hasProperty($this->commenterUri, 'http://schema.org/name', $expected_value), 'Comment author name was found (schema:name).');
 }