Merge branch 'MDL-73278_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE

This commit is contained in:
Ilya Tregubov
2021-12-10 18:52:20 +02:00
2 changed files with 18 additions and 1 deletions
+15 -1
View File
@@ -169,7 +169,7 @@ class accounts_testcase extends advanced_testcase {
* @param float $surcharge
* @param string $expected
*/
public function test_get_rounded_cost(float $amount, string $currency, float $surcharge, string $expected) {
public function test_get_rounded_cost(float $amount, string $currency, float $surcharge, float $expected) {
$this->assertEquals($expected, helper::get_rounded_cost($amount, $currency, $surcharge));
}
@@ -183,6 +183,20 @@ class accounts_testcase extends advanced_testcase {
* @param string $expected
*/
public function test_get_cost_as_string(float $amount, string $currency, float $surcharge, string $expected) {
// Some old ICU versions have a bug, where they don't follow the CLDR and they are
// missing the non-breaking-space between the currency abbreviation and the value.
// i.e. it returns AUD50 instead of AU\xc2\xa050). See the following issues @ ICU:
// - https://unicode-org.atlassian.net/browse/ICU-6560
// - https://unicode-org.atlassian.net/browse/ICU-8853
// - https://unicode-org.atlassian.net/browse/ICU-8840
// It has been detected that versions prior to ICU-61.1 / ICU-62.1 come with this
// problem. Noticeably Travis images (as of December 2021) use buggy ICU-60.1.
// So, here, we are going to dynamically verify the behaviour and skip the
// test when buggy one is found. No need to apply this to code as dar as the real
// formatting is not critical for the functionality (just small glitch).
if ('IRR5' === (new \NumberFormatter('en-AU', \NumberFormatter::CURRENCY))->formatCurrency(5, 'IRR')) {
$this->markTestSkipped('Old ICU libraries behavior (ICU < 62), skipping this tests');
}
$this->assertEquals($expected, helper::get_cost_as_string($amount, $currency, $surcharge));
}
}
+3
View File
@@ -200,6 +200,9 @@
<testsuite name="core_contentbank_testsuite">
<directory suffix="_test.php">contentbank/tests</directory>
</testsuite>
<testsuite name="core_payment_testsuite">
<directory suffix="_test.php">payment/tests</directory>
</testsuite>
<!--Plugin suites: use admin/tool/phpunit/cli/util.php to build phpunit.xml from phpunit.xml.dist with up-to-date list of plugins in current install-->
<!--@plugin_suites_start@-->