Page MenuHomePhabricator

LanguageTrTest::testDottedAndDotlessI fails in PHP 7.3
Open, Needs TriagePublic


15:39:38 1) LanguageTrTest::testDottedAndDotlessI with data set #3 ('lcfirst', 'İ', 'upper', 'i')
15:39:38 Converting upper case 'İ' with lcfirst should give 'i'
15:39:38 Failed asserting that two strings are equal.
15:39:38 --- Expected
15:39:38 +++ Actual
15:39:38 @@ @@
15:39:38 -'i'
15:39:38 +'i̇'
15:39:38 /workspace/src/tests/phpunit/languages/classes/LanguageTrTest.php:35
15:39:38 /workspace/src/tests/phpunit/MediaWikiTestCase.php:424
15:39:38 /workspace/src/maintenance/doMaintenance.php:94

(Those are not the same i.)

Event Timeline

Legoktm created this task.Oct 15 2018, 10:44 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 15 2018, 10:44 PM

I wonder if this is caused by some of the mbstring changes?

The first is U+0069, the normal "i". The second is two characters, U+0069 U+0307, which is the normal "i" plus the combining dot above "◌̇".

It probably is due to the mbstring changes, in particular the "full case-mapping [which] may change the length of the string".

Change 467727 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[mediawiki/core@master] Update LanguageTrTest for PHP 7.3 mbstring changes

I'm not sure if Lego has any time to work on this based on no activity since November... Can anyone else from CPT pick this up @CCicalese_WMF as the last (known) blocker for PHP 7.3 support?

It doesn't sound like a lot of work is needed to finish it off

Legoktm removed Legoktm as the assignee of this task.Thu, Jun 13, 7:18 PM

Sorry for cookie licking, I haven't worked on this since October :(

Or maybe Language-Team might be interested?

We'll see if we can fit this in to an upcoming sprint.