MediaWiki REL1_30
CategoryMembershipChangeJobTest.php
Go to the documentation of this file.
1<?php
2
13
14 const TITLE_STRING = 'UTCatChangeJobPage';
15
19 private $title;
20
21 public function setUp() {
22 parent::setUp();
23 $this->setMwGlobals( 'wgRCWatchCategoryMembership', true );
24 $this->setContentLang( 'qqx' );
25 }
26
27 public function addDBDataOnce() {
28 parent::addDBDataOnce();
29 $insertResult = $this->insertPage( self::TITLE_STRING, 'UT Content' );
30 $this->title = $insertResult['title'];
31 }
32
33 private function runJobs() {
35 $jobs = new RunJobs;
36 $jobs->loadParamsAndArgs( null, [ 'quiet' => true ], null );
37 $jobs->execute();
38 }
39
45 private function editPageText( $text ) {
46 $page = WikiPage::factory( $this->title );
47 $editResult = $page->doEditContent(
48 ContentHandler::makeContent( $text, $this->title ),
49 __METHOD__
50 );
52 $revision = $editResult->value['revision'];
53 $this->runJobs();
54
55 return $revision->getId();
56 }
57
63 private function getCategorizeRecentChangeForRevId( $revId ) {
65 [
66 'rc_type' => RC_CATEGORIZE,
67 'rc_this_oldid' => $revId,
68 ],
69 __METHOD__
70 );
71 }
72
74 $addedRevId = $this->editPageText( '[[Category:Normal]]' );
75 $removedRevId = $this->editPageText( 'Blank' );
76
77 $this->assertEquals(
78 '(recentchanges-page-added-to-category: ' . self::TITLE_STRING . ')',
79 $this->getCategorizeRecentChangeForRevId( $addedRevId )->getAttribute( 'rc_comment' )
80 );
81 $this->assertEquals(
82 '(recentchanges-page-removed-from-category: ' . self::TITLE_STRING . ')',
83 $this->getCategorizeRecentChangeForRevId( $removedRevId )->getAttribute( 'rc_comment' )
84 );
85 }
86
87}
static makeContent( $text, Title $title=null, $modelId=null, $format=null)
Convenience function for creating a Content object from a given textual representation.
static destroySingletons()
Destroy the singleton instances.
loadParamsAndArgs( $self=null, $opts=null, $args=null)
Process command line arguments $mOptions becomes an array with keys set to the option names $mArgs be...
insertPage( $pageName, $text='Sample page for unit test.', $namespace=null)
Insert a new page.
setMwGlobals( $pairs, $value=null)
Sets a global, maintaining a stashed version of the previous global to be restored in tearDown.
static newFromConds( $conds, $fname=__METHOD__, $dbType=DB_REPLICA)
Find the first recent change matching some specific conditions.
Maintenance script that runs pending jobs.
Definition runJobs.php:33
Represents a title within MediaWiki.
Definition Title.php:39
static factory(Title $title)
Create a WikiPage object of the appropriate class for the given title.
Definition WikiPage.php:121
const RC_CATEGORIZE
Definition Defines.php:147