From 36e9422aef289691cc3f420bec4ceee6c60a5618 Mon Sep 17 00:00:00 2001 From: Dries <dries@buytaert.net> Date: Mon, 6 Feb 2012 17:25:12 -0500 Subject: [PATCH] - Patch #1425280 by Niklas Fiekas, swentel: no contextual links in node lists after a node without contextual links. --- core/modules/contextual/contextual.test | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 core/modules/contextual/contextual.test diff --git a/core/modules/contextual/contextual.test b/core/modules/contextual/contextual.test new file mode 100644 index 000000000000..a1b94cc08cb8 --- /dev/null +++ b/core/modules/contextual/contextual.test @@ -0,0 +1,47 @@ +<?php + +/** + * @file + * Tests for contextual.module. + */ + +/** + * Tests accessible links after inaccessible links on dynamic context. + */ +class ContextualDynamicContextTestCase extends DrupalWebTestCase { + protected $profile = 'testing'; + + public static function getInfo() { + return array( + 'name' => 'Contextual links on node lists', + 'description' => 'Tests if contextual links are showing on the front page depending on permissions.', + 'group' => 'Contextual', + ); + } + + function setUp() { + parent::setUp(array('contextual', 'node')); + $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page')); + $this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article')); + $web_user = $this->drupalCreateUser(array('access content', 'access contextual links', 'edit any article content')); + $this->drupalLogin($web_user); + } + + /** + * Tests contextual links on node lists with different permissions. + */ + function testNodeLinks() { + // Promote nodes to the front page. One article node the user can edit, one + // page node he can not edit and another article node he can edit. + $node1 = $this->drupalCreateNode(array('type' => 'article', 'promote' => 1)); + $node2 = $this->drupalCreateNode(array('type' => 'page', 'promote' => 1)); + $node3 = $this->drupalCreateNode(array('type' => 'article', 'promote' => 1)); + + // Now, on the front page, all article nodes should have contextual edit + // links. The page node in between should not. + $this->drupalGet('node'); + $this->assertRaw('node/' . $node1->nid . '/edit', 'Edit link for oldest article node showing.'); + $this->assertNoRaw('node/' . $node2->nid . '/edit', 'No edit link for page nodes.'); + $this->assertRaw('node/' . $node3->nid . '/edit', 'Edit link for most recent article node showing.'); + } +} -- GitLab