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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits