diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageAwareCombinationTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageAwareCombinationTest.php new file mode 100644 index 0000000..2566443 --- /dev/null +++ b/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageAwareCombinationTest.php @@ -0,0 +1,365 @@ + 'Node access language aware combination', + 'description' => 'Test node_access and db_select with node_access tag functionality with multiple languages with node_access_test_language and node_access_test module.', + 'group' => 'Node', + ); + } + + /** + * Asserts node_access correctly grants or denies access. + */ + function assertNodeAccess($ops, $node, $account, $langcode = NULL) { + foreach ($ops as $op => $result) { + $msg = t("node_access returns @result with operation '@op', language code @langcode.", array('@result' => $result ? 'true' : 'false', '@op' => $op, '@langcode' => !empty($langcode) ? "'$langcode'" : 'empty')); + $this->assertEqual($result, node_access($op, $node, $account, $langcode), $msg); + } + } + + function setUp() { + parent::setUp(); + + node_access_rebuild(); + + // Clear permissions for authenticated users. + db_delete('role_permission') + ->condition('rid', DRUPAL_AUTHENTICATED_RID) + ->execute(); + + // Add Hungarian and Catalan. + $language = new Language(array( + 'langcode' => 'hu', + )); + language_save($language); + $language = new Language(array( + 'langcode' => 'ca', + )); + language_save($language); + } + + /** + * Runs tests for node_access function with multiple languages. + */ + function testNodeAccessLanguageAwareCombination() { + $web_user = $this->drupalCreateUser(array('access content')); + + $expected_node_access = array('view' => TRUE, 'update' => FALSE, 'delete' => FALSE); + $expected_node_access_no_access = array('view' => FALSE, 'update' => FALSE, 'delete' => FALSE); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is public, Catalan is public, non language aware + // node_access module public. + $node = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 0)), + 'ca' => array(0 => array('value' => 0)), + ), + 'private' => FALSE, + )); + $this->assertTrue($node->langcode == 'hu', t('Node created as Hungarian.')); + + $this->assertNodeAccess($expected_node_access, $node, $web_user); + $this->assertNodeAccess($expected_node_access, $node, $web_user, 'hu'); + $this->assertNodeAccess($expected_node_access, $node, $web_user, 'ca'); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'en'); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is public, Catalan is public, non language aware + // node_access module private. + // Even the non language aware node_access module (private) prevents access, + // still the settings of the language aware module (field_private) will + // be used. Because it generates grants also when access is granted. + $node = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 0)), + 'ca' => array(0 => array('value' => 0)), + ), + 'private' => TRUE, + )); + $this->assertTrue($node->langcode == 'hu', t('Node created as Hungarian.')); + + // language aware node_access module Mmdule specificly grants access to + // languages versions of nodes. That is why non language aware node_access + // module cannot prevent access from it. + $this->assertNodeAccess($expected_node_access, $node, $web_user); + $this->assertNodeAccess($expected_node_access, $node, $web_user, 'hu'); + $this->assertNodeAccess($expected_node_access, $node, $web_user, 'ca'); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'en'); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is private, Catalan is public, non language aware + // node_access module public. + $node = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 1)), + 'ca' => array(0 => array('value' => 0)), + ), + 'private' => FALSE, + )); + $this->assertTrue($node->langcode == 'hu', t('Node created as Hungarian.')); + + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'hu'); + $this->assertNodeAccess($expected_node_access, $node, $web_user, 'ca'); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'en'); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is public, Catalan is private, non language aware + // node_access module public. + $node = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 0)), + 'ca' => array(0 => array('value' => 1)), + ), + 'private' => FALSE, + )); + $this->assertTrue($node->langcode == 'hu', t('Node created as Hungarian.')); + + $this->assertNodeAccess($expected_node_access, $node, $web_user); + $this->assertNodeAccess($expected_node_access, $node, $web_user, 'hu'); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'ca'); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'en'); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is private, Catalan is private, non language aware + // node_access module public. + $node = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 1)), + 'ca' => array(0 => array('value' => 1)), + ), + 'private' => FALSE, + )); + $this->assertTrue($node->langcode == 'hu', t('Node created as Hungarian.')); + + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'hu'); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'ca'); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'en'); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is private, Catalan is private, non language aware + // node_access module private. + $node = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 1)), + 'ca' => array(0 => array('value' => 1)), + ), + 'private' => TRUE, + )); + $this->assertTrue($node->langcode == 'hu', t('Node created as Hungarian.')); + + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'hu'); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'ca'); + $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'en'); + + } + + /** + * Runs tests for db_select with node_access tag and langcode. + */ + function testNodeAccessLanguageAwareQueryTag() { + $web_user = $this->drupalCreateUser(array('access content')); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is public, Catalan is public, non language aware + // node_access module public. + $node_both_public = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 0)), + 'ca' => array(0 => array('value' => 0)), + ), + 'private' => FALSE, + )); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is public, Catalan is public, non language aware + // node_access module private. + // Even the non language aware node_access module (private) prevents access, + // still the settings of the language aware module (field_private) will + // be used. Because it generates grants also when access is granted. + $node_both_public_non_language_aware_private = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 0)), + 'ca' => array(0 => array('value' => 0)), + ), + 'private' => TRUE, + )); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is private, Catalan is public, non language aware + // node_access module public. + $node_only_hu_public = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 0)), + 'ca' => array(0 => array('value' => 1)), + ), + 'private' => FALSE, + )); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is public, Catalan is private, non language aware + // node_access module public. + $node_only_ca_public = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 1)), + 'ca' => array(0 => array('value' => 0)), + ), + 'private' => FALSE, + )); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is private, Catalan is private, non language aware + // node_access module public. + // Even the non language aware node_access module (private) grants access, + // still the settings of the language aware module (field_private) will + // be used. Because the non language aware node_access module (private) + // does only create grants when it is settings is private. + $node_no_public_non_language_aware_public = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 1)), + 'ca' => array(0 => array('value' => 1)), + ), + 'private' => FALSE, + )); + + // Creating a Node with default langcode Hungarian and translation Catalan. + // Hungarian language is private, Catalan is private, non language aware + // node_access module public. + $node_no_public = $this->drupalCreateNode(array( + 'body' => array('hu' => array(array())), + 'langcode' => 'hu', + 'field_private' => array( + 'hu' => array(0 => array('value' => 1)), + 'ca' => array(0 => array('value' => 1)), + ), + 'private' => TRUE, + )); + + // Query the nodes table as readonly user with Node Access Tag and no + // specific langcode. + $select = db_select('node', 'n') + ->fields('n', array('nid')) + ->addMetaData('account', $web_user) + ->addTag('node_access'); + $nids = $select->execute()->fetchAllAssoc('nid'); + + // Because no langcode is given it will use the fallback language + // (which is hungarian). + $this->assertEqual(count($nids), 3, 'db_select returns 3 nodes'); + $this->assertTrue(array_key_exists($node_both_public->nid, $nids), 'Returned node ID is full public node.'); + $this->assertTrue(array_key_exists($node_only_hu_public->nid, $nids), 'Returned node ID is Hungarian public only node.'); + $this->assertTrue(array_key_exists($node_both_public_non_language_aware_private->nid, $nids), 'Returned node ID is both public non language aware private only node.'); + + // Query the nodes table as readonly user with Node Access Tag and + // Hungarian langcode + $select = db_select('node', 'n') + ->fields('n', array('nid')) + ->addMetaData('account', $web_user) + ->addMetaData('langcode', 'hu') + ->addTag('node_access'); + $nids = $select->execute()->fetchAllAssoc('nid'); + + $this->assertEqual(count($nids), 3, 'db_select returns 3 nodes'); + $this->assertTrue(array_key_exists($node_both_public->nid, $nids), 'Returned node ID is both public node.'); + $this->assertTrue(array_key_exists($node_only_hu_public->nid, $nids), 'Returned node ID is Hungarian public only node.'); + $this->assertTrue(array_key_exists($node_both_public_non_language_aware_private->nid, $nids), 'Returned node ID is both public non language aware private only node.'); + + // Query the nodes table as readonly user with Node Access Tag and + // Catalan langcode + $select = db_select('node', 'n') + ->fields('n', array('nid')) + ->addMetaData('account', $web_user) + ->addMetaData('langcode', 'ca') + ->addTag('node_access'); + $nids = $select->execute()->fetchAllAssoc('nid'); + + $this->assertEqual(count($nids), 3, 'db_select returns 3 nodes'); + $this->assertTrue(array_key_exists($node_both_public->nid, $nids), 'Returned node ID is both public node.'); + $this->assertTrue(array_key_exists($node_only_ca_public->nid, $nids), 'Returned node ID is Catalan public only node.'); + $this->assertTrue(array_key_exists($node_both_public_non_language_aware_private->nid, $nids), 'Returned node ID is both public non language aware private only node.'); + + + // Query the nodes table as readonly User with Node Access Tag and + // langcode de. + $select = db_select('node', 'n') + ->fields('n', array('nid')) + ->addMetaData('account', $web_user) + ->addMetaData('langcode', 'de') + ->addTag('node_access'); + $nids = $select->execute()->fetchAllAssoc('nid'); + + // Because all created nodes are not in German, no Nodes are returned. + $this->assertTrue(empty($nids), 'db_select returns empty result'); + + + // Query the nodes table as User 1 (full access) with Node Access Tag and no + // specific langcode. + $select = db_select('node', 'n') + ->fields('n', array('nid')) + ->addTag('node_access'); + $nids = $select->execute()->fetchAllAssoc('nid'); + + // Both nodes are returned. + $this->assertEqual(count($nids), 6, 'db_select returns all nodes'); + + // Query the nodes table as User 1 (full access) with Node Access Tag and + // langcode de. + $select = db_select('node', 'n') + ->fields('n', array('nid')) + ->addMetaData('langcode', 'de') + ->addTag('node_access'); + $nids = $select->execute()->fetchAllAssoc('nid'); + + // Both nodes are returned because node access tag is not invoked when + // the user is user 1. + $this->assertEqual(count($nids), 6, 'db_select returns all nodes'); + } + +} diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageAwareTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageAwareTest.php index df55d77..7042a14 100644 --- a/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageAwareTest.php +++ b/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageAwareTest.php @@ -2,7 +2,7 @@ /** * @file - * Definition of Drupal\node\Tests\NodeAccessLanguageTest. + * Definition of Drupal\node\Tests\NodeAccessLanguageAwareTest. */ namespace Drupal\node\Tests; @@ -109,13 +109,13 @@ function testNodeAccessLanguageAware() { // Tests that access to default language (Hungarian) is not granted. $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user); - // Tests that access to hungarian language is granted. + // Tests that access to hungarian language is not granted. $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'hu'); // Tests that access to catalan language is granted. $this->assertNodeAccess($expected_node_access, $node, $web_user, 'ca'); - // Tests that access to english language is granted. + // Tests that access to english language is not granted. $this->assertNodeAccess($expected_node_access_no_access, $node, $web_user, 'en'); // Creating a Node with default langcode Hungarian and translation Catalan. diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php index 3f6d331..1034a57 100644 --- a/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php +++ b/core/modules/node/lib/Drupal/node/Tests/NodeAccessLanguageTest.php @@ -64,18 +64,21 @@ function setUp() { } /** - * Runs tests for node_access function with multiple languages. + * Runs tests for node_access function with multiple languages and no private + * nodes. */ function testNodeAccess() { $web_user = $this->drupalCreateUser(array('access content')); + + $expected_node_access = array('view' => TRUE, 'update' => FALSE, 'delete' => FALSE); + $expected_node_access_no_access = array('view' => FALSE, 'update' => FALSE, 'delete' => FALSE); + // Creating a public Node with langcode Hungarian, will be saved as // the fallback in node access table. $node_public = $this->drupalCreateNode(array('body' => array('hu' => array(array())), 'langcode' => 'hu', 'private' => FALSE)); - $this->assertTrue($node_public->langcode == 'hu', t('Node created as Hungarian.')); + $this->assertTrue($node_public->langcode == 'hu', 'Node created as Hungarian.'); // Tests the default access provided for the public Hungarian node. - $expected_node_access = array('view' => TRUE, 'update' => FALSE, 'delete' => FALSE); - $expected_node_access_no_access = array('view' => FALSE, 'update' => FALSE, 'delete' => FALSE); $this->assertNodeAccess($expected_node_access, $node_public, $web_user); // Tests that Hungarian provided specifically results in the same. @@ -87,16 +90,93 @@ function testNodeAccess() { $this->assertNodeAccess($expected_node_access_no_access, $node_public, $web_user, 'ca'); $this->assertNodeAccess($expected_node_access_no_access, $node_public, $web_user, 'hr'); + // Creating a public Node with no special langcode, like when no language + // Module enabled. + $node_public_no_language = $this->drupalCreateNode(array('private' => FALSE)); + $this->assertTrue($node_public_no_language->langcode == LANGUAGE_NOT_SPECIFIED, 'Node created with not specified language.'); + + // Tests that access provided if requested with no language. + $this->assertNodeAccess($expected_node_access, $node_public_no_language, $web_user); + + // Tests that access not provided if requested with Hungarian language. + $this->assertNodeAccess($expected_node_access_no_access, $node_public_no_language, $web_user, 'hu'); + + // There is no specific Catalan version of this node and Croatian is not + // even set up on the system in this scenario, so the user will not get + // access to these nodes. + $this->assertNodeAccess($expected_node_access_no_access, $node_public_no_language, $web_user, 'ca'); + $this->assertNodeAccess($expected_node_access_no_access, $node_public_no_language, $web_user, 'hr'); + // Reset the node access cache and turn on our test node_access() code. drupal_static_reset('node_access'); variable_set('node_access_test_secret_catalan', 1); - // Tests that Hungarian is still accessible. - $this->assertNodeAccess($expected_node_access, $node_public, $web_user, 'hu'); + // Tests that access provided if requested with no language. + $this->assertNodeAccess($expected_node_access, $node_public_no_language, $web_user); + + // Tests that Hungarian is still not accessible. + $this->assertNodeAccess($expected_node_access_no_access, $node_public_no_language, $web_user, 'hu'); + + // Tests that Catalan is still not accessible. + $this->assertNodeAccess($expected_node_access_no_access, $node_public_no_language, $web_user, 'ca'); + } + + /** + * Runs tests for node_access function with multiple languages and private + * nodes. + */ + function testNodeAccessPrivate() { + $web_user = $this->drupalCreateUser(array('access content')); + + $expected_node_access = array('view' => TRUE, 'update' => FALSE, 'delete' => FALSE); + $expected_node_access_no_access = array('view' => FALSE, 'update' => FALSE, 'delete' => FALSE); + + // Creating a private Node with langcode Hungarian, will be saved as + // the fallback in node access table. + $node_public = $this->drupalCreateNode(array('body' => array('hu' => array(array())), 'langcode' => 'hu', 'private' => TRUE)); + $this->assertTrue($node_public->langcode == 'hu', 'Node created as Hungarian.'); + + // Tests the default access is not provided for the private Hungarian node. + $this->assertNodeAccess($expected_node_access_no_access, $node_public, $web_user); + + // Tests that Hungarian provided specifically results in the same. + $this->assertNodeAccess($expected_node_access_no_access, $node_public, $web_user, 'hu'); + + // There is no specific Catalan version of this node and Croatian is not + // even set up on the system in this scenario, so the user will not get + // access to these nodes. + $this->assertNodeAccess($expected_node_access_no_access, $node_public, $web_user, 'ca'); + $this->assertNodeAccess($expected_node_access_no_access, $node_public, $web_user, 'hr'); + + // Creating a private Node with no special langcode, like when no language + // Module enabled. + $node_private_no_language = $this->drupalCreateNode(array('private' => TRUE)); + $this->assertTrue($node_private_no_language->langcode == LANGUAGE_NOT_SPECIFIED, 'Node created with not specified language.'); + + // Tests that access not provided if requested with no language. + $this->assertNodeAccess($expected_node_access_no_access, $node_private_no_language, $web_user); - // Tests that Catalan is not accessible anymore. - $this->assertNodeAccess(array('view' => FALSE, 'update' => FALSE, 'delete' => FALSE), $node_public, $web_user, 'ca'); + // Tests that access not provided if requested with Hungarian language. + $this->assertNodeAccess($expected_node_access_no_access, $node_private_no_language, $web_user, 'hu'); + // There is no specific Catalan version of this node and Croatian is not + // even set up on the system in this scenario, so the user will not get + // access to these nodes. + $this->assertNodeAccess($expected_node_access_no_access, $node_private_no_language, $web_user, 'ca'); + $this->assertNodeAccess($expected_node_access_no_access, $node_private_no_language, $web_user, 'hr'); + + // Reset the node access cache and turn on our test node_access() code. + drupal_static_reset('node_access'); + variable_set('node_access_test_secret_catalan', 1); + + // Tests that access not provided if requested with no language. + $this->assertNodeAccess($expected_node_access_no_access, $node_private_no_language, $web_user); + + // Tests that Hungarian is still not accessible. + $this->assertNodeAccess($expected_node_access_no_access, $node_private_no_language, $web_user, 'hu'); + + // Tests that Catalan is still not accessible. + $this->assertNodeAccess($expected_node_access_no_access, $node_private_no_language, $web_user, 'ca'); } /** @@ -108,12 +188,17 @@ function testNodeAccessQueryTag() { // Creating a private Node with langcode Hungarian, will be saved as // the fallback in node access table. $node_private = $this->drupalCreateNode(array('body' => array('hu' => array(array())), 'langcode' => 'hu', 'private' => TRUE)); - $this->assertTrue($node_private->langcode == 'hu', t('Node created as Hungarian.')); + $this->assertTrue($node_private->langcode == 'hu', 'Node created as Hungarian.'); // Creating a public Node with langcode Hungarian, will be saved as // the fallback in node access table. $node_public = $this->drupalCreateNode(array('body' => array('hu' => array(array())), 'langcode' => 'hu', 'private' => FALSE)); - $this->assertTrue($node_public->langcode == 'hu', t('Node created as Hungarian.')); + $this->assertTrue($node_public->langcode == 'hu', 'Node created as Hungarian.'); + + // Creating a public Node with no special langcode, like when no language + // Module enabled. + $node_no_language = $this->drupalCreateNode(array('private' => FALSE)); + $this->assertTrue($node_no_language->langcode == LANGUAGE_NOT_SPECIFIED, 'Node created with not specified language.'); // Query the nodes table as readonly user with Node Access Tag and no // specific langcode. @@ -123,10 +208,11 @@ function testNodeAccessQueryTag() { ->addTag('node_access'); $nids = $select->execute()->fetchAllAssoc('nid'); - // Only the public node should be returned. Because no langcode is given it - // will use the fallback node (which is the hungarian node). - $this->assertEqual(count($nids), 1, t('db_select returns only 1 node')); - $this->assertTrue(array_key_exists($node_public->nid, $nids), t('Returned node id is public node')); + // The public node and no language node should be returned. Because no + // langcode is given itwill use the fallback node. + $this->assertEqual(count($nids), 2, 'db_select returns 2 node'); + $this->assertTrue(array_key_exists($node_public->nid, $nids), 'Returned node ID is public node.'); + $this->assertTrue(array_key_exists($node_no_language->nid, $nids), 'Returned node ID is no language node.'); // Query the nodes table as readonly User with Node Access Tag and // langcode de. @@ -137,8 +223,8 @@ function testNodeAccessQueryTag() { ->addTag('node_access'); $nids = $select->execute()->fetchAllAssoc('nid'); - // Because both created nodes are in Hungarian, no Nodes are returned. - $this->assertTrue(empty($nids), t('db_select returns empty result')); + // Because no Nodes are created in German, no Nodes are returned. + $this->assertTrue(empty($nids), 'db_select returns empty result'); // Query the nodes table as User 1 (full access) with Node Access Tag and no // specific langcode. @@ -147,8 +233,8 @@ function testNodeAccessQueryTag() { ->addTag('node_access'); $nids = $select->execute()->fetchAllAssoc('nid'); - // Both nodes are returned. - $this->assertEqual(count($nids), 2, t('db_select returns both nodes')); + // All nodes are returned. + $this->assertEqual(count($nids), 3, 'db_select returns all three nodes.'); // Query the nodes table as User 1 (full access) with Node Access Tag and // langcode de. @@ -158,9 +244,8 @@ function testNodeAccessQueryTag() { ->addTag('node_access'); $nids = $select->execute()->fetchAllAssoc('nid'); - // Both nodes are returned because node access tag is not invoked when + // All nodes are returned because node access tag is not invoked when // the user is user 1. - $this->assertEqual(count($nids), 2, t('db_select returns both nodes')); - + $this->assertEqual(count($nids), 3, 'db_select returns all three nodes.'); } } diff --git a/core/modules/node/node.install b/core/modules/node/node.install index 1e7a565..3ba3d30 100644 --- a/core/modules/node/node.install +++ b/core/modules/node/node.install @@ -756,7 +756,7 @@ function node_update_8011() { /** * Add language.langcode and fallback field to node_access table. */ -function node_update_8011() { +function node_update_8012() { // Add the langcode field. $langcode_field = array( 'type' => 'varchar', diff --git a/core/modules/node/tests/modules/node_access_test_language/node_access_test_language.module b/core/modules/node/tests/modules/node_access_test_language/node_access_test_language.module index eaa76e4..41c6682 100644 --- a/core/modules/node/tests/modules/node_access_test_language/node_access_test_language.module +++ b/core/modules/node/tests/modules/node_access_test_language/node_access_test_language.module @@ -86,7 +86,7 @@ function node_access_test_language_enable(){ 'field_name' => 'field_private', 'type' => 'list_boolean', 'cardinality' => 1, - 'translatable' => 1, + 'translatable' => TRUE, 'settings' => array( 'allowed_values' => array(0 => 'Not private', 1 => 'Private'), ),