diff --git a/core/modules/file/lib/Drupal/file/Tests/RemoteFileSaveUploadTest.php b/core/modules/file/lib/Drupal/file/Tests/RemoteFileSaveUploadTest.php index e3389fb..6f2000c 100644 --- a/core/modules/file/lib/Drupal/file/Tests/RemoteFileSaveUploadTest.php +++ b/core/modules/file/lib/Drupal/file/Tests/RemoteFileSaveUploadTest.php @@ -12,6 +12,13 @@ */ class RemoteFileSaveUploadTest extends SaveUploadTest { + /** + * Modules to enable. + * + * @var array + */ + public static $modules = array('file_test'); + public static function getInfo() { $info = parent::getInfo(); $info['group'] = 'File Managed API (remote)'; diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeTestBase.php b/core/modules/node/lib/Drupal/node/Tests/NodeTestBase.php index c4c8f01..dcb0518 100644 --- a/core/modules/node/lib/Drupal/node/Tests/NodeTestBase.php +++ b/core/modules/node/lib/Drupal/node/Tests/NodeTestBase.php @@ -32,11 +32,8 @@ function setUp() { parent::setUp(); + // Create Basic page and Article node types. if ($this->profile != 'standard') { - // Enable default permissions for system roles. - user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access content')); - user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('access content')); - $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic page', 'settings' => array( // Set proper default options for the page content type. 'node' => array( diff --git a/core/modules/node/node.install b/core/modules/node/node.install index ba15fa3..92bf346 100644 --- a/core/modules/node/node.install +++ b/core/modules/node/node.install @@ -423,6 +423,16 @@ function node_schema() { * Implements hook_install(). */ function node_install() { + // Enable default permissions for system roles. + // IMPORTANT: Modules SHOULD NOT automatically grant any user role access + // permissions in hook_install(). + // However, the 'access content' permission is a very special case, since + // there is hardly a point in installing the Node module without granting + // these permissions. Doing so also allows tests to continue to operate as + // expected without first having to manually grant these default permissions. + user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access content')); + user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('access content')); + // Populate the node access table. db_insert('node_access') ->fields(array( diff --git a/core/profiles/minimal/minimal.install b/core/profiles/minimal/minimal.install index 6f08fe7..52bea38 100644 --- a/core/profiles/minimal/minimal.install +++ b/core/profiles/minimal/minimal.install @@ -17,8 +17,4 @@ function minimal_install() { // Allow visitor account creation, but with administrative approval. \Drupal::config('user.settings')->set('register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL)->save(); - - // Enable default permissions for system roles. - user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access content')); - user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('access content')); } diff --git a/core/profiles/standard/standard.install b/core/profiles/standard/standard.install index 8718567..bcb1d5c 100644 --- a/core/profiles/standard/standard.install +++ b/core/profiles/standard/standard.install @@ -32,8 +32,8 @@ function standard_install() { $user_settings->set('register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL)->save(); // Enable default permissions for system roles. - user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access content', 'access comments')); - user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('access content', 'access comments', 'post comments', 'skip comment approval')); + user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access comments')); + user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('access comments', 'post comments', 'skip comment approval')); // Enable all permissions for the administrator role. user_role_grant_permissions('administrator', array_keys(\Drupal::moduleHandler()->invokeAll('permission')));