summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/TemplateCategoriesTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/includes/TemplateCategoriesTest.php')
-rw-r--r--tests/phpunit/includes/TemplateCategoriesTest.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/phpunit/includes/TemplateCategoriesTest.php b/tests/phpunit/includes/TemplateCategoriesTest.php
new file mode 100644
index 00000000..de9d6dc6
--- /dev/null
+++ b/tests/phpunit/includes/TemplateCategoriesTest.php
@@ -0,0 +1,38 @@
+<?php
+
+/**
+ * @group Database
+ */
+require dirname( __FILE__ ) . "/../../../maintenance/runJobs.php";
+
+class TemplateCategoriesTest extends MediaWikiLangTestCase {
+
+ function testTemplateCategories() {
+ global $wgUser;
+
+ $title = Title::newFromText( "Categorized from template" );
+ $article = new Article( $title );
+ $wgUser = new User();
+ $wgUser->mRights['*'] = array( 'createpage', 'edit', 'purge' );
+
+ $status = $article->doEdit( '{{Categorising template}}', 'Create a page with a template', 0 );
+ $this->assertEquals(
+ array()
+ , $title->getParentCategories()
+ );
+
+ $template = new Article( Title::newFromText( 'Template:Categorising template' ) );
+ $status = $template->doEdit( '[[Category:Solved bugs]]', 'Add a category through a template', 0 );
+
+ // Run the job queue
+ $jobs = new RunJobs;
+ $jobs->loadParamsAndArgs( null, array( 'quiet' => true ), null );
+ $jobs->execute();
+
+ $this->assertEquals(
+ array( 'Category:Solved_bugs' => $title->getPrefixedText() )
+ , $title->getParentCategories()
+ );
+ }
+
+}