diff --git a/core/modules/file/tests/src/FunctionalJavascript/FileManagedFileElementTest.php b/core/modules/file/tests/src/FunctionalJavascript/FileManagedFileElementTest.php index b3be5b6fe2..a1d978f90b 100644 --- a/core/modules/file/tests/src/FunctionalJavascript/FileManagedFileElementTest.php +++ b/core/modules/file/tests/src/FunctionalJavascript/FileManagedFileElementTest.php @@ -37,14 +37,17 @@ protected function setUp() { * Tests the managed_file element type. */ public function testManagedFile() { + $assert_session = $this->assertSession(); + $page = $this->getSession()->getPage(); // Perform the tests with all permutations of $form['#tree'], // $element['#extended'], and $element['#multiple']. $filename = \Drupal::service('file_system')->tempnam('temporary://', "testManagedFile") . '.txt'; + $file_path = $this->container->get('file_system')->realpath($filename); file_put_contents($filename, $this->randomString(128)); - foreach (['stable', 'seven'] as $themename) { - \Drupal::service('theme_installer')->install([$themename]); + foreach (['stable', 'seven'] as $theme_name) { + \Drupal::service('theme_installer')->install([$theme_name]); $theme_config = \Drupal::configFactory()->getEditable('system.theme'); - $theme_config->set('default', $themename)->save(); + $theme_config->set('default', $theme_name)->save(); foreach ([0, 1] as $tree) { foreach ([0, 1] as $extended) { foreach ([0, 1] as $multiple) { @@ -58,29 +61,25 @@ public function testManagedFile() { $this->drupalGet($path); // Assert the dropzone enhancements in the seven theme. - if ($themename === 'seven') { - $trigger = $this->assertSession()->elementExists('css', '.dropzone .dropzone__trigger'); + if ($theme_name === 'seven') { + $trigger = $assert_session->elementExists('css', '.dropzone .dropzone__trigger'); $trigger->mouseOver(); $this->assertEquals(TRUE, $trigger->hasClass('is-hovering')); - $this->assertSession()->elementExists('css', '.dropzone .dropzone__no-trigger .form-managed-file-wrapper--dropzone .js-dropzone-add-button'); + $assert_session->elementExists('css', '.dropzone .dropzone__no-trigger .form-managed-file-wrapper--dropzone .js-dropzone-add-button'); } else { - $this->assertSession()->elementNotExists('css', '.dropzone'); + $assert_session->elementNotExists('css', '.dropzone'); } - $this->getSession() - ->getPage() - ->attachFileToField($file_field_name, $this->container->get('file_system') - ->realpath($filename)); - $uploaded_file = $this->assertSession() - ->waitForElement('css', '.file--mime-text-plain'); + $page->attachFileToField($file_field_name, $file_path); + $uploaded_file = $assert_session->waitForElement('css', '.file--mime-text-plain'); $this->assertNotEmpty($uploaded_file); $last_fid = $this->getLastFileId(); $this->assertGreaterThan($last_fid_prior, $last_fid, 'New file got uploaded.'); - if ($multiple && $themename === 'seven') { - $files_wrapper = $this->assertSession()->elementExists('css', '.form-managed-file-items'); - $this->assertSession()->buttonExists('Remove selected', $files_wrapper); - $this->assertSession()->elementExists('css', '.form-type-checkbox'); + if ($multiple && $theme_name === 'seven') { + $files_wrapper = $assert_session->elementExists('css', '.form-managed-file-items'); + $assert_session->buttonExists('Remove selected', $files_wrapper); + $assert_session->elementExists('css', '.form-type-checkbox'); } $this->drupalPostForm(NULL, [], t('Save')); @@ -89,33 +88,27 @@ public function testManagedFile() { $this->drupalGet($path . '/' . $last_fid); if ($multiple) { $selected_checkbox = ($tree ? 'nested[file]' : 'file') . '[file_' . $last_fid . '][selected]'; - $this->getSession()->getPage()->checkField($selected_checkbox); + $page->checkField($selected_checkbox); } - $this->getSession()->getPage()->pressButton($remove_button_title); - $this->assertSession()->assertWaitOnAjaxRequest(); + $page->pressButton($remove_button_title); + $assert_session->assertWaitOnAjaxRequest(); $this->drupalPostForm(NULL, [], t('Save')); - $this->assertSession() - ->responseContains(t('The file ids are %fids.', ['%fids' => ''])); + $assert_session->responseContains(t('The file ids are %fids.', ['%fids' => ''])); // Upload, then Remove, then Submit. $this->drupalGet($path); - $this->getSession() - ->getPage() - ->attachFileToField($file_field_name, $this->container->get('file_system') - ->realpath($filename)); - $uploaded_file = $this->assertSession() - ->waitForElement('css', '.file--mime-text-plain'); + $page->attachFileToField($file_field_name, $file_path); + $uploaded_file = $assert_session->waitForElement('css', '.file--mime-text-plain'); $this->assertNotEmpty($uploaded_file); if ($multiple) { $selected_checkbox = ($tree ? 'nested[file]' : 'file') . '[file_' . $this->getLastFileId() . '][selected]'; - $this->getSession()->getPage()->checkField($selected_checkbox); + $page->checkField($selected_checkbox); } - $this->getSession()->getPage()->pressButton($remove_button_title); - $this->assertSession()->assertWaitOnAjaxRequest(); + $page->pressButton($remove_button_title); + $assert_session->assertWaitOnAjaxRequest(); $this->drupalPostForm(NULL, [], t('Save')); - $this->assertSession() - ->responseContains(t('The file ids are %fids.', ['%fids' => ''])); + $assert_session->responseContains(t('The file ids are %fids.', ['%fids' => ''])); } } }