From: Timo Tijhof Date: Tue, 21 Feb 2017 05:05:04 +0000 (-0800) Subject: mediawiki.language: Add unit tests for digit transform table X-Git-Tag: 1.31.0-rc.0~4031^2 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/journal.php?a=commitdiff_plain;h=2266601ea414b065a440901aa5531d50d64a0193;p=lhc%2Fweb%2Fwiklou.git mediawiki.language: Add unit tests for digit transform table Follows-up e8dd1f43fb169, e2834bacbde6. Bug: T152800 Change-Id: I9ab824118f179b3b6d672d71b5ac8cf87c3b2fc8 --- diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js index 2171f34b40..f77799433e 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js @@ -48,11 +48,36 @@ mw.language.setData( 'en', 'digitTransformTable', null ); mw.language.setData( 'en', 'separatorTransformTable', { ',': '.', '.': ',' } ); mw.config.set( 'wgUserLanguage', 'en' ); + mw.config.set( 'wgTranslateNumerals', true ); assert.equal( mw.language.convertNumber( 1800 ), '1.800', 'formatting' ); assert.equal( mw.language.convertNumber( '1.800', true ), '1800', 'unformatting' ); } ); + QUnit.test( 'mw.language.convertNumber - digitTransformTable', function ( assert ) { + mw.config.set( 'wgUserLanguage', 'hi' ); + mw.config.set( 'wgTranslateNumerals', true ); + mw.language.setData( 'hi', 'digitGroupingPattern', null ); + mw.language.setData( 'hi', 'separatorTransformTable', { ',': '.', '.': ',' } ); + + // Example from Hindi (MessagesHi.php) + mw.language.setData( 'hi', 'digitTransformTable', { + 0: '०', + 1: '१', + 2: '२' + } ); + + assert.equal( mw.language.convertNumber( 1200 ), '१.२००', 'format' ); + assert.equal( mw.language.convertNumber( '१.२००', true ), '1200', 'unformat from digit transform' ); + assert.equal( mw.language.convertNumber( '1.200', true ), '1200', 'unformat plain' ); + + mw.config.set( 'wgTranslateNumerals', false ); + + assert.equal( mw.language.convertNumber( 1200 ), '1.200', 'format (digit transform disabled)' ); + assert.equal( mw.language.convertNumber( '१.२००', true ), '1200', 'unformat from digit transform (when disabled)' ); + assert.equal( mw.language.convertNumber( '1.200', true ), '1200', 'unformat plain (digit transform disabled)' ); + } ); + function grammarTest( langCode, test ) { // The test works only if the content language is opt.language // because it requires [lang].js to be loaded.