function ImageFieldTestBase::uploadNodeImage
Same name and namespace in other branches
- 11.x 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.
4 calls to ImageFieldTestBase::uploadNodeImage()
- ResponsiveImageFieldDisplayTest::assertResponsiveImageFieldFormattersLink in core/
modules/ responsive_image/ tests/ src/ Functional/ ResponsiveImageFieldDisplayTest.php - Tests responsive image formatters linked to the file or node.
- ResponsiveImageFieldDisplayTest::doTestResponsiveImageFieldFormatters in core/
modules/ responsive_image/ tests/ src/ Functional/ ResponsiveImageFieldDisplayTest.php - Tests responsive image formatters on node display.
- ResponsiveImageFieldDisplayTest::testResponsiveImageFieldFormattersEmptyMediaQuery in core/
modules/ responsive_image/ tests/ src/ Functional/ ResponsiveImageFieldDisplayTest.php - Tests responsive image formatter on node display with an empty media query.
- ResponsiveImageFieldDisplayTest::testResponsiveImageFieldFormattersOneSource in core/
modules/ responsive_image/ tests/ src/ Functional/ ResponsiveImageFieldDisplayTest.php - Tests responsive image formatter on node display with one source.
File
-
core/
modules/ image/ tests/ src/ Functional/ ImageFieldTestBase.php, line 107
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 $matches[1] ?? FALSE;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.