From 882bf8ae11f476022e66d65da62dc002dc188684 Mon Sep 17 00:00:00 2001 From: Lars Jung Date: Wed, 22 Apr 2015 19:34:35 +0200 Subject: [PATCH] Clean code. --- test/.jshintrc | 2 +- test/tests/unit/core/event.js | 17 ++++-- test/tests/unit/core/format.js | 78 ++++++++++++++------------- test/tests/unit/core/location.js | 91 +++++++++++++++----------------- test/tests/unit/core/notify.js | 6 +-- test/tests/unit/core/resource.js | 25 +++++---- test/tests/unit/core/server.js | 14 +++-- test/tests/unit/core/settings.js | 17 ++++-- test/tests/unit/core/store.js | 21 +++++--- test/tests/unit/core/types.js | 6 +-- test/tests/unit/core/util.js | 19 ++++--- test/tests/unit/model/item.js | 9 ++-- test/tests/unit/premisses.js | 14 +++-- test/tests/unit/view/content.js | 2 +- test/tests/unit/view/sidebar.js | 4 +- test/tests/unit/view/viewmode.js | 2 +- test/util/uniq.js | 23 +++++--- 17 files changed, 202 insertions(+), 148 deletions(-) diff --git a/test/.jshintrc b/test/.jshintrc index dda9764d..efcaffe1 100644 --- a/test/.jshintrc +++ b/test/.jshintrc @@ -22,8 +22,8 @@ "mocha": true, "globals": { - "$": false, "_": false, + "$": false, "assert": false, "chai": false, "jQuery": false, diff --git a/test/tests/unit/core/event.js b/test/tests/unit/core/event.js index fc57732b..38a4778b 100644 --- a/test/tests/unit/core/event.js +++ b/test/tests/unit/core/event.js @@ -59,25 +59,34 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.sub()', function () { - it('.sub() is function', function () { + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.sub); }); + }); - it('.unsub() is function', function () { + describe('.unsub()', function () { + + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.unsub); }); + }); - it('.pub() is function', function () { + describe('.pub()', function () { + + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.pub); }); + }); + + describe('works', function () { it('works', function () { diff --git a/test/tests/unit/core/format.js b/test/tests/unit/core/format.js index ae1d2756..7899945a 100644 --- a/test/tests/unit/core/format.js +++ b/test/tests/unit/core/format.js @@ -59,33 +59,24 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.setDefaultMetric()', function () { - it('.setDefaultMetric() is function', function () { + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.setDefaultMetric); }); + }); - it('.formatSize() is function', function () { + describe('.formatSize()', function () { + + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.formatSize); }); - it('.setDefaultDateFormat() is function', function () { - - var instance = this.applyFn(); - assert.isFunction(instance.setDefaultDateFormat); - }); - - it('.formatDate() is function', function () { - - var instance = this.applyFn(); - assert.isFunction(instance.formatDate); - }); - - it('.formatSize() defaults to decimal metric', function () { + it('defaults to decimal metric', function () { var instance = this.applyFn(); assert.strictEqual(instance.formatSize(1024), '1 KB'); @@ -95,7 +86,7 @@ describe('module "' + ID + '"', function () { assert.strictEqual(instance.formatSize(1024), '1 KB'); }); - describe('.formatSize() with decimal metric', function () { + describe('decimal metric', function () { _.each([ [0, '0 B'], @@ -130,7 +121,7 @@ describe('module "' + ID + '"', function () { }); }); - describe('.formatSize() with binary metric', function () { + describe('binary metric', function () { _.each([ [0, '0 B'], @@ -165,8 +156,26 @@ describe('module "' + ID + '"', function () { }); }); }); + }); - it('.formatDate() with default format', function () { + describe('.setDefaultDateFormat()', function () { + + it('is function', function () { + + var instance = this.applyFn(); + assert.isFunction(instance.setDefaultDateFormat); + }); + }); + + describe('.formatDate()', function () { + + it('is function', function () { + + var instance = this.applyFn(); + assert.isFunction(instance.formatDate); + }); + + it('default format', function () { var instance = this.applyFn(); assert.strictEqual(instance.formatDate(0), ''); @@ -187,26 +196,23 @@ describe('module "' + ID + '"', function () { assert.strictEqual(instance.formatDate(1400000000000), '18 14 20'); }); - describe('.formatDate()', function () { + _.each([ + [0, 'YYYY-MM-DD HH:mm:ss', ''], + [1000, 'YYYY-MM-DD HH:mm:ss', '1970-01-01 01:00:01'], + [-1000, 'YYYY-MM-DD HH:mm:ss', '1970-01-01 00:59:59'], + [1400000000000, 'YYYY-MM-DD HH:mm:ss', '2014-05-13 18:53:20'], + [1400000000000, 'XYYYYXMMXDDXHHXmmXssX', 'X2014X05X13X18X53X20X'], + [1400000000000, 'YYYY YY Y MM M DD D HH H mm m ss s', '2014 14 2014 05 5 13 13 18 18 53 53 20 20'] + ], function (data) { - _.each([ - [0, 'YYYY-MM-DD HH:mm:ss', ''], - [1000, 'YYYY-MM-DD HH:mm:ss', '1970-01-01 01:00:01'], - [-1000, 'YYYY-MM-DD HH:mm:ss', '1970-01-01 00:59:59'], - [1400000000000, 'YYYY-MM-DD HH:mm:ss', '2014-05-13 18:53:20'], - [1400000000000, 'XYYYYXMMXDDXHHXmmXssX', 'X2014X05X13X18X53X20X'], - [1400000000000, 'YYYY YY Y MM M DD D HH H mm m ss s', '2014 14 2014 05 5 13 13 18 18 53 53 20 20'] - ], function (data) { + var arg1 = data[0]; + var arg2 = data[1]; + var exp = data[2]; - var arg1 = data[0]; - var arg2 = data[1]; - var exp = data[2]; + it('.formatDate(' + arg1 + ', ' + arg2 + ') => "' + exp + '"', function () { - it('.formatDate(' + arg1 + ', ' + arg2 + ') => "' + exp + '"', function () { - - var instance = this.applyFn(); - assert.strictEqual(instance.formatDate(arg1, arg2), exp); - }); + var instance = this.applyFn(); + assert.strictEqual(instance.formatDate(arg1, arg2), exp); }); }); }); diff --git a/test/tests/unit/core/location.js b/test/tests/unit/core/location.js index 0b9ee434..63de4b13 100644 --- a/test/tests/unit/core/location.js +++ b/test/tests/unit/core/location.js @@ -73,81 +73,78 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.forceEncoding()', function () { - describe('.forceEncoding()', function () { + it('is function', function () { - it('is function', function () { + var instance = this.applyFn(); + assert.isFunction(instance.forceEncoding); + }); + }); - var instance = this.applyFn(); - assert.isFunction(instance.forceEncoding); - }); + describe('.getDomain()', function () { + + it('is function', function () { + + var instance = this.applyFn(); + assert.isFunction(instance.getDomain); }); - describe('.getDomain()', function () { + it('returns document.domain', function () { - it('is function', function () { + var instance = this.applyFn(); + assert.strictEqual(instance.getDomain(), document.domain); + }); + }); - var instance = this.applyFn(); - assert.isFunction(instance.getDomain); - }); + describe('.getAbsHref()', function () { - it('returns document.domain', function () { + it('is function', function () { - var instance = this.applyFn(); - assert.strictEqual(instance.getDomain(), document.domain); - }); + var instance = this.applyFn(); + assert.isFunction(instance.getAbsHref); }); - describe('.getAbsHref()', function () { + it('returns null before .setLocation()', function () { - it('is function', function () { - - var instance = this.applyFn(); - assert.isFunction(instance.getAbsHref); - }); - - it('returns null before .setLocation()', function () { - - var instance = this.applyFn(); - assert.isNull(instance.getAbsHref()); - }); + var instance = this.applyFn(); + assert.isNull(instance.getAbsHref()); }); + }); - describe('.getItem()', function () { + describe('.getItem()', function () { - it('is function', function () { + it('is function', function () { - var instance = this.applyFn(); - assert.isFunction(instance.getItem); - }); + var instance = this.applyFn(); + assert.isFunction(instance.getItem); }); + }); - describe('.setLocation()', function () { + describe('.setLocation()', function () { - it('is function', function () { + it('is function', function () { - var instance = this.applyFn(); - assert.isFunction(instance.setLocation); - }); + var instance = this.applyFn(); + assert.isFunction(instance.setLocation); }); + }); - describe('.refresh()', function () { + describe('.refresh()', function () { - it('is function', function () { + it('is function', function () { - var instance = this.applyFn(); - assert.isFunction(instance.refresh); - }); + var instance = this.applyFn(); + assert.isFunction(instance.refresh); }); + }); - describe('.setLink()', function () { + describe('.setLink()', function () { - it('is function', function () { + it('is function', function () { - var instance = this.applyFn(); - assert.isFunction(instance.setLink); - }); + var instance = this.applyFn(); + assert.isFunction(instance.setLink); }); }); }); diff --git a/test/tests/unit/core/notify.js b/test/tests/unit/core/notify.js index 9293cc11..8aa9ece2 100644 --- a/test/tests/unit/core/notify.js +++ b/test/tests/unit/core/notify.js @@ -77,15 +77,15 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.set()', function () { - it('.set() is function', function () { + it('is function', function () { var instance = this.applyFn(); assert.ok(_.isFunction(instance.set)); }); - it('.set() works', function () { + it('works', function () { var instance = this.applyFn(); diff --git a/test/tests/unit/core/resource.js b/test/tests/unit/core/resource.js index 225549b1..c98b373f 100644 --- a/test/tests/unit/core/resource.js +++ b/test/tests/unit/core/resource.js @@ -16,7 +16,7 @@ describe('module "' + ID + '"', function () { b: 'myTheme/b.jpg' } }; - this.xSettings = {appHref: '/some/app/href/'}; + this.xSettings = {appHref: util.uniqPath('/appHref/')}; this.applyFn = function () { return this.definition.fn(_, this.xConfig, this.xSettings); @@ -66,21 +66,15 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.image()', function () { - it('.image() is function', function () { + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.image); }); - it('.icon() is function', function () { - - var instance = this.applyFn(); - assert.isFunction(instance.icon); - }); - - it('.image() works', function () { + it('works', function () { var instance = this.applyFn(); var ui = this.xSettings.appHref + 'client/images/ui/'; @@ -90,8 +84,17 @@ describe('module "' + ID + '"', function () { assert.strictEqual(instance.image(''), ui + '.svg'); assert.strictEqual(instance.image('a'), ui + 'a.svg'); }); + }); - it('.icon() works', function () { + describe('.icon()', function () { + + it('is function', function () { + + var instance = this.applyFn(); + assert.isFunction(instance.icon); + }); + + it('works', function () { var instance = this.applyFn(); var themes = this.xSettings.appHref + 'client/images/themes/'; diff --git a/test/tests/unit/core/server.js b/test/tests/unit/core/server.js index 20a14215..fb31276f 100644 --- a/test/tests/unit/core/server.js +++ b/test/tests/unit/core/server.js @@ -98,21 +98,27 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.backend', function () { - it('.backend is set correct', function () { + it('set correct', function () { var instance = this.applyFn(); assert.strictEqual(instance.backend, this.xConfig.setup.BACKEND); }); + }); - it('.name is set correct', function () { + describe('.name', function () { + + it('set correct', function () { var instance = this.applyFn(); assert.strictEqual(instance.name, this.xConfig.setup.SERVER_NAME); }); + }); - it('.version is set correct', function () { + describe('.version', function () { + + it('set correct', function () { var instance = this.applyFn(); assert.strictEqual(instance.version, this.xConfig.setup.SERVER_VERSION); diff --git a/test/tests/unit/core/settings.js b/test/tests/unit/core/settings.js index 0d77067d..e19262e8 100644 --- a/test/tests/unit/core/settings.js +++ b/test/tests/unit/core/settings.js @@ -73,7 +73,7 @@ describe('module "' + ID + '"', function () { describe('publics', function () { - it('are extended from options', function () { + it('extended from options', function () { var instance = this.applyFn(); assert.strictEqual(instance.someOptions, this.xConfig.options.someOptions); @@ -81,20 +81,29 @@ describe('module "' + ID + '"', function () { assert.strictEqual(instance.more, this.xConfig.options.more); assert.strictEqual(_.keys(instance).length, _.keys(this.xConfig.options).length + 3); }); + }); - it('.appHref is set correct', function () { + describe('.appHref', function () { + + it('set correct', function () { var instance = this.applyFn(); assert.strictEqual(instance.appHref, this.xConfig.setup.APP_HREF); }); + }); - it('.rootHref is set correct', function () { + describe('.rootHref', function () { + + it('set correct', function () { var instance = this.applyFn(); assert.strictEqual(instance.rootHref, this.xConfig.setup.ROOT_HREF); }); + }); - it('.currentHref is set correct', function () { + describe('.currentHref', function () { + + it('set correct', function () { var instance = this.applyFn(); assert.strictEqual(instance.currentHref, this.xConfig.setup.CURRENT_HREF); diff --git a/test/tests/unit/core/store.js b/test/tests/unit/core/store.js index a1803a44..909fda3a 100644 --- a/test/tests/unit/core/store.js +++ b/test/tests/unit/core/store.js @@ -71,27 +71,32 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.put()', function () { - var key1 = 'test1'; - var value1 = '1234'; - var key2 = 'test2'; - var value2 = '5678'; - - it('.put() is function', function () { + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.put); }); + }); - it('.get() is function', function () { + describe('.get()', function () { + + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.get); }); + }); + + describe('works', function () { it('works', function () { + var key1 = 'test1'; + var value1 = '1234'; + var key2 = 'test2'; + var value2 = '5678'; var instance = this.applyFn(); assert.isNull(window.localStorage.getItem(this.storeKey)); diff --git a/test/tests/unit/core/types.js b/test/tests/unit/core/types.js index 1f730eae..5ade5555 100644 --- a/test/tests/unit/core/types.js +++ b/test/tests/unit/core/types.js @@ -64,15 +64,15 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.getType()', function () { - it('.getType() is function', function () { + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.getType); }); - it('.getType() works', function () { + it('works', function () { var instance = this.applyFn(); assert.strictEqual(instance.getType('file.a'), 'a'); diff --git a/test/tests/unit/core/util.js b/test/tests/unit/core/util.js index 376646c3..e5c2178e 100644 --- a/test/tests/unit/core/util.js +++ b/test/tests/unit/core/util.js @@ -59,20 +59,14 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.regularCmpFn()', function () { - it('.regularCmpFn() is function', function () { + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.regularCmpFn); }); - it('.naturalCmpFn() is function', function () { - - var instance = this.applyFn(); - assert.isFunction(instance.naturalCmpFn); - }); - _.each([ [0, 0, 0], [1, 0, 1], @@ -93,6 +87,15 @@ describe('module "' + ID + '"', function () { assert.strictEqual(instance.regularCmpFn(arg1, arg2), exp); }); }); + }); + + describe('.naturalCmpFn()', function () { + + it('is function', function () { + + var instance = this.applyFn(); + assert.isFunction(instance.naturalCmpFn); + }); _.each([ [0, 0, 0], diff --git a/test/tests/unit/model/item.js b/test/tests/unit/model/item.js index 39cee449..d0eac3e2 100644 --- a/test/tests/unit/model/item.js +++ b/test/tests/unit/model/item.js @@ -64,15 +64,18 @@ describe('module "' + ID + '"', function () { }); }); - describe('publics', function () { + describe('.get()', function () { - it('.get() is function', function () { + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.get); }); + }); - it('.remove() is function', function () { + describe('.remove()', function () { + + it('is function', function () { var instance = this.applyFn(); assert.isFunction(instance.remove); diff --git a/test/tests/unit/premisses.js b/test/tests/unit/premisses.js index 40b6c0f9..23dd3243 100644 --- a/test/tests/unit/premisses.js +++ b/test/tests/unit/premisses.js @@ -34,8 +34,6 @@ describe('premisses', function () { assert.isFunction(util.uniqId); - var uid1 = parseInt(util.uniqObj().uniqId.replace(/\D/g, ''), 10); - assert.lengthOfKeys(util.uniqObj(), 1); assert.isTrue(util.isUniqId(util.uniqObj().uniqId)); assert.notEqual(util.uniqObj(), util.uniqObj()); @@ -44,9 +42,17 @@ describe('premisses', function () { assert.notEqual(util.uniqObj().uniqId, util.uniqObj().uniqId); assert.notDeepEqual(util.uniqObj().uniqId, util.uniqObj().uniqId); assert.notStrictEqual(util.uniqObj().uniqId, util.uniqObj().uniqId); + }); - var uid2 = parseInt(util.uniqObj().uniqId.replace(/\D/g, ''), 10); - assert.strictEqual(uid2, uid1 + 15); + it('util.uniqPath() works', function () { + + assert.isFunction(util.uniqPath); + + assert.notEqual(util.uniqPath(), util.uniqPath()); + assert.notDeepEqual(util.uniqPath(), util.uniqPath()); + assert.notStrictEqual(util.uniqPath(), util.uniqPath()); + assert.strictEqual(util.uniqPath('abc').substr(-3), 'abc'); + assert.strictEqual(util.uniqPath('xyz/').substr(-4), 'xyz/'); }); it('assert.isPlainObject() works', function () { diff --git a/test/tests/unit/view/content.js b/test/tests/unit/view/content.js index ae5847b4..d8e7c984 100644 --- a/test/tests/unit/view/content.js +++ b/test/tests/unit/view/content.js @@ -12,7 +12,7 @@ describe('module "' + ID + '"', function () { this.xSettings = util.uniqObj(); this.xResource = { - icon: sinon.stub().returns('/some/path/' + util.uniqId() + '-icon.png') + icon: sinon.stub().returns(util.uniqPath('-icon.png')) }; this.xFormat = { formatSize: sinon.stub().returns(util.uniqId()), diff --git a/test/tests/unit/view/sidebar.js b/test/tests/unit/view/sidebar.js index d7195c8b..511aaa76 100644 --- a/test/tests/unit/view/sidebar.js +++ b/test/tests/unit/view/sidebar.js @@ -13,8 +13,8 @@ describe('module "' + ID + '"', function () { this.xResource = { image: sinon.stub().throws('invalid image request') }; - this.xResource.image.withArgs('back').returns('/some/path/' + util.uniqId() + '-back.png'); - this.xResource.image.withArgs('sidebar').returns('/some/path/' + util.uniqId() + '-sidebar.png'); + this.xResource.image.withArgs('back').returns(util.uniqPath('-back.png')); + this.xResource.image.withArgs('sidebar').returns(util.uniqPath('-sidebar.png')); this.xStore = { get: sinon.stub().returns(false), put: sinon.stub() diff --git a/test/tests/unit/view/viewmode.js b/test/tests/unit/view/viewmode.js index 47119a79..fc8ba1eb 100644 --- a/test/tests/unit/view/viewmode.js +++ b/test/tests/unit/view/viewmode.js @@ -14,7 +14,7 @@ describe('module "' + ID + '"', function () { view: {} }; this.xResource = { - image: sinon.stub().returns('/some/path/' + util.uniqId() + '.png') + image: sinon.stub().returns(util.uniqPath('-image.png')) }; this.xStore = { get: sinon.stub(), diff --git a/test/util/uniq.js b/test/util/uniq.js index 8749a522..c4363733 100644 --- a/test/util/uniq.js +++ b/test/util/uniq.js @@ -1,8 +1,8 @@ (function () { 'use strict'; -var PREFIX = 'UQ'; -var SUFFIX = 'ID'; +var PREFIX = 'UNIQ-'; +var SUFFIX = '-ID'; var LENGTH = 4; var RE = new RegExp('^' + PREFIX + '\\d{' + LENGTH + '}' + SUFFIX + '$'); @@ -14,19 +14,26 @@ function uniqId() { return PREFIX + ('00000000' + counter).substr(-LENGTH) + SUFFIX; } -function uniqObj() { - - return {uniqId: uniqId()}; -} - function isUniqId(uid) { return RE.test(uid); } +function uniqObj() { + + return {uniqId: uniqId()}; +} + +function uniqPath(suffix) { + + return '/some/path/' + uniqId() + (suffix ? suffix : ''); +} + + window.util = window.util || {}; window.util.uniqId = uniqId; -window.util.uniqObj = uniqObj; window.util.isUniqId = isUniqId; +window.util.uniqObj = uniqObj; +window.util.uniqPath = uniqPath; }());