Page MenuHomePhabricator

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

Description

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 
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.)

https://integration.wikimedia.org/ci/job/mediawiki-quibble-vendor-mysql-php73-docker/1/console

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? https://github.com/php/php-src/blob/php-7.3.0RC3/UPGRADING#L186

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

https://gerrit.wikimedia.org/r/467727

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.