Fix and update i18n QUnit test breakages
authorTimo Tijhof <ttijhof@wikimedia.org>
Fri, 14 Sep 2012 02:57:57 +0000 (04:57 +0200)
committerNiklas Laxström <niklas.laxstrom@gmail.com>
Sun, 16 Sep 2012 02:13:32 +0000 (02:13 +0000)
* mediawiki.language.test:
  Was broken for a while because the setup/teardown set
  language.data instead of language.data.values so each test
  resulted in:
  > TypeError: Cannot read property 'en' of undefined

  Also stored the copy in the QUnit module context instead
  of in the shared scope.

* mediawiki.cldr.test: Update QUnit pattern.
  - Removed redundant Initial check
  - '--' from test name
  - test()'s expect count argument
  - Superfluous comments, its just assert.equal it should go
    without saying at this point through the unit tests what
    the 2nd and 3rd are.

* mediawiki.cldr.test:
  Fixed trailing comma in commented out code and whitespace
  warnings.

Change-Id: I95de3bb551efd7993cfcfba4a5cc3f310e7d6805

tests/qunit/suites/resources/mediawiki/mediawiki.cldr.test.js
tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js

index 09a11b0..7d7373f 100644 (file)
@@ -1,16 +1,11 @@
-module( 'mediawiki.cldr' );
-
-test( '-- Initial check', function() {
-       expect( 1 );
-       ok( mw.cldr, 'mw.cldr defined' );
-} );
+QUnit.module( 'mediawiki.cldr', QUnit.newMwEnvironment() );
 
 var pluralTestcases = {
        /*
         * Sample:
-        *"languagecode" : [
-        *      [ number, [ "form1", "form2", ... ],  "expected", "description" ],
-        * ]
+        * "languagecode" : [
+        *   [ number, [ "form1", "form2", ... ],  "expected", "description" ]
+        * ];
         */
        "en": [
                [ 0, [ "one", "other" ], "other", "English plural test- 0 is other" ],
@@ -48,19 +43,18 @@ var pluralTestcases = {
 };
 
 function pluralTest( langCode, tests ) {
-       QUnit.test('-- Plural Test for ' + langCode, function( assert ) {
-               QUnit.expect( tests.length );
+       QUnit.test( 'Plural Test for ' + langCode, tests.length, function ( assert ) {
                for ( var i = 0; i < tests.length; i++ ) {
                        assert.equal(
                                mw.language.convertPlural( tests[i][0], tests[i][1] ),
-                               tests[i][2], // Expected plural form
-                               tests[i][3] // Description
+                               tests[i][2],
+                               tests[i][3]
                        );
                }
        } );
 }
 
-$.each( pluralTestcases, function( langCode, tests ) {
+$.each( pluralTestcases, function ( langCode, tests ) {
        if ( langCode === mw.config.get( 'wgUserLanguage' ) ) {
                pluralTest( langCode, tests );
        }
index 5d67a6e..3fa2b09 100644 (file)
@@ -1,12 +1,11 @@
-var liveLangData = mw.language.data.values;
 QUnit.module( 'mediawiki.language', QUnit.newMwEnvironment({
        setup: function () {
-               // New independent copy for this test
-               mw.language.data = $.extend( {}, liveLangData, true );
+               this.liveLangData = mw.language.data.values;
+               mw.language.data.values = $.extend( true, {}, this.liveLangData );
        },
        teardown: function () {
-               // Restore original
-               mw.language.data = liveLangData;
+               // Restore
+               mw.language.data.values = this.liveLangData;
        }
 }) );