summaryrefslogtreecommitdiff
path: root/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js')
-rw-r--r--tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
new file mode 100644
index 00000000..15265db5
--- /dev/null
+++ b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
@@ -0,0 +1,39 @@
+module( 'mediawiki.user', QUnit.newMwEnvironment() );
+
+test( '-- Initial check', function() {
+ expect(1);
+
+ ok( mw.user, 'mw.user defined' );
+});
+
+
+test( 'options', function() {
+ expect(1);
+
+ ok( mw.user.options instanceof mw.Map, 'options instance of mw.Map' );
+});
+
+test( 'User login status', function() {
+ expect(5);
+
+ /**
+ * Tests can be run under three different conditions:
+ * 1) From tests/qunit/index.html, user will be anonymous.
+ * 2) Logged in on [[Special:JavaScriptTest/qunit]]
+ * 3) Anonymously at the same special page.
+ */
+
+ // Forge an anonymous user:
+ mw.config.set( 'wgUserName', null);
+
+ strictEqual( mw.user.name(), null, 'user.name should return null when anonymous' );
+ ok( mw.user.anonymous(), 'user.anonymous should reutrn true when anonymous' );
+
+ // Not part of startUp module
+ mw.config.set( 'wgUserName', 'John' );
+
+ equal( mw.user.name(), 'John', 'user.name returns username when logged-in' );
+ ok( !mw.user.anonymous(), 'user.anonymous returns false when logged-in' );
+
+ equal( mw.user.id(), 'John', 'user.id Returns username when logged-in' );
+});