diff -u b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php --- b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php +++ b/core/modules/image/src/Plugin/Field/FieldFormatter/ImageFormatter.php @@ -109,12 +109,10 @@ '#empty_option' => t('None (original image)'), '#options' => $image_styles, ); - $element['configure_styles'] = array( - '#markup' => $this->linkGenerator->generate($this->t('Configure Image Styles'), 'image.style_list'), + '#markup' => $this->linkGenerator->generate($this->t('Configure Image Styles', array('@url' => \Drupal::url('image.style_list'))), \Drupal\Core\Url::fromRoute('image.style_list')), '#access' => $this->currentUser->hasPermission('administer image styles'), ); - $link_types = array( 'content' => t('Content'), 'file' => t('File'), diff -u b/core/modules/image/src/Tests/ImageFieldDisplayTest.php b/core/modules/image/src/Tests/ImageFieldDisplayTest.php --- b/core/modules/image/src/Tests/ImageFieldDisplayTest.php +++ b/core/modules/image/src/Tests/ImageFieldDisplayTest.php @@ -53,8 +53,23 @@ // Go to manage display page. $this->drupalGet("admin/structure/types/manage/article/display"); + // Test for existence of link to image styles configuration. $this->drupalPostAjaxForm(NULL, array(), "{$field_name}_settings_edit"); - $this->assertLink(t('Configure Image Styles'), 0, 'Link to image styles configuration is found'); + $this->assertLinkByHref(\Drupal::url('image.style_list'), 0, 'Link to image styles configuration is found'); + + // Remove 'administer image styles' permission from testing admin user. + $admin_user_roles = $this->admin_user->getRoles(TRUE); + user_role_change_permissions(reset($admin_user_roles), array('administer image styles' => FALSE)); + + // Go to manage display page again. + $this->drupalGet("admin/structure/types/manage/article/display"); + + // Test for absence of link to image styles configuration. + $this->drupalPostAjaxForm(NULL, array(), "{$field_name}_settings_edit"); + $this->assertNoLinkByHref(\Drupal::url('image.style_list'), 'Link to image styles configuration is absent when permissions are insufficient'); + + // Restore 'administer image styles' permission to testing admin user + user_role_change_permissions(reset($admin_user_roles), array('administer image styles' => TRUE)); // Create a new node with an image attached. $test_image = current($this->drupalGetTestFiles('image'));