diff --git a/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationTestBase.php b/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationTestBase.php index d1485d236e3e071ad973887018fdf86bf8995a41..8bd48768733cd903dbfd780bad60b1db45a7d718 100644 --- a/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationTestBase.php +++ b/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationTestBase.php @@ -124,20 +124,13 @@ protected function getEditorPermissions() { return array(); } - /** - * Returns an array of permissions needed for the administrator. - */ - protected function getAdministratorPermissions() { - return array_merge($this->getEditorPermissions(), $this->getTranslatorPermissions(), array('administer content translation')); - } - /** * Creates and activates translator, editor and admin users. */ protected function setupUsers() { $this->translator = $this->drupalCreateUser($this->getTranslatorPermissions(), 'translator'); $this->editor = $this->drupalCreateUser($this->getEditorPermissions(), 'editor'); - $this->administrator = $this->drupalCreateUser($this->getAdministratorPermissions(), 'administrator'); + $this->administrator = $this->drupalCreateUser(array_merge($this->getEditorPermissions(), $this->getTranslatorPermissions()), 'administrator'); $this->drupalLogin($this->translator); } diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php b/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php index 25cce230758700f73179667919a0e3e4215d4c6b..bab99961f4be98dca04167937cb91a7bbafcbf61 100644 --- a/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php +++ b/core/modules/node/lib/Drupal/node/Tests/NodeTranslationUITest.php @@ -22,13 +22,6 @@ class NodeTranslationUITest extends ContentTranslationUITest { */ public static $modules = array('block', 'language', 'content_translation', 'node', 'datetime', 'field_ui'); - /** - * The profile to install as a basis for testing. - * - * @var string - */ - protected $profile = 'standard'; - public static function getInfo() { return array( 'name' => 'Node translation UI', @@ -41,36 +34,22 @@ function setUp() { $this->entityType = 'node'; $this->bundle = 'article'; parent::setUp(); - - // Ensure the help message is shown even with prefixed paths. $this->drupalPlaceBlock('system_help_block', array('region' => 'content')); - - // Display the language selector. - $this->drupalLogin($this->administrator); - $edit = array('language_configuration[language_show]' => TRUE); - $this->drupalPostForm('admin/structure/types/manage/article', $edit, t('Save content type')); - $this->drupalLogin($this->translator); } /** - * Overrides \Drupal\content_translation\Tests\ContentTranslationUITest::getTranslatorPermission(). + * Overrides \Drupal\content_translation\Tests\ContentTranslationUITest::setupBundle(). */ - protected function getTranslatorPermissions() { - return array_merge(parent::getTranslatorPermissions(), array('administer nodes', "edit any $this->bundle content")); + protected function setupBundle() { + parent::setupBundle(); + $this->drupalCreateContentType(array('type' => $this->bundle, 'name' => $this->bundle)); } /** - * {@inheritdoc} - */ - protected function getEditorPermissions() { - return array('administer nodes', 'create article content'); - } - - /** - * {@inheritdoc} + * Overrides \Drupal\content_translation\Tests\ContentTranslationUITest::getTranslatorPermission(). */ - protected function getAdministratorPermissions() { - return array_merge(parent::getAdministratorPermissions(), array('access administration pages', 'administer content types', 'administer node fields', 'access content overview', 'bypass node access')); + protected function getTranslatorPermissions() { + return array_merge(parent::getTranslatorPermissions(), array('administer nodes', "edit any $this->bundle content")); } /** @@ -80,22 +59,6 @@ protected function getNewEntityValues($langcode) { return array('title' => $this->randomName()) + parent::getNewEntityValues($langcode); } - /** - * {@inheritdoc} - */ - protected function createEntity($values, $langcode, $bundle_name = NULL) { - $this->drupalLogin($this->editor); - $edit = array( - 'title' => $values['title'], - "{$this->fieldName}[0][value]" => $values[$this->fieldName][0]['value'], - 'langcode' => $langcode, - ); - $this->drupalPostForm('node/add/article', $edit,t('Save and publish')); - $this->drupalLogin($this->translator); - $node = $this->drupalGetNodeByTitle($values['title']); - return $node->id(); - } - /** * Overrides \Drupal\content_translation\Tests\ContentTranslationUITest::getFormSubmitAction(). */ @@ -173,10 +136,11 @@ protected function doTestAuthoringInfo() { * Tests translate link on content admin page. */ function testTranslateLinkContentAdminPage() { - $this->drupalLogin($this->administrator); + $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'access content overview', 'administer nodes', 'bypass node access')); + $this->drupalLogin($this->admin_user); $page = $this->drupalCreateNode(array('type' => 'page')); - $article = $this->drupalCreateNode(array('type' => 'article', 'langcode' => $this->langcodes[0])); + $article = $this->drupalCreateNode(array('type' => 'article')); // Verify translation links. $this->drupalGet('admin/content'); @@ -189,7 +153,8 @@ function testTranslateLinkContentAdminPage() { * Tests field translation form. */ function testFieldTranslationForm() { - $this->drupalLogin($this->administrator); + $admin_user = $this->drupalCreateUser(array_merge($this->getTranslatorPermissions(), array('access administration pages', 'bypass node access', 'administer node fields'))); + $this->drupalLogin($admin_user); $article = $this->drupalCreateNode(array('type' => 'article', 'langcode' => 'en')); diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationTest.php b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationTest.php index 11903c11c6f91b12cfc61ba86cb06630bab71cb8..bc0e1952d958643919e87521c60979e33dda77c1 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTranslationTest.php @@ -483,17 +483,6 @@ function testEntityTranslationAPI() { $translation = $cloned->getTranslation($langcode); $this->assertNotIdentical($entity, $translation->getUntranslated(), 'A cloned entity object has no reference to the original one.'); - // Check that untranslatable field references keep working after serializing - // and cloning the entity. - $entity = $this->reloadEntity($entity); - $type = $this->randomName(); - $entity->getTranslation($langcode)->type->value = $type; - $entity = unserialize(serialize($entity)); - $cloned = clone $entity; - $translation = $cloned->getTranslation($langcode); - $translation->type->value = strrev($type); - $this->assertEqual($cloned->type->value, $translation->type->value, 'Untranslatable field references keep working after serializing and cloning the entity.'); - // Check that per-language defaults are properly populated. $entity = $this->reloadEntity($entity); $instance_id = implode('.', array($entity->entityType(), $entity->bundle(), $this->field_name));