Skip to content
Snippets Groups Projects
Verified Commit ffd6065a authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3425870 by phenaproxima, alexpott, Wim Leers: Add validation constraints to image.settings

(cherry picked from commit ad80289e)
parent 1d03e28a
No related branches found
No related tags found
29 merge requests!12537Add ViewsConfigUpdater deprecation support for default_argument_skip_url,!12523Issue #3493858 by vidorado, xavier.masson, smustgrave: Extend ViewsBlockBase...,!122353526426-warning-for-missing,!12212Issue #3445525 by alexpott, japerry, catch, mglaman, longwave: Add BC layer...,!11958Issue #3490507 by alexpott, smustgrave: Fix bogus mocking in...,!11769Issue #3517987: Add option to contextual filters to encode slashes in query parameter.,!11185Issue #3477324 by andypost, alexpott: Fix usage of str_getcsv() and fgetcsv() for PHP 8.4,!10602Issue #3438769 by vinmayiswamy, antonnavi, michelle, amateescu: Sub workspace does not clear,!10301Issue #3469309 by mstrelan, smustgrave, moshe weitzman: Use one-time login...,!10187Issue #3487488 by dakwamine: ExtensionMimeTypeGuesser::guessMimeType must support file names with "0" (zero) like foo.0.zip,!9944Issue #3483353: Consider making the createCopy config action optionally fail...,!9929Issue #3445469 by pooja_sharma, smustgrave: Add additional test coverage for...,!9787Resolve issue 3479427 - bootstrap barrio issue under Windows,!9742Issue #3463908 by catch, quietone: Split OptionsFieldUiTest into two,!9526Issue #3458177 by mondrake, catch, quietone, godotislate, longwave, larowlan,...,!8738Issue #3424162 by camilledavis, dineshkumarbollu, smustgrave: Claro...,!8704Make greek characters available in ckeditor5,!8597Draft: Issue #3442259 by catch, quietone, dww: Reduce time of Migrate Upgrade tests...,!8533Issue #3446962 by kim.pepper: Remove incorrectly added...,!8517Issue #3443748 by NexusNovaz, smustgrave: Testcase creates false positive,!8325Update file Sort.php,!8095Expose document root on install,!7930Resolve #3427374 "Taxonomytid viewsargumentdefault plugin",!7627Issue #3439440 by nicxvan, Binoli Lalani, longwave: Remove country support from DateFormatter,!7445Issue #3440169: When using drupalGet(), provide an associative array for $headers,!7384Add constraints to system.advisories,!6502Draft: Resolve #2938524 "Plach testing issue",!38582585169-10.1.x,!3226Issue #2987537: Custom menu link entity type should not declare "bundle" entity key
Pipeline #136501 passed
Pipeline: drupal

#136523

    Pipeline: drupal

    #136513

      Pipeline: drupal

      #136508

        +1
        ......@@ -12,6 +12,7 @@
        use Symfony\Component\Validator\Constraints\Blank;
        use Symfony\Component\Validator\Constraints\Callback;
        use Symfony\Component\Validator\Constraints\Choice;
        use Symfony\Component\Validator\Constraints\Image;
        use Symfony\Component\Validator\Constraints\NotBlank;
        /**
        ......@@ -116,6 +117,11 @@ public function registerDefinitions() {
        'class' => Choice::class,
        'type' => FALSE,
        ]);
        $this->getDiscovery()->setDefinition('Image', [
        'label' => new TranslatableMarkup('Image'),
        'class' => Image::class,
        'type' => ['string'],
        ]);
        }
        /**
        ......
        ......@@ -30040,7 +30040,7 @@
        ))
        ->values(array(
        'name' => 'image_style_preview_image',
        'value' => 's:33:"core/modules/image/testsample.png";',
        'value' => 's:23:"core/misc/druplicon.png";',
        ))
        ->values(array(
        'name' => 'image_toolkit',
        ......
        ......@@ -87,10 +87,18 @@ image.effect.image_scale_and_crop:
        image.settings:
        type: config_object
        constraints:
        FullyValidatable: ~
        mapping:
        preview_image:
        type: string
        label: 'Preview image'
        constraints:
        NotBlank: []
        # We need to use Symfony's Image constraint because it will accept a file
        # path as a string, whereas the File module's FileIsImage constraint expects
        # a full file entity.
        Image: []
        allow_insecure_derivatives:
        type: boolean
        label: 'Allow insecure image derivatives'
        ......
        ......@@ -29,7 +29,7 @@ public function testMigration() {
        // These settings are not recommended...
        $this->assertTrue($config->get('allow_insecure_derivatives'));
        $this->assertTrue($config->get('suppress_itok_output'));
        $this->assertSame("core/modules/image/testsample.png", $config->get('preview_image'));
        $this->assertSame("core/misc/druplicon.png", $config->get('preview_image'));
        }
        }
        <?php
        namespace Drupal\Tests\image\Kernel;
        use Drupal\Core\Config\Schema\SchemaIncompleteException;
        use Drupal\KernelTests\KernelTestBase;
        /**
        * @group image
        */
        class SettingsConfigValidationTest extends KernelTestBase {
        /**
        * {@inheritdoc}
        */
        protected static $modules = ['image'];
        /**
        * Tests that the preview_image setting must be an existing image file.
        */
        public function testPreviewImagePathIsValidated(): void {
        $this->installConfig('image');
        $file = sys_get_temp_dir() . '/fake_image.png';
        file_put_contents($file, 'Not an image!');
        $this->expectException(SchemaIncompleteException::class);
        $this->expectExceptionMessage('[preview_image] This file is not a valid image.');
        $this->config('image.settings')
        ->set('preview_image', $file)
        ->save();
        }
        }
        ......@@ -65678,7 +65678,7 @@
        ))
        ->values(array(
        'name' => 'image_style_preview_image',
        'value' => 's:33:"core/modules/image/testsample.png";',
        'value' => 's:23:"core/misc/druplicon.png";',
        ))
        ->values(array(
        'name' => 'image_toolkit',
        ......@@ -32755,7 +32755,7 @@
        ))
        ->values(array(
        'name' => 'image_style_preview_image',
        'value' => 's:33:"core/modules/image/testsample.png";',
        'value' => 's:23:"core/misc/druplicon.png";',
        ))
        ->values(array(
        'name' => 'image_toolkit',
        ......
        ......@@ -28210,7 +28210,7 @@
        ))
        ->values(array(
        'name' => 'image_style_preview_image',
        'value' => 's:33:"core/modules/image/testsample.png";',
        'value' => 's:23:"core/misc/druplicon.png";',
        ))
        ->values(array(
        'name' => 'image_toolkit',
        ......
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment