public function ImageFieldTestBase::uploadNodeImage in Drupal 9
Same name and namespace in other branches
- 8 core/modules/image/tests/src/Functional/ImageFieldTestBase.php \Drupal\Tests\image\Functional\ImageFieldTestBase::uploadNodeImage()
Upload an image to a node.
Parameters
$image: A file object representing the image to upload.
$field_name: Name of the image field the image should be attached to.
$type: The type of node to create.
$alt: The alt text for the image. Use if the field settings require alt text.
13 calls to ImageFieldTestBase::uploadNodeImage()
- ImageAdminStylesTest::testConfigImport in core/
modules/ image/ tests/ src/ Functional/ ImageAdminStylesTest.php - Tests image style configuration import that does a delete.
- ImageAdminStylesTest::testStyleReplacement in core/
modules/ image/ tests/ src/ Functional/ ImageAdminStylesTest.php - Tests deleting a style and choosing a replacement style.
- ImageFieldAttributesTest::setUp in core/
modules/ rdf/ tests/ src/ Functional/ ImageFieldAttributesTest.php - ImageFieldDisplayTest::testImageFieldDefaultImage in core/
modules/ image/ tests/ src/ Functional/ ImageFieldDisplayTest.php - Tests use of a default image with an image field.
- ImageFieldDisplayTest::testImageFieldSettings in core/
modules/ image/ tests/ src/ Functional/ ImageFieldDisplayTest.php - Tests for image field settings.
File
- core/
modules/ image/ tests/ src/ Functional/ ImageFieldTestBase.php, line 104
Class
- ImageFieldTestBase
- This class provides methods specifically for testing Image's field handling.
Namespace
Drupal\Tests\image\FunctionalCode
public function uploadNodeImage($image, $field_name, $type, $alt = '') {
$edit = [
'title[0][value]' => $this
->randomMachineName(),
];
$edit['files[' . $field_name . '_0]'] = \Drupal::service('file_system')
->realpath($image->uri);
$this
->drupalGet('node/add/' . $type);
$this
->submitForm($edit, 'Save');
if ($alt) {
// Add alt text.
$this
->submitForm([
$field_name . '[0][alt]' => $alt,
], 'Save');
}
// Retrieve ID of the newly created node from the current URL.
$matches = [];
preg_match('/node\\/([0-9]+)/', $this
->getUrl(), $matches);
return isset($matches[1]) ? $matches[1] : FALSE;
}