2012-06-25 14:09:08 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
2012-08-29 08:07:10 +00:00
|
|
|
* Tests for MediaWiki api.php?action=edit.
|
|
|
|
|
*
|
|
|
|
|
* @author Daniel Kinzler
|
|
|
|
|
*
|
2012-06-25 14:09:08 +00:00
|
|
|
* @group API
|
|
|
|
|
* @group Database
|
|
|
|
|
*/
|
|
|
|
|
class ApiEditPageTest extends ApiTestCase {
|
|
|
|
|
|
|
|
|
|
function setUp() {
|
|
|
|
|
parent::setUp();
|
|
|
|
|
$this->doLogin();
|
|
|
|
|
}
|
|
|
|
|
|
2012-08-29 08:07:10 +00:00
|
|
|
function testEdit( ) {
|
2012-06-25 14:09:08 +00:00
|
|
|
$name = 'ApiEditPageTest_testEdit';
|
|
|
|
|
|
2012-08-29 08:07:10 +00:00
|
|
|
// -- test new page --------------------------------------------
|
|
|
|
|
$apiResult = $this->doApiRequestWithToken( array(
|
2012-06-25 14:09:08 +00:00
|
|
|
'action' => 'edit',
|
|
|
|
|
'title' => $name,
|
2012-08-29 08:07:10 +00:00
|
|
|
'text' => 'some text', ) );
|
|
|
|
|
$apiResult = $apiResult[0];
|
2012-08-29 08:07:10 +00:00
|
|
|
|
2012-08-29 08:07:10 +00:00
|
|
|
# Validate API result data
|
|
|
|
|
$this->assertArrayHasKey( 'edit', $apiResult );
|
|
|
|
|
$this->assertArrayHasKey( 'result', $apiResult['edit'] );
|
|
|
|
|
$this->assertEquals( 'Success', $apiResult['edit']['result'] );
|
|
|
|
|
|
|
|
|
|
$this->assertArrayHasKey( 'new', $apiResult['edit'] );
|
|
|
|
|
$this->assertArrayNotHasKey( 'nochange', $apiResult['edit'] );
|
2012-06-25 14:09:08 +00:00
|
|
|
|
2012-08-29 08:07:10 +00:00
|
|
|
$this->assertArrayHasKey( 'pageid', $apiResult['edit'] );
|
2012-06-25 14:09:08 +00:00
|
|
|
|
2012-08-29 08:07:10 +00:00
|
|
|
// -- test existing page, no change ----------------------------
|
|
|
|
|
$data = $this->doApiRequestWithToken( array(
|
2012-06-25 14:09:08 +00:00
|
|
|
'action' => 'edit',
|
|
|
|
|
'title' => $name,
|
2012-08-29 08:07:10 +00:00
|
|
|
'text' => 'some text', ) );
|
2012-06-25 14:09:08 +00:00
|
|
|
|
|
|
|
|
$this->assertEquals( 'Success', $data[0]['edit']['result'] );
|
|
|
|
|
|
|
|
|
|
$this->assertArrayNotHasKey( 'new', $data[0]['edit'] );
|
|
|
|
|
$this->assertArrayHasKey( 'nochange', $data[0]['edit'] );
|
|
|
|
|
|
2012-08-29 08:07:10 +00:00
|
|
|
// -- test existing page, with change --------------------------
|
|
|
|
|
$data = $this->doApiRequestWithToken( array(
|
2012-06-25 14:09:08 +00:00
|
|
|
'action' => 'edit',
|
|
|
|
|
'title' => $name,
|
2012-08-29 08:07:10 +00:00
|
|
|
'text' => 'different text' ) );
|
2012-06-25 14:09:08 +00:00
|
|
|
|
|
|
|
|
$this->assertEquals( 'Success', $data[0]['edit']['result'] );
|
|
|
|
|
|
|
|
|
|
$this->assertArrayNotHasKey( 'new', $data[0]['edit'] );
|
|
|
|
|
$this->assertArrayNotHasKey( 'nochange', $data[0]['edit'] );
|
|
|
|
|
|
|
|
|
|
$this->assertArrayHasKey( 'oldrevid', $data[0]['edit'] );
|
|
|
|
|
$this->assertArrayHasKey( 'newrevid', $data[0]['edit'] );
|
2012-08-29 08:07:10 +00:00
|
|
|
$this->assertNotEquals(
|
|
|
|
|
$data[0]['edit']['newrevid'],
|
|
|
|
|
$data[0]['edit']['oldrevid'],
|
|
|
|
|
"revision id should change after edit"
|
|
|
|
|
);
|
2012-06-25 14:09:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testEditAppend() {
|
|
|
|
|
$this->markTestIncomplete( "not yet implemented" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testEditSection() {
|
|
|
|
|
$this->markTestIncomplete( "not yet implemented" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testUndo() {
|
|
|
|
|
$this->markTestIncomplete( "not yet implemented" );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testEditNonText() {
|
|
|
|
|
$this->markTestIncomplete( "not yet implemented" );
|
|
|
|
|
}
|
|
|
|
|
}
|