WMDE-Fisch has uploaded a new change for review.

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

Change subject: Make QUnit tests language setting prove
......................................................................

Make QUnit tests language setting prove

There seems to be no good way to enforce language on the QUnit tests. It works
for the number formatting by setting the user language on the fly but for 
everything
else it fails. I simplified some tests and skip some tests or asserts when the 
language
is not 'en'.

Still I dont know if this is something we should care about at all or just 
assume,
that devs will know what they do when they try to run tests.

Change-Id: Ie76578e71d83a50d0852a9630cd63ed553261e17
---
M tests/qunit/RevisionSlider.Revision.test.js
M tests/qunit/RevisionSlider.RevisionListView.test.js
2 files changed, 48 insertions(+), 58 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider 
refs/changes/28/296928/1

diff --git a/tests/qunit/RevisionSlider.Revision.test.js 
b/tests/qunit/RevisionSlider.Revision.test.js
index 707f08a..038b171 100644
--- a/tests/qunit/RevisionSlider.Revision.test.js
+++ b/tests/qunit/RevisionSlider.Revision.test.js
@@ -16,50 +16,27 @@
                assert.equal( rev.getSize(), data.size );
                assert.equal( rev.getComment(), data.comment );
                assert.equal( rev.getParsedComment(), data.parsedcomment );
-               assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 2016' );
                assert.equal( rev.getUser(), data.user );
                assert.equal( rev.isMinor(), false );
+
+               if ( mw.config.get( 'wgUserLanguage' ) === 'en' ) {
+                       assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 
2016' );
+               }
        } );
 
-       QUnit.test( 'create minor Revision (minor empty string)', function ( 
assert ) {
-               var data = {
-                               size: 5,
-                               comment: 'hello',
-                               parsedcomment: '<b>hello</b>',
-                               timestamp: '2016-04-26T10:27:14Z', // 10:27, 26 
Apr 2016
-                               user: 'meh',
-                               minor: ''
-                       },
-                       rev = new mw.libs.revisionSlider.Revision( data );
+       QUnit.test( 'isMinor with minor empty string', function ( assert ) {
+               var rev = new mw.libs.revisionSlider.Revision( {
+                       minor: ''
+               } );
 
-               mw.libs.revisionSlider.userOffset = 0;
-
-               assert.equal( rev.getSize(), data.size );
-               assert.equal( rev.getComment(), data.comment );
-               assert.equal( rev.getParsedComment(), data.parsedcomment );
-               assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 2016' );
-               assert.equal( rev.getUser(), data.user );
                assert.equal( rev.isMinor(), true );
        } );
 
-       QUnit.test( 'create minor Revision (minor true, as if from another 
Revision object)', function ( assert ) {
-               var data = {
-                               size: 5,
-                               comment: 'hello',
-                               parsedcomment: '<b>hello</b>',
-                               timestamp: '2016-04-26T10:27:14Z', // 10:27, 26 
Apr 2016
-                               user: 'meh',
-                               minor: true
-                       },
-                       rev = new mw.libs.revisionSlider.Revision( data );
+       QUnit.test( 'isMinor with minor true', function ( assert ) {
+               var rev = new mw.libs.revisionSlider.Revision( {
+                       minor: true
+               } );
 
-               mw.libs.revisionSlider.userOffset = 0;
-
-               assert.equal( rev.getSize(), data.size );
-               assert.equal( rev.getComment(), data.comment );
-               assert.equal( rev.getParsedComment(), data.parsedcomment );
-               assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 2016' );
-               assert.equal( rev.getUser(), data.user );
                assert.equal( rev.isMinor(), true );
        } );
 
@@ -70,37 +47,41 @@
                assert.equal( rev.getRelativeSize(), size );
        } );
 
-       QUnit.test( 'getFormattedDate, offset: 0', function ( assert ) {
-               var rev = new mw.libs.revisionSlider.Revision( {
+       if ( mw.config.get( 'wgUserLanguage' ) === 'en' ) {
+               QUnit.test( 'getFormattedDate, offset: 0', function ( assert ) {
+                       var rev = new mw.libs.revisionSlider.Revision( {
                                timestamp: '2016-04-26T10:27:14Z' // 10:27, 26 
Apr 2016
                        } );
 
-               mw.libs.revisionSlider.userOffset = 0;
+                       mw.libs.revisionSlider.userOffset = 0;
 
-               assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 2016' );
-       } );
+                       assert.equal( rev.getFormattedDate(), '10:27, 26 Apr 
2016' );
+               } );
 
-       QUnit.test( 'getFormattedDate, offset: 120 (treat as hours, +2h)', 
function ( assert ) {
-               var rev = new mw.libs.revisionSlider.Revision( {
+               QUnit.test( 'getFormattedDate, offset: 120 (treat as hours, 
+2h)', function ( assert ) {
+                       var rev = new mw.libs.revisionSlider.Revision( {
                                timestamp: '2016-04-26T10:27:14Z' // 10:27, 26 
Apr 2016
                        } );
 
-               // Berlin = 120
-               mw.libs.revisionSlider.userOffset = 120;
+                       // Berlin = 120
+                       mw.libs.revisionSlider.userOffset = 120;
 
-               assert.equal( rev.getFormattedDate(), '12:27, 26 Apr 2016' );
-       } );
+                       assert.equal( rev.getFormattedDate(), '12:27, 26 Apr 
2016' );
+               } );
 
-       QUnit.test( 'getFormattedDate, negative offset: -420 (treat as hours, 
-7h)', function ( assert ) {
-               var rev = new mw.libs.revisionSlider.Revision( {
+               QUnit.test( 'getFormattedDate, negative offset: -420 (treat as 
hours, -7h)', function ( assert ) {
+                       var rev = new mw.libs.revisionSlider.Revision( {
                                timestamp: '2016-04-26T10:27:14Z' // 10:27, 26 
Apr 2016
                        } );
 
-               // San Francisco = -420
-               mw.libs.revisionSlider.userOffset = -420;
+                       // San Francisco = -420
+                       mw.libs.revisionSlider.userOffset = -420;
 
-               assert.equal( rev.getFormattedDate(), '03:27, 26 Apr 2016' );
-       } );
+                       assert.equal( rev.getFormattedDate(), '03:27, 26 Apr 
2016' );
+               } );
+       } else {
+               QUnit.skip( 'getFormattedDate tests due to language setting' );
+       }
 
        QUnit.test( 'hasEmptyComment comment with whitespaces', function ( 
assert ) {
                var rev = new mw.libs.revisionSlider.Revision( {
diff --git a/tests/qunit/RevisionSlider.RevisionListView.test.js 
b/tests/qunit/RevisionSlider.RevisionListView.test.js
index 26d2194..188ed66 100644
--- a/tests/qunit/RevisionSlider.RevisionListView.test.js
+++ b/tests/qunit/RevisionSlider.RevisionListView.test.js
@@ -30,7 +30,7 @@
                var revisionListView = new RevisionListView(),
                        revision = new Revision( {
                                revid: 1,
-                               size: 1230,
+                               size: 230,
                                comment: 'Hello',
                                parsedcomment: '<strong>Hello</strong>',
                                timestamp: '2016-04-26T10:27:14Z', // 10:27, 26 
Apr 2016
@@ -39,18 +39,21 @@
                        } ),
                        $tooltipHtml;
 
-               revision.setRelativeSize( 3210 );
+               revision.setRelativeSize( 210 );
 
                mw.libs.revisionSlider.userOffset = 0;
 
                $tooltipHtml = revisionListView.makeTooltip( revision );
 
-               assert.ok( $tooltipHtml.match( /10:27, 26 Apr 2016/ ), 'Test 
the date.' );
                assert.ok( $tooltipHtml.match( /User1/ ), 'Test the user.' );
                assert.ok( $tooltipHtml.match( /Hello/ ), 'Test the comment.' );
-               assert.ok( $tooltipHtml.match( /1,230/ ), 'Test the page size.' 
);
-               assert.ok( $tooltipHtml.match( /\+3,210/ ), 'Test the change 
size.' );
-               assert.ok( $tooltipHtml.match( /This is a minor edit/ ), 'Test 
for minor edit.' );
+               assert.ok( $tooltipHtml.match( /230/ ), 'Test the page size.' );
+               assert.ok( $tooltipHtml.match( /\+210/ ), 'Test the change 
size.' );
+
+               if ( mw.config.get( 'wgUserLanguage' ) === 'en' ) {
+                       assert.ok( $tooltipHtml.match( /10:27, 26 Apr 2016/ ), 
'Test the date.' );
+                       assert.ok( $tooltipHtml.match( /minor/ ), 'Test minor.' 
);
+               }
        } );
 
        QUnit.test( 'empty user leads to no user line', function ( assert ) {
@@ -138,18 +141,24 @@
 
        QUnit.test( 'big change number is formatted correctly', function ( 
assert ) {
                var revisionListView = new RevisionListView(),
+                       originalUserLangSetting = mw.config.get( 
'wgUserLanguage' ),
                        $changeSizeLineHtml;
 
+               mw.config.set( 'wgUserLanguage', 'en' );
                $changeSizeLineHtml = revisionListView.makeChangeSizeLine( 1000 
);
+               mw.config.set( 'wgUserLanguage', originalUserLangSetting );
 
                assert.equal( $changeSizeLineHtml.find( 
'.mw-revslider-change-positive' ).text(), '+1,000' );
        } );
 
        QUnit.test( 'page size is formatted correctly', function ( assert ) {
                var revisionListView = new RevisionListView(),
+                       originalUserLangSetting = mw.config.get( 
'wgUserLanguage' ),
                        $pageSizeLineHtml;
 
+               mw.config.set( 'wgUserLanguage', 'en' );
                $pageSizeLineHtml = revisionListView.makePageSizeLine( 1337 );
+               mw.config.set( 'wgUserLanguage', originalUserLangSetting );
 
                assert.ok( $pageSizeLineHtml.text().match( /1,337/ ) );
        } );

-- 
To view, visit https://gerrit.wikimedia.org/r/296928
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie76578e71d83a50d0852a9630cd63ed553261e17
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/RevisionSlider
Gerrit-Branch: master
Gerrit-Owner: WMDE-Fisch <christoph.fisc...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to