1.20.x file.test FileLoadTest::testMultiple()

This will test loading file data from the database.

File

modules/simpletest/tests/file.test, line 2123
This provides SimpleTests for the core file handling functionality. These include FileValidateTest and FileSaveTest.

Class

FileLoadTest
Tests the file_load() function.

Code

function testMultiple() {
  // Create a new file entity.
  $file = $this->createFile('backdrop.txt', NULL, 'public');

  // Load by path.
  file_test_reset();
  $by_path_files = file_load_multiple(array(), array('uri' => $file->uri));
  $this->assertFileHookCalled('load');
  $this->assertEqual(1, count($by_path_files), 'file_load_multiple() returned an array of the correct size.');
  $by_path_file = reset($by_path_files);
  $this->assertTrue($by_path_file->file_test['loaded'], 'file_test_file_load() was able to modify the file during load.');
  $this->assertEqual($by_path_file->fid, $file->fid, "Loading by filepath got the correct fid.", 'File');

  // Remove the entity cache entry for this file so that hook_file_load will
  // be called again.
  cache('entity_file')->delete($file->fid);

  // Load by fid.
  file_test_reset();
  $by_fid_files = file_load_multiple(array($file->fid), array());
  $this->assertFileHookCalled('load');
  $this->assertEqual(1, count($by_fid_files), 'file_load_multiple() returned an array of the correct size.');
  $by_fid_file = reset($by_fid_files);
  $this->assertTrue($by_fid_file->file_test['loaded'], 'file_test_file_load() was able to modify the file during load.');
  $this->assertEqual($by_fid_file->uri, $file->uri, "Loading by fid got the correct filepath.", 'File');
}