Skip to content
Snippets Groups Projects
Commit 48d52ff3 authored by catch's avatar catch
Browse files

Issue #3451701 by dww, Mingsong, MegaphoneJon: The update module should not...

Issue #3451701 by dww, Mingsong, MegaphoneJon: The update module should not crash with releases that contain invalid values for core_version_requirement

(cherry picked from commit d3b2a6a5)
parent 96cf406d
Branches
Tags
16 merge requests!12212Issue #3445525 by alexpott, japerry, catch, mglaman, longwave: Add BC layer...,!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,!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,...,!8949Backport .gitlabci.yml changes.,!8738Issue #3424162 by camilledavis, dineshkumarbollu, smustgrave: Claro...,!8704Make greek characters available in ckeditor5,!8533Issue #3446962 by kim.pepper: Remove incorrectly added...,!8517Issue #3443748 by NexusNovaz, smustgrave: Testcase creates false positive,!6502Draft: Resolve #2938524 "Plach testing issue",!38582585169-10.1.x,!3226Issue #2987537: Custom menu link entity type should not declare "bundle" entity key
Pipeline #189898 passed
Pipeline: drupal

#189935

    Pipeline: drupal

    #189928

      Pipeline: drupal

      #189915

        +1
        ......@@ -169,7 +169,12 @@ public function setReleaseMessage(array &$project_data) {
        * version of Drupal core, otherwise FALSE.
        */
        protected function isCoreCompatible($core_compatibility_constraint) {
        return Semver::satisfies($this->existingCoreVersion, $core_compatibility_constraint);
        try {
        return Semver::satisfies($this->existingCoreVersion, $core_compatibility_constraint);
        }
        catch (\Exception $e) {
        return FALSE;
        }
        }
        /**
        ......
        ......@@ -156,4 +156,51 @@ public static function providerSetProjectCoreCompatibilityRanges() {
        return $test_cases;
        }
        /**
        * @covers ::isCoreCompatible
        * @dataProvider providerIsCoreCompatible
        *
        * @param string $constraint
        * The core_version_constraint to test.
        * @param string $installed_core
        * The installed version of core to compare against.
        * @param bool $expected
        * The expected result.
        */
        public function testIsCoreCompatible(string $constraint, string $installed_core, bool $expected): void {
        $core_data['existing_version'] = $installed_core;
        $project_compatibility = new ProjectCoreCompatibility($core_data, [], []);
        $reflection = new \ReflectionClass(ProjectCoreCompatibility::class);
        $reflection_method = $reflection->getMethod('isCoreCompatible');
        $result = $reflection_method->invokeArgs($project_compatibility, [$constraint]);
        $this->assertSame($expected, $result);
        }
        /**
        * Data provider for testIsCoreCompatible().
        */
        public static function providerIsCoreCompatible(): array {
        $test_cases['compatible exact'] = [
        '10.3.0',
        '10.3.0',
        TRUE,
        ];
        $test_cases['compatible with OR'] = [
        '^9 || ^10',
        '10.3.0',
        TRUE,
        ];
        $test_cases['incompatible'] = [
        '^10',
        '11.0.0',
        FALSE,
        ];
        $test_cases['broken'] = [
        '^^11',
        '11.0.0',
        FALSE,
        ];
        return $test_cases;
        }
        }
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment