FileFieldTestCase::uploadNodeFile

7 file.test FileFieldTestCase::uploadNodeFile($file, $field_name, $nid_or_type, $new_revision = TRUE, $extras = array())
8 file.test FileFieldTestCase::uploadNodeFile($file, $field_name, $nid_or_type, $new_revision = TRUE, $extras = array())

Uploads a file to a node.

File

modules/file/tests/file.test, line 124
Tests for file.module.

Code

function uploadNodeFile($file, $field_name, $nid_or_type, $new_revision = TRUE, $extras = array()) {
  $langcode = LANGUAGE_NONE;
  $edit = array(
    "title" => $this->randomName(), 
    'revision' => (string) (int) $new_revision,
  );

  if (is_numeric($nid_or_type)) {
    $nid = $nid_or_type;
  }
  else {
    // Add a new node.
    $extras['type'] = $nid_or_type;
    $node = $this->drupalCreateNode($extras);
    $nid = $node->nid;
    // Save at least one revision to better simulate a real site.
    $this->drupalCreateNode(get_object_vars($node));
    $node = node_load($nid, NULL, TRUE);
    $this->assertNotEqual($nid, $node->vid, t('Node revision exists.'));
  }

  // Attach a file to the node.
  $edit['files[' . $field_name . '_' . $langcode . '_0]'] = drupal_realpath($file->uri);
  $this->drupalPost("node/$nid/edit", $edit, t('Save'));

  return $nid;
}
Login or register to post comments