function MaximumFileSizeExceededUploadTest::testUploadFileExceedingMaximumFileSize
Tests that uploading files exceeding maximum size are handled correctly.
File
- 
              core/modules/ file/ tests/ src/ FunctionalJavascript/ MaximumFileSizeExceededUploadTest.php, line 98 
Class
- MaximumFileSizeExceededUploadTest
- Tests uploading a file that exceeds the maximum file size.
Namespace
Drupal\Tests\file\FunctionalJavascriptCode
public function testUploadFileExceedingMaximumFileSize() {
  $session = $this->getSession();
  // Create a test file that exceeds the maximum POST size with 1 kilobyte.
  $post_max_size = Bytes::toNumber(ini_get('post_max_size'));
  $invalid_file = $this->generateFile('exceeding_post_max_size', ceil(($post_max_size + 1024) / 1024), 1024);
  // Go to the node creation form and try to upload the test file.
  $this->drupalGet('node/add/article');
  $page = $session->getPage();
  $page->attachFileToField("files[field_file_0]", $this->fileSystem
    ->realpath($invalid_file));
  // An error message should appear informing the user that the file exceeded
  // the maximum file size. The error message includes the actual file size
  // limit which depends on the current environment, so we check for a part
  // of the message.
  $this->assertSession()
    ->statusMessageContainsAfterWait('An unrecoverable error occurred. The uploaded file likely exceeded the maximum file size', 'error');
  // Now upload a valid file and check that the error message disappears.
  $valid_file = $this->generateFile('not_exceeding_post_max_size', 8, 8);
  $page->attachFileToField("files[field_file_0]", $this->fileSystem
    ->realpath($valid_file));
  $this->assertSession()
    ->waitForElement('named', [
    'id_or_name',
    'field_file_0_remove_button',
  ]);
  $this->assertSession()
    ->statusMessageNotExistsAfterWait('error');
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
