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