Krinkle has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/311064

Change subject: mediawiki.user: Minor clean up of code and unit tests
......................................................................

mediawiki.user: Minor clean up of code and unit tests

* Clarify getRegistration() return documentation and minor
  optimisation of code order.

* Fix typo in test name for getUserInfo().

* Remove redundant test expect numbers.
  Follows-up 7c363752ed.

* Separate getter assertions for anonymous and logged-in.
  Avoid changing the fixture mid-test. Let setup/teardown
  clean up in the middle.

Change-Id: If777d44a571ac590e91ed84060ea714df67f8f2f
---
M resources/src/mediawiki/mediawiki.user.js
M tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
2 files changed, 20 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/64/311064/1

diff --git a/resources/src/mediawiki/mediawiki.user.js 
b/resources/src/mediawiki/mediawiki.user.js
index 7df778f..1f3e779 100644
--- a/resources/src/mediawiki/mediawiki.user.js
+++ b/resources/src/mediawiki/mediawiki.user.js
@@ -104,17 +104,18 @@
                /**
                 * Get date user registered, if available
                 *
-                * @return {Date|boolean|null} Date user registered, or false 
for anonymous users, or
-                *  null when data is not available
+                * @return {boolean|null|Date} False for anonymous users, null 
if data is
+                *  unavailable, or Date for when the user registered.
                 */
                getRegistration: function () {
-                       var registration = mw.config.get( 'wgUserRegistration' 
);
                        if ( mw.user.isAnon() ) {
                                return false;
                        }
+                       var registration = mw.config.get( 'wgUserRegistration' 
);
+                       // Registration may be unavailable if the user signed 
up before MediaWiki
+                       // began tracking this.
+                       return !registration ? null : new Date( registration );
                        if ( registration === null ) {
-                               // Information may not be available if they 
signed up before
-                               // MW began storing this.
                                return null;
                        }
                        return new Date( registration );
diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js 
b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
index 3332c08..5122dcd 100644
--- a/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
+++ b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
@@ -15,32 +15,32 @@
                }
        } ) );
 
-       QUnit.test( 'options', 1, function ( assert ) {
+       QUnit.test( 'options', function ( assert ) {
                assert.ok( mw.user.options instanceof mw.Map, 'options instance 
of mw.Map' );
        } );
 
-       QUnit.test( 'user status', 7, function ( assert ) {
-
+       QUnit.test( 'getters (anonymous)', function ( assert ) {
                // Forge an anonymous user
                mw.config.set( 'wgUserName', null );
                delete mw.config.values.wgUserId;
 
-               assert.strictEqual( mw.user.getName(), null, 'user.getName() 
returns null when anonymous' );
-               assert.assertTrue( mw.user.isAnon(), 'user.isAnon() returns 
true when anonymous' );
-               assert.strictEqual( mw.user.getId(), 0, 'user.getId() returns 0 
when anonymous' );
+               assert.strictEqual( mw.user.getName(), null, 'getName()' );
+               assert.strictEqual( mw.user.isAnon(), true, 'isAnon()' );
+               assert.strictEqual( mw.user.getId(), 0, 'getId()' );
+       } );
 
-               // Not part of startUp module
+       QUnit.test( 'getters (logged-in)', function ( assert ) {
                mw.config.set( 'wgUserName', 'John' );
                mw.config.set( 'wgUserId', 123 );
 
-               assert.equal( mw.user.getName(), 'John', 'user.getName() 
returns username when logged-in' );
-               assert.assertFalse( mw.user.isAnon(), 'user.isAnon() returns 
false when logged-in' );
-               assert.strictEqual( mw.user.getId(), 123, 'user.getId() returns 
correct ID when logged-in' );
+               assert.equal( mw.user.getName(), 'John', 'getName()' );
+               assert.strictEqual( mw.user.isAnon(), false, 'isAnon()' );
+               assert.strictEqual( mw.user.getId(), 123, 'getId()' );
 
-               assert.equal( mw.user.id(), 'John', 'user.id Returns username 
when logged-in' );
+               assert.equal( mw.user.id(), 'John', 'user.id()' );
        } );
 
-       QUnit.test( 'getUserInfos', 3, function ( assert ) {
+       QUnit.test( 'getUserInfo', function ( assert ) {
                mw.config.set( 'wgUserGroups', [ '*', 'user' ] );
 
                mw.user.getGroups( function ( groups ) {
@@ -64,7 +64,7 @@
                this.server.respond();
        } );
 
-       QUnit.test( 'generateRandomSessionId', 4, function ( assert ) {
+       QUnit.test( 'generateRandomSessionId', function ( assert ) {
                var result, result2;
 
                result = mw.user.generateRandomSessionId();
@@ -77,7 +77,7 @@
 
        } );
 
-       QUnit.test( 'generateRandomSessionId (fallback)', 4, function ( assert 
) {
+       QUnit.test( 'generateRandomSessionId (fallback)', function ( assert ) {
                var result, result2;
 
                // Pretend crypto API is not there to test the Math.random 
fallback

-- 
To view, visit https://gerrit.wikimedia.org/r/311064
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If777d44a571ac590e91ed84060ea714df67f8f2f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklem...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to