protected function setUp() { parent::setUp(); // Create a new content type $content_type = $this->drupalCreateContentType(); // Add a node of the new content type. $node_data = array('type' => $content_type->id()); $this->addDefaultCommentField('node', $content_type->id()); $this->node = $this->drupalCreateNode($node_data); // Force a flush of the in-memory storage. $this->container->get('views.views_data')->clear(); // Create some comments and attach them to the created node. for ($i = 0; $i < $this->masterDisplayResults; $i++) { /** @var \Drupal\comment\CommentInterface $comment */ $comment = Comment::create(array('status' => CommentInterface::PUBLISHED, 'field_name' => 'comment', 'entity_type' => 'node', 'entity_id' => $this->node->id())); $comment->setOwnerId(0); $comment->setSubject('Test comment ' . $i); $comment->comment_body->value = 'Test body ' . $i; $comment->comment_body->format = 'full_html'; // Ensure comments are sorted in ascending order. $time = REQUEST_TIME + ($this->masterDisplayResults - $i); $comment->setCreatedTime($time); $comment->changed->value = $time; $comment->save(); } // Store all the nodes just created to access their properties on the tests. $this->commentsCreated = Comment::loadMultiple(); // Sort created comments in descending order. ksort($this->commentsCreated, SORT_NUMERIC); }
/** * Checks each themed entity for XSS filtering in available themes. */ function testThemedEntity() { // Check paths where various view modes of the entities are rendered. $paths = array('user', 'node', 'node/' . $this->node->id(), 'taxonomy/term/' . $this->term->id()); // Check each path in all available themes. foreach ($this->themes as $name => $theme) { $this->config('system.theme')->set('default', $name)->save(); foreach ($paths as $path) { $this->drupalGet($path); $this->assertResponse(200); $this->assertNoRaw($this->xssLabel); } } }