From 2266601ea414b065a440901aa5531d50d64a0193 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Mon, 20 Feb 2017 21:05:04 -0800 Subject: [PATCH] mediawiki.language: Add unit tests for digit transform table Follows-up e8dd1f43fb169, e2834bacbde6. Bug: T152800 Change-Id: I9ab824118f179b3b6d672d71b5ac8cf87c3b2fc8 --- .../mediawiki/mediawiki.language.test.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) 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. -- 2.20.1