Merge "Added release notes for 'ContentHandler::runLegacyHooks' removal"
[mediawiki.git] / tests / phpunit / includes / logging / ImportLogFormatterTest.php
blobec12078064db57336f5fd6547b266746041061ad
1 <?php
3 class ImportLogFormatterTest extends LogFormatterTestCase {
5 /**
6 * Provide different rows from the logging table to test
7 * for backward compatibility.
8 * Do not change the existing data, just add a new database row
9 */
10 public static function provideUploadLogDatabaseRows() {
11 return [
12 // Current format
15 'type' => 'import',
16 'action' => 'upload',
17 'comment' => 'upload comment',
18 'namespace' => NS_MAIN,
19 'title' => 'ImportPage',
20 'params' => [
21 '4:number:count' => '1',
25 'text' => 'User imported ImportPage by file upload (1 revision)',
26 'api' => [
27 'count' => 1,
32 // old format - without details
35 'type' => 'import',
36 'action' => 'upload',
37 'comment' => '1 revision: import comment',
38 'namespace' => NS_MAIN,
39 'title' => 'ImportPage',
40 'params' => [],
43 'text' => 'User imported ImportPage by file upload',
44 'api' => [],
50 /**
51 * @dataProvider provideUploadLogDatabaseRows
53 public function testUploadLogDatabaseRows( $row, $extra ) {
54 $this->doTestLogFormatter( $row, $extra );
57 /**
58 * Provide different rows from the logging table to test
59 * for backward compatibility.
60 * Do not change the existing data, just add a new database row
62 public static function provideInterwikiLogDatabaseRows() {
63 return [
64 // Current format
67 'type' => 'import',
68 'action' => 'interwiki',
69 'comment' => 'interwiki comment',
70 'namespace' => NS_MAIN,
71 'title' => 'ImportPage',
72 'params' => [
73 '4:number:count' => '1',
74 '5:title-link:interwiki' => 'importiw:PageImport',
78 'text' => 'User imported ImportPage from importiw:PageImport (1 revision)',
79 'api' => [
80 'count' => 1,
81 'interwiki_ns' => 0,
82 'interwiki_title' => 'importiw:PageImport',
87 // old format - without details
90 'type' => 'import',
91 'action' => 'interwiki',
92 'comment' => '1 revision from importiw:PageImport: interwiki comment',
93 'namespace' => NS_MAIN,
94 'title' => 'ImportPage',
95 'params' => [],
98 'text' => 'User imported ImportPage from another wiki',
99 'api' => [],
106 * @dataProvider provideInterwikiLogDatabaseRows
108 public function testInterwikiLogDatabaseRows( $row, $extra ) {
109 // Setup importiw: as interwiki prefix
110 $this->setMwGlobals( 'wgHooks', [
111 'InterwikiLoadPrefix' => [
112 function ( $prefix, &$data ) {
113 if ( $prefix == 'importiw' ) {
114 $data = [ 'iw_url' => 'wikipedia' ];
116 return false;
119 ] );
121 $this->doTestLogFormatter( $row, $extra );