mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/RevisionSlider
synced 2024-11-15 03:33:45 +00:00
9aca3a2593
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
109 lines
3 KiB
JavaScript
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() );
|
|
} );
|