MergeLogFormatterTest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * @covers MergeLogFormatter
  4. */
  5. class MergeLogFormatterTest extends LogFormatterTestCase {
  6. /**
  7. * Provide different rows from the logging table to test
  8. * for backward compatibility.
  9. * Do not change the existing data, just add a new database row
  10. */
  11. public static function provideMergeLogDatabaseRows() {
  12. return [
  13. // Current format
  14. [
  15. [
  16. 'type' => 'merge',
  17. 'action' => 'merge',
  18. 'comment' => 'Merge comment',
  19. 'namespace' => NS_MAIN,
  20. 'title' => 'OldPage',
  21. 'params' => [
  22. '4::dest' => 'NewPage',
  23. '5::mergepoint' => '20140804160710',
  24. ],
  25. ],
  26. [
  27. 'text' => 'User merged OldPage into NewPage (revisions up to 16:07, 4 August 2014)',
  28. 'api' => [
  29. 'dest_ns' => 0,
  30. 'dest_title' => 'NewPage',
  31. 'mergepoint' => '2014-08-04T16:07:10Z',
  32. ],
  33. ],
  34. ],
  35. // Legacy format
  36. [
  37. [
  38. 'type' => 'merge',
  39. 'action' => 'merge',
  40. 'comment' => 'merge comment',
  41. 'namespace' => NS_MAIN,
  42. 'title' => 'OldPage',
  43. 'params' => [
  44. 'NewPage',
  45. '20140804160710',
  46. ],
  47. ],
  48. [
  49. 'legacy' => true,
  50. 'text' => 'User merged OldPage into NewPage (revisions up to 16:07, 4 August 2014)',
  51. 'api' => [
  52. 'dest_ns' => 0,
  53. 'dest_title' => 'NewPage',
  54. 'mergepoint' => '2014-08-04T16:07:10Z',
  55. ],
  56. ],
  57. ],
  58. ];
  59. }
  60. /**
  61. * @dataProvider provideMergeLogDatabaseRows
  62. */
  63. public function testMergeLogDatabaseRows( $row, $extra ) {
  64. $this->doTestLogFormatter( $row, $extra );
  65. }
  66. }