| Current File : /home/jvzmxxx/wiki/extensions/Wikibase/lib/tests/qunit/wikibase.Site.tests.js |
/**
* @license GPL-2.0+
* @author H. Snater
*/
( function( wb, $, QUnit ) {
'use strict';
var siteDetails = {
apiUrl: 'http://en.wikipedia.org/w/api.php',
id: 'en-global',
name: 'English Wikipedia',
pageUrl: 'http://en.wikipedia.org/wiki/$1',
shortName: 'English',
languageCode: 'en',
group: 'wikipedia'
};
var string = 'test',
site = new wb.Site( siteDetails );
QUnit.module( 'wikibase.Site' );
QUnit.test( 'check init', function( assert ) {
assert.expect( 6 );
assert.strictEqual(
site._siteDetails,
siteDetails,
'set site details'
);
assert.strictEqual(
site.getId(),
siteDetails.id,
'verified site id'
);
assert.strictEqual(
site.getName(),
siteDetails.name,
'verified site name'
);
assert.strictEqual(
site.getShortName(),
siteDetails.shortName,
'verified short site name'
);
assert.strictEqual(
site.getApi(),
siteDetails.apiUrl,
'verified site api'
);
assert.strictEqual(
site.getGroup(),
siteDetails.group,
'verified site group'
);
} );
QUnit.test( 'link handling', function( assert ) {
assert.expect( 1 );
assert.equal(
site.getLinkTo( string )[0].nodeName,
'A',
'created DOM node for link'
);
} );
QUnit.test( 'language functions', function( assert ) {
assert.expect( 4 );
assert.equal(
site.getLanguageCode(),
'en',
'retrieved language code'
);
assert.equal(
site.getLanguageDirection(),
( $.uls !== undefined ) ? 'ltr' : 'auto',
'retrieved ltr language direction'
);
site._siteDetails.languageCode = 'ar';
assert.equal(
site.getLanguageDirection(),
( $.uls !== undefined ) ? 'rtl' : 'auto',
'retrieved rtl language direction'
);
site._siteDetails.languageCode = 'non-existing-code';
assert.equal(
site.getLanguageDirection(),
'auto',
'received "auto" when no special language direction could be retrieved'
);
} );
}( wikibase, jQuery, QUnit ) );