MDL-81581 phpunit: Apply the new method to all remaining cases

After discussing it in the issue, we have agreed to apply
the new phpunit_util::normalise_line_endings() method to
all the remaining cases (within tests!) where the manual
replacement was being done. This commits achieves that.

Note that I've looked for both str_replace() and preg_replace()
cases, but only the former had cases worth converting. All the
later ones are different and cannot be replaced by the new
utility method.
This commit is contained in:
Eloy Lafuente (stronk7) 2024-04-24 12:00:54 +02:00
parent 71bd82ad68
commit dadfb6e90c
No known key found for this signature in database
GPG Key ID: 53487A05E6228820
4 changed files with 26 additions and 20 deletions

View File

@ -26,6 +26,7 @@
namespace core_backup;
use memory_xml_output;
use phpunit_util;
use xml_contenttransformer;
use xml_output;
use xml_writer;
@ -314,7 +315,7 @@ class writer_test extends \basic_testcase {
$fcontents = file_get_contents($CFG->dirroot . '/backup/util/xml/tests/fixtures/test1.xml');
// Normalise carriage return characters.
$fcontents = str_replace("\r\n", "\n", $fcontents);
$fcontents = phpunit_util::normalise_line_endings($fcontents);
$this->assertEquals(trim($result), trim($fcontents));
}
}

View File

@ -44,8 +44,10 @@ class qformat_aiken_export_test extends advanced_testcase {
* @param string $text The actual string.
*/
public function assert_same_aiken($expectedtext, $text) {
$this->assertEquals(str_replace("\r\n", "\n", $expectedtext),
str_replace("\r\n", "\n", $text));
$this->assertEquals(
phpunit_util::normalise_line_endings($expectedtext),
phpunit_util::normalise_line_endings($text)
);
}
public function test_export_questions() {

View File

@ -16,6 +16,7 @@
namespace qformat_gift;
use phpunit_util;
use qformat_gift;
use question_bank;
use question_check_specified_fields_expectation;
@ -37,15 +38,17 @@ require_once($CFG->dirroot . '/question/engine/tests/helpers.php');
*/
class giftformat_test extends \question_testcase {
public function assert_same_gift($expectedtext, $text) {
$this->assertEquals(str_replace("\r\n", "\n", $expectedtext),
str_replace("\r\n", "\n", $text));
$this->assertEquals(
phpunit_util::normalise_line_endings($expectedtext),
phpunit_util::normalise_line_endings($text)
);
}
public function test_import_essay() {
$gift = '
// essay
::Q8:: How are you? {}';
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -114,7 +117,7 @@ class giftformat_test extends \question_testcase {
=[markdown]A collection of web pages that anyone can add to or edit. -> Wiki
= -> Chat
}';
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -284,7 +287,7 @@ class giftformat_test extends \question_testcase {
~red # [html]wrong, it's yellow
~[plain]blue # wrong, it's yellow
}";
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -387,7 +390,7 @@ class giftformat_test extends \question_testcase {
~%50%off-beige # right; good!
~%-100%[plain]blue # wrong
}";
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -482,7 +485,7 @@ class giftformat_test extends \question_testcase {
~%-50%red # wrong
~%-50%blue # wrong
}";
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -694,7 +697,7 @@ class giftformat_test extends \question_testcase {
$gift = "
// math range question
::Q5:: What is a number from 1 to 5? {#3:2~#Completely wrong}";
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -800,7 +803,7 @@ class giftformat_test extends \question_testcase {
=%50%Cat#What is it with Moodlers and cats?
=%0%*#Completely wrong
}";
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -856,7 +859,7 @@ class giftformat_test extends \question_testcase {
=%0%*#Completely wrong
####[html]Here is some general feedback!
}";
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -1029,7 +1032,7 @@ class giftformat_test extends \question_testcase {
// true/false
::Q1:: 42 is the Absolute Answer to everything.{
FALSE#42 is the Ultimate Answer.#You gave the right answer.}";
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -1063,7 +1066,7 @@ FALSE#42 is the Ultimate Answer.#You gave the right answer.}";
public function test_import_truefalse_true_answer1() {
$gift = "// name 0-11
::2-08 TSL::TSL is blablabla.{T}";
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -1097,7 +1100,7 @@ FALSE#42 is the Ultimate Answer.#You gave the right answer.}";
public function test_import_truefalse_true_answer2() {
$gift = "// name 0-11
::2-08 TSL::TSL is blablabla.{TRUE}";
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -1219,7 +1222,7 @@ FALSE#42 is the Ultimate Answer.#You gave the right answer.}";
$gift = '
// essay
::double backslash:: A \\\\ B \\\\\\\\ C{}';
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -1257,7 +1260,7 @@ FALSE#42 is the Ultimate Answer.#You gave the right answer.}";
\}
</pre>
{}';
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);
@ -1296,7 +1299,7 @@ FALSE#42 is the Ultimate Answer.#You gave the right answer.}";
// This question is to test importing tags: [tag:tag] [tag:other-tag].
// And an idnumber: [id:myid].
::Question name:: How are you? {}';
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$importer = new qformat_gift();
$q = $importer->readquestion($lines);

View File

@ -293,7 +293,7 @@ final class questiontype_test extends \question_testcase {
// Import a question from GIFT.
$gift = file_get_contents(__DIR__ . '/fixtures/testimport.gift.txt');
$format = new qformat_gift();
$lines = preg_split('/[\\n\\r]/', str_replace("\r\n", "\n", $gift));
$lines = preg_split('/[\\n\\r]/', phpunit_util::normalise_line_endings($gift));
$imported = $format->readquestion($lines);
$this->assert(new question_check_specified_fields_expectation(self::expectedimport()), $imported);