From 17fcfd8eaa21c0dd0b554d2d4f225b412cf570c2 Mon Sep 17 00:00:00 2001 From: Matthias Mullie Date: Tue, 13 Feb 2018 17:51:29 +0100 Subject: [PATCH] Only add header when description not already has it Bug: T187302 Change-Id: Ic57196cc366fc53d83c624a7cd9290fb1972eab1 --- includes/specials/SpecialUpload.php | 8 ++++- .../includes/specials/SpecialUploadTest.php | 29 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 tests/phpunit/includes/specials/SpecialUploadTest.php diff --git a/includes/specials/SpecialUpload.php b/includes/specials/SpecialUpload.php index 53b7a2ff3b..f7cb654527 100644 --- a/includes/specials/SpecialUpload.php +++ b/includes/specials/SpecialUpload.php @@ -617,7 +617,13 @@ class SpecialUpload extends SpecialPage { $licenseText = '== ' . $msg['license-header'] . " ==\n{{" . $license . "}}\n"; } - $pageText = $comment == '' ? '' : '== ' . $msg['filedesc'] . " ==\n" . $comment . "\n"; + $pageText = $comment . "\n"; + $headerText = '== ' . $msg['filedesc'] . ' =='; + if ( $comment !== '' && strpos( $comment, $headerText ) === false ) { + // prepend header to page text unless it's already there (or there is no content) + $pageText = $headerText . "\n" . $pageText; + } + if ( $config->get( 'UseCopyrightUpload' ) ) { $pageText .= '== ' . $msg['filestatus'] . " ==\n" . $copyStatus . "\n"; $pageText .= $licenseText; diff --git a/tests/phpunit/includes/specials/SpecialUploadTest.php b/tests/phpunit/includes/specials/SpecialUploadTest.php new file mode 100644 index 0000000000..95026c18d0 --- /dev/null +++ b/tests/phpunit/includes/specials/SpecialUploadTest.php @@ -0,0 +1,29 @@ +assertEquals( $expected, $result ); + } + + public function provideGetInitialPageText() { + return [ + [ + 'expect' => "== Summary ==\nthis is a test\n", + 'params' => [ + 'this is a test' + ], + ], + [ + 'expect' => "== Summary ==\nthis is a test\n", + 'params' => [ + "== Summary ==\nthis is a test", + ], + ], + ]; + } +} -- 2.20.1