GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 134.29.175.74 / Your IP : 216.73.216.160 Web Server : nginx/1.10.2 System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586 User : Administrator ( 0) PHP Version : 7.1.0 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/nginx/html/Student/JimMartinson/Lab12/drupal/core/modules/comment/src/Tests/ |
Upload File : |
<?php namespace Drupal\comment\Tests; use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface; use Drupal\Core\Language\LanguageInterface; use Drupal\comment\CommentInterface; use Drupal\user\RoleInterface; use Drupal\comment\Entity\Comment; /** * Basic comment links tests to ensure markup present. * * @group comment */ class CommentLinksTest extends CommentTestBase { /** * Comment being tested. * * @var \Drupal\comment\CommentInterface */ protected $comment; /** * Seen comments, array of comment IDs. * * @var array */ protected $seen = []; /** * Use the main node listing to test rendering on teasers. * * @var array * * @todo Remove this dependency. */ public static $modules = ['views']; /** * Tests that comment links are output and can be hidden. */ public function testCommentLinks() { // Bartik theme alters comment links, so use a different theme. \Drupal::service('theme_handler')->install(['stark']); $this->config('system.theme') ->set('default', 'stark') ->save(); // Remove additional user permissions from $this->webUser added by setUp(), // since this test is limited to anonymous and authenticated roles only. $roles = $this->webUser->getRoles(); entity_delete_multiple('user_role', [reset($roles)]); // Create a comment via CRUD API functionality, since // $this->postComment() relies on actual user permissions. $comment = Comment::create([ 'cid' => NULL, 'entity_id' => $this->node->id(), 'entity_type' => 'node', 'field_name' => 'comment', 'pid' => 0, 'uid' => 0, 'status' => CommentInterface::PUBLISHED, 'subject' => $this->randomMachineName(), 'hostname' => '127.0.0.1', 'langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED, 'comment_body' => [['value' => $this->randomMachineName()]], ]); $comment->save(); $this->comment = $comment; // Change comment settings. $this->setCommentSettings('form_location', CommentItemInterface::FORM_BELOW, 'Set comment form location'); $this->setCommentAnonymous(TRUE); $this->node->comment = CommentItemInterface::OPEN; $this->node->save(); // Change user permissions. $perms = [ 'access comments' => 1, 'post comments' => 1, 'skip comment approval' => 1, 'edit own comments' => 1, ]; user_role_change_permissions(RoleInterface::ANONYMOUS_ID, $perms); $nid = $this->node->id(); // Assert basic link is output, actual functionality is unit-tested in // \Drupal\comment\Tests\CommentLinkBuilderTest. foreach (['node', "node/$nid"] as $path) { $this->drupalGet($path); // In teaser view, a link containing the comment count is always // expected. if ($path == 'node') { $this->assertLink(t('1 comment')); } $this->assertLink('Add new comment'); } // Change weight to make links go before comment body. entity_get_display('comment', 'comment', 'default') ->setComponent('links', ['weight' => -100]) ->save(); $this->drupalGet($this->node->urlInfo()); $element = $this->cssSelect('article.js-comment > div'); // Get last child element. $element = end($element[0]); $this->assertIdentical($element[0]->getName(), 'div', 'Last element is comment body.'); // Change weight to make links go after comment body. entity_get_display('comment', 'comment', 'default') ->setComponent('links', ['weight' => 100]) ->save(); $this->drupalGet($this->node->urlInfo()); $element = $this->cssSelect('article.js-comment > div'); // Get last child element. $element = end($element[0]); $this->assertIdentical($element[0]->getName(), 'ul', 'Last element is comment links.'); // Make sure we can hide node links. entity_get_display('node', $this->node->bundle(), 'default') ->removeComponent('links') ->save(); $this->drupalGet($this->node->urlInfo()); $this->assertNoLink('1 comment'); $this->assertNoLink('Add new comment'); // Visit the full node, make sure there are links for the comment. $this->drupalGet('node/' . $this->node->id()); $this->assertText($comment->getSubject()); $this->assertLink('Reply'); // Make sure we can hide comment links. entity_get_display('comment', 'comment', 'default') ->removeComponent('links') ->save(); $this->drupalGet('node/' . $this->node->id()); $this->assertText($comment->getSubject()); $this->assertNoLink('Reply'); } }