summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/api/ApiPurgeTest.php
blob: db1563e9a919496f213b2407740e05c3c99ff980 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

/**
 * @group Database
 */
class ApiPurgeTest extends ApiTestCase {

	function setUp() {
		parent::setUp();
		$this->doLogin();
	}
	
	function testPurgeMainPage() {
		
		if ( !Title::newFromText( 'UTPage' )->exists() ) {
			$this->markTestIncomplete( "The article [[UTPage]] does not exist" );
		}
		
		$somePage = mt_rand();

		$data = $this->doApiRequest( array(
			'action' => 'purge',
			'titles' => 'UTPage|' . $somePage . '|%5D' ) );
	
		$this->assertArrayHasKey( 'purge', $data[0] );
		
		$this->assertArrayHasKey( 0, $data[0]['purge'] );
		$this->assertArrayHasKey( 'purged', $data[0]['purge'][0] );
		$this->assertEquals( 'UTPage', $data[0]['purge'][0]['title'] );
		
		$this->assertArrayHasKey( 1, $data[0]['purge'] );
		$this->assertArrayHasKey( 'missing', $data[0]['purge'][1] );
		$this->assertEquals( $somePage, $data[0]['purge'][1]['title'] );
		
		$this->assertArrayHasKey( 2, $data[0]['purge'] );
		$this->assertArrayHasKey( 'invalid', $data[0]['purge'][2] );
		$this->assertEquals( '%5D', $data[0]['purge'][2]['title'] );
		
	}

}