24 merge requests!8506Draft: Issue #3456536 by ibrahim tameme,!5646Issue #3350972 by nod_: [random test failure]...,!5600Issue #3350972 by nod_: [random test failure]...,!5343Issue #3305066 by quietone, Rename RedirectLeadingSlashesSubscriber,!4350Issue #3307718: Implement xxHash for non-cryptographic use-cases,!3603#ISSUE 3346218 Add a different message on edit comment,!3555Issue #2473873: Views entity operations lack cacheability support, resulting in incorrect dropbuttons,!3494Issue #3327018 by Spokje, longwave, xjm, mondrake: Update PHPStan to 1.9.3 and...,!3410Issue #3340128: UserLoginForm::submitForm has some dead code,!3389Issue #3325184 by Spokje, andypost, xjm, smustgrave: $this->configFactory is...,!3381Issue #3332363: Refactor Claro's menus-and-lists stylesheet,!3307Issue #3326193: CKEditor 5 can grow past the viewport when there is a lot of content,!3236Issue #3332419: Refactor Claro's messages stylesheet,!3231Draft: Issue #3049525 by longwave, fougere, larowlan, kim.pepper, AaronBauman, Wim...,!3212Issue #3294003: Refactor Claro's entity-meta stylesheet,!3194Issue #3330981: Fix PHPStan L1 error "Relying on entity queries to check access by default is deprecated...",!3143Issue #3313342: [PHP 8.1] Deprecated function: strpos(): Passing null to parameter #1 LayoutBuilderUiCacheContext.php on line 28,!3024Issue #3307509: Empty option for views bulk form,!2972Issue #1845004: Replace custom password hashing library with PHP 5.5 password_hash(),!2719Issue #3110137: Remove Classy from core.,!2688Issue #3261452: [PP-1] Remove tracker module from core,!2437Issue #3238257 by hooroomoo, Wim Leers: Fragment link pointing to <textarea>...,!2296Issue #3100732: Allow specifying `meta` data on JSON:API objects,!1626Issue #3256642: Make life better for database drivers that extend another database driver
$this->assertTrue($correct_dimensions_real,newFormattableMarkup('Image %file after %action action has proper dimensions.',['%file'=>$file,'%action'=>$op]));
$this->assertTrue($correct_dimensions_object,newFormattableMarkup('Image %file object after %action action is reporting the proper height and width values.',['%file'=>$file,'%action'=>$op]));
// JPEG colors will always be messed up due to compression. So we skip
// these tests if the original or the result is in jpeg format.
$this->assertEquals(50,$image->getWidth(),newFormattableMarkup('Image file %file has the correct width.',['%file'=>$file]));
$this->assertEquals(20,$image->getHeight(),newFormattableMarkup('Image file %file has the correct height.',['%file'=>$file]));
$this->assertEquals(image_type_to_mime_type($type),$image->getMimeType(),newFormattableMarkup('Image file %file has the correct MIME type.',['%file'=>$file]));
$this->assertTrue($image->save($file_path),newFormattableMarkup('Image %file created anew from a null image was saved.',['%file'=>$file]));
$this->assertEquals(50,$image_reloaded->getWidth(),newFormattableMarkup('Image file %file has the correct width.',['%file'=>$file]));
$this->assertEquals(20,$image_reloaded->getHeight(),newFormattableMarkup('Image file %file has the correct height.',['%file'=>$file]));
$this->assertEquals(image_type_to_mime_type($type),$image_reloaded->getMimeType(),newFormattableMarkup('Image file %file has the correct MIME type.',['%file'=>$file]));
$this->assertEquals('#ffff00',$image_reloaded->getToolkit()->getTransparentColor(),newFormattableMarkup('Image file %file has the correct transparent color channel set.',['%file'=>$file]));
}
else{
$this->assertNull($image_reloaded->getToolkit()->getTransparentColor(),newFormattableMarkup('Image file %file has no color channel set.',['%file'=>$file]));
}
// JPEG has small differences in color after processing.
$this->assertColorsAreEqual($expected_color,$actual_color,$tolerance,"Image '$file_name' object after '$test_case' action has the correct color placement at corner '$key'");
}
// Check that saved image reloads without raising PHP errors.
$this->assertSame('#ffff00',$image_reloaded->getToolkit()->getTransparentColor(),"Image '$file' after reload should have color channel set to #ffff00, but it has not.");
}
else{
$this->assertNull($image_reloaded->getToolkit()->getTransparentColor(),"Image '$file' after reload should have no color channel set, but it has.");
}
}
// Test failures of the 'create_new' operation.
/**
* Tests failures of the 'create_new' operation.
*/
publicfunctiontestCreateNewFailures():void{
$image=$this->imageFactory->get();
$image->createNew(-50,20);
$this->assertFalse($image->isValid(),'CreateNew with negative width fails.');
...
...
@@ -439,11 +455,7 @@ public function testManipulations() {
$this->assertEquals($this->rotateTransparent,$color,"New GIF image with no transparent color set after creation has full transparent color at corner 1.");
$this->assertEquals(static::ROTATE_TRANSPARENT,$color,"New GIF image with no transparent color set after creation has full transparent color at corner 1.");
// Save image.
$this->assertTrue($image->save($file_path),"New GIF image {$file} was saved.");
// Reload image.
...
...
@@ -489,37 +501,20 @@ public function testGifTransparentImages() {