Legoktm has uploaded a new change for review.
https://gerrit.wikimedia.org/r/92168
Change subject: Tests for API action=revisiondelete
......................................................................
Tests for API action=revisiondelete
Change-Id: Ida8acb8a58fe3e871ac30727d90e22fff04f488d
---
A tests/phpunit/includes/api/ApiRevisionDeleteTest.php
1 file changed, 82 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/68/92168/1
diff --git a/tests/phpunit/includes/api/ApiRevisionDeleteTest.php
b/tests/phpunit/includes/api/ApiRevisionDeleteTest.php
new file mode 100644
index 0000000..2f9122b
--- /dev/null
+++ b/tests/phpunit/includes/api/ApiRevisionDeleteTest.php
@@ -0,0 +1,82 @@
+<?php
+
+/**
+ * Tests for action=revisiondelete
+ *
+ * @group API
+ * @group medium
+ */
+class ApiRevisionDeleteTest extends ApiTestCase {
+
+ static $page = 'Help:ApiRevDel_test';
+ var $revs = array();
+
+ function setUp() {
+ parent::setUp();
+ // Make a few edits for us to play with
+ for ( $i = 1; $i <= 5; $i++ ) {
+ self::editPage( self::$page, MWCryptRand::generateHex(
10 ), 'summary' );
+ $this->revs[] = Title::newFromText( self::$page
)->getLatestRevID( Title::GAID_FOR_UPDATE );
+ }
+
+ // Make sure we have the right permissions
+ $wgGroupPermissions['sysop']['deleterevision'] = true;
+ }
+
+ function testHidingRevisions() {
+ $user = self::$users['sysop'];
+ $revid = array_shift( $this->revs );
+ $out = $this->doApiRequest( array(
+ 'action' => 'revisiondelete',
+ 'type' => 'revision',
+ 'target' => self::$page,
+ 'ids' => $revid,
+ 'hide' => 'content|user|comment',
+ 'token' => $user->user->getEditToken(),
+ ) );
+ // Check the output
+ $out = $out[0]['revisiondelete'];
+ $this->assertEquals( $out['status'], 'Success' );
+ $this->assertArrayHasKey( 'items', $out );
+ $item = $out['items'][0];
+ $this->assertArrayHasKey( 'userhidden', $item );
+ $this->assertArrayHasKey( 'commenthidden', $item );
+ $this->assertArrayHasKey( 'texthidden', $item );
+ $this->assertEquals( $item['id'], $revid );
+
+ // Now check that that revision was actually hidden
+ $rev = Revision::newFromId( $revid );
+ $this->assertEquals( $rev->getContent( Revision::FOR_PUBLIC ),
null );
+ $this->assertEquals( $rev->getComment( Revision::FOR_PUBLIC ),
'' );
+ $this->assertEquals( $rev->getUser( Revision::FOR_PUBLIC ), 0 );
+
+ // Now test unhiding!
+ $out2 = $this->doApiRequest( array(
+ 'action' => 'revisiondelete',
+ 'type' => 'revision',
+ 'target' => self::$page,
+ 'ids' => $revid,
+ 'show' => 'content|user|comment',
+ 'token' => $user->user->getEditToken(),
+ ) );
+
+ // Check the output
+ $out2 = $out2[0]['revisiondelete'];
+ $this->assertEquals( $out2['status'], 'Success' );
+ $this->assertArrayHasKey( 'items', $out2 );
+ $item = $out2['items'][0];
+ /*
+ $this->assertArrayHasKey( 'userunhidden', $item );
+ $this->assertArrayHasKey( 'commentunhidden', $item );
+ $this->assertArrayHasKey( 'textunhidden', $item );
+ */
+ $this->assertEquals( $item['id'], $revid );
+
+ $rev = Revision::newFromId( $revid );
+ $this->assertNotEquals( $rev->getContent( Revision::FOR_PUBLIC
), null );
+ $this->assertNotEquals( $rev->getComment( Revision::FOR_PUBLIC
), '' );
+ $this->assertNotEquals( $rev->getUser( Revision::FOR_PUBLIC ),
0 );
+ }
+
+
+}
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/92168
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ida8acb8a58fe3e871ac30727d90e22fff04f488d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits