X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FRevisionTest.php;h=7ef11829064618c3482f80b5226c53dd71d037ca;hb=56d45558b102349f3480a46819669407aa3be2d6;hp=cf2c64af562df9207fad8d2fbfc5ced35b699cef;hpb=9c185ca85c3c58f96e866c9347c2b7f031ddb289;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/RevisionTest.php b/tests/phpunit/includes/RevisionTest.php index cf2c64af56..7ef1182906 100644 --- a/tests/phpunit/includes/RevisionTest.php +++ b/tests/phpunit/includes/RevisionTest.php @@ -443,6 +443,31 @@ class RevisionTest extends MediaWikiTestCase { $this->testGetRevisionText( $expected, $rowData ); } + public function provideGetRevisionTextWithZlibExtension_badData() { + yield 'Generic gzip test' => [ + 'This is a small goat of revision text.', + [ + 'old_flags' => 'gzip', + 'old_text' => 'DEAD BEEF', + ], + ]; + } + + /** + * @covers Revision::getRevisionText + * @dataProvider provideGetRevisionTextWithZlibExtension_badData + */ + public function testGetRevisionWithZlibExtension_badData( $expected, $rowData ) { + $this->checkPHPExtension( 'zlib' ); + Wikimedia\suppressWarnings(); + $this->assertFalse( + Revision::getRevisionText( + (object)$rowData + ) + ); + Wikimedia\suppressWarnings( true ); + } + private function getWANObjectCache() { return new WANObjectCache( [ 'cache' => new HashBagOStuff() ] ); } @@ -809,6 +834,7 @@ class RevisionTest extends MediaWikiTestCase { public function testGetRevisionText_external_returnsFalseWhenNotEnoughUrlParts( $text ) { + Wikimedia\suppressWarnings(); $this->assertFalse( Revision::getRevisionText( (object)[ @@ -817,6 +843,7 @@ class RevisionTest extends MediaWikiTestCase { ] ) ); + Wikimedia\suppressWarnings( true ); } /** @@ -868,7 +895,12 @@ class RevisionTest extends MediaWikiTestCase { ) ); - $cacheKey = $cache->makeKey( 'revisiontext', 'textid', 'tt:7777' ); + $cacheKey = $cache->makeGlobalKey( + 'BlobStore', + 'address', + $lb->getLocalDomainID(), + 'tt:7777' + ); $this->assertSame( 'AAAABBAAA', $cache->get( $cacheKey ) ); }