query=revisions can be used with rvprop=content to retrieve the content of revisions. The contentmodel should always be included with the content (just like the contenformat is), so the client is able to interpret the structure contained in the content blob. Change-Id: I67cf48f905ff83a86992e1a54f7ad0feaf2b2c94
41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @group API
|
|
* @group Database
|
|
*/
|
|
class ApiQueryRevisionsTest extends ApiTestCase {
|
|
|
|
/**
|
|
* @group medium
|
|
*/
|
|
function testContentComesWithContentModelAndFormat() {
|
|
|
|
$pageName = 'Help:' . __METHOD__ ;
|
|
$title = Title::newFromText( $pageName );
|
|
$page = WikiPage::factory( $title );
|
|
$page->doEdit( 'Some text', 'inserting content' );
|
|
|
|
$apiResult = $this->doApiRequest( array(
|
|
'action' => 'query',
|
|
'prop' => 'revisions',
|
|
'titles' => $pageName,
|
|
'rvprop' => 'content',
|
|
) );
|
|
$this->assertArrayHasKey( 'query', $apiResult[0] );
|
|
$this->assertArrayHasKey( 'pages', $apiResult[0]['query'] );
|
|
foreach( $apiResult[0]['query']['pages'] as $page ) {
|
|
$this->assertArrayHasKey( 'revisions', $page );
|
|
foreach( $page['revisions'] as $revision ) {
|
|
$this->assertArrayHasKey( 'contentformat', $revision,
|
|
'contentformat should be included when asking content so'
|
|
. ' client knows how to interpretate it'
|
|
);
|
|
$this->assertArrayHasKey( 'contentmodel', $revision,
|
|
'contentmodel should be included when asking content so'
|
|
. ' client knows how to interpretate it'
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|