function FileFieldTestCase::uploadNodeFile

Uploads a file to a node.

12 calls to FileFieldTestCase::uploadNodeFile()
FileFieldDisplayTestCase::testDefaultFileFieldDisplay in modules/file/tests/file.test
Tests default display of File Field.
FileFieldDisplayTestCase::testNodeDisplay in modules/file/tests/file.test
Tests normal formatter display on node display.
FileFieldPathTestCase::testUploadPath in modules/file/tests/file.test
Tests the normal formatter display on node display.
FileFieldRevisionTestCase::testRevisions in modules/file/tests/file.test
Tests creating multiple revisions of a node and managing attached files.
FileFieldValidateTestCase::testFileExtension in modules/file/tests/file.test
Tests file extension checking.

... See full list

File

modules/file/tests/file.test, line 124

Class

FileFieldTestCase
Provides methods specifically for testing File module's field handling.

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, '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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.