mediawiki-extensions-Revisi.../tests/qunit/RevisionSlider.Revision.test.js
Thiemo Kreuz 9aca3a2593 Merge ….RevisionList ResourceLoader module away
It's never used in another context but together with the
….Slider module.

Motivated by the confusion about the two types of require()
introduced in Idf1cc79.

Bug: T233279
Change-Id: I922d7ab56fd3ce80bc901f1a5d7174df6fe6756d
2021-12-20 12:13:09 +01:00

109 lines
3 KiB
JavaScript

var SliderModule = require( 'ext.RevisionSlider.Slider' ),
Revision = SliderModule.Revision;
QUnit.module( 'ext.RevisionSlider.Revision' );
QUnit.test( 'create Revision', 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',
userGender: 'female'
},
rev = new Revision( data );
SliderModule.setUserOffset( 0 );
assert.strictEqual( rev.getSize(), data.size );
assert.strictEqual( rev.getComment(), data.comment );
assert.strictEqual( rev.getParsedComment(), data.parsedcomment );
assert.strictEqual( rev.getUser(), data.user );
assert.strictEqual( rev.getUserGender(), 'female' );
assert.strictEqual( rev.isMinor(), false );
if ( mw.config.get( 'wgUserLanguage' ) === 'en' ) {
assert.strictEqual( rev.getFormattedDate(), '26 April 2016 10:27 AM' );
}
} );
QUnit.test( 'isMinor with minor empty string', function ( assert ) {
var rev = new Revision( {
minor: ''
} );
assert.strictEqual( rev.isMinor(), true );
} );
QUnit.test( 'isMinor with minor true', function ( assert ) {
var rev = new Revision( {
minor: true
} );
assert.strictEqual( rev.isMinor(), true );
} );
QUnit.test( 'get and set relative size', function ( assert ) {
var size = 5,
rev = new Revision( {} );
rev.setRelativeSize( size );
assert.strictEqual( rev.getRelativeSize(), size );
} );
QUnit.revisionSlider.testOrSkip( 'getFormattedDate, offset: 0', function ( assert ) {
var rev = new Revision( {
timestamp: '2016-04-26T10:27:14Z' // 10:27, 26 Apr 2016
} );
SliderModule.setUserOffset( 0 );
assert.strictEqual( rev.getFormattedDate(), '26 April 2016 10:27 AM' );
}, mw.config.get( 'wgUserLanguage' ) !== 'en' );
QUnit.revisionSlider.testOrSkip( 'getFormattedDate, offset: 120 (treat as hours, +2h)', function ( assert ) {
var rev = new Revision( {
timestamp: '2016-04-26T10:27:14Z' // 10:27, 26 Apr 2016
} );
// Berlin = 120
SliderModule.setUserOffset( 120 );
assert.strictEqual( rev.getFormattedDate(), '26 April 2016 12:27 PM' );
}, mw.config.get( 'wgUserLanguage' ) !== 'en' );
QUnit.revisionSlider.testOrSkip( 'getFormattedDate, negative offset: -420 (treat as hours, -7h)', function ( assert ) {
var rev = new Revision( {
timestamp: '2016-04-26T10:27:14Z' // 10:27, 26 Apr 2016
} );
// San Francisco = -420
SliderModule.setUserOffset( -420 );
assert.strictEqual( rev.getFormattedDate(), '26 April 2016 3:27 AM' );
}, mw.config.get( 'wgUserLanguage' ) !== 'en' );
QUnit.test( 'hasEmptyComment comment with whitespaces', function ( assert ) {
var rev = new Revision( {
comment: ' '
} );
assert.ok( rev.hasEmptyComment() );
} );
QUnit.test( 'hasEmptyComment comment with chars', function ( assert ) {
var rev = new Revision( {
comment: ' comment '
} );
assert.notOk( rev.hasEmptyComment() );
} );
QUnit.test( 'hasEmptyComment comment with unicode chars', function ( assert ) {
var rev = new Revision( {
comment: 'ברוכים'
} );
assert.notOk( rev.hasEmptyComment() );
} );