From ff71c4ecc551f754d39a08b500d33b2f3f8968e9 Mon Sep 17 00:00:00 2001 From: Callum Macrae Date: Thu, 16 Jul 2015 17:58:57 +0100 Subject: [PATCH 1/2] Added minDelay --- src/js/helpers/delay.js | 11 +++++++++++ src/js/monkey.js | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 src/js/helpers/delay.js diff --git a/src/js/helpers/delay.js b/src/js/helpers/delay.js new file mode 100644 index 0000000..c844bae --- /dev/null +++ b/src/js/helpers/delay.js @@ -0,0 +1,11 @@ +var $ = require('jquery'); + +module.exports = function (time) { + var deferred = $.Deferred(); + + setTimeout(function () { + deferred.resolve(); + }, time); + + return deferred.promise(); +}; diff --git a/src/js/monkey.js b/src/js/monkey.js index 0f7df55..d109f71 100644 --- a/src/js/monkey.js +++ b/src/js/monkey.js @@ -16,6 +16,7 @@ window.Monkey = module.exports = (function () { icons: $monkeyContainer.data('icons'), // Display character icons under letters? true, false monkeyType: 'auto', // auto, desktop, mobile animateName: true, + minDelay: 0, server: 'https://secure.lostmy.name/widgets/actuallymonkey.json?callback=?', @@ -33,7 +34,7 @@ window.Monkey = module.exports = (function () { this.$events = $({}); - var promise = Monkey._getData(options) + var promise = $.when(Monkey._getData(options), Monkey.helpers.delay(options.minDelay)) .then(Monkey._calculateMonkey(options.monkeyType)) .then(Monkey._generateUrls(options.preload)) .then(Monkey._generateHtml(options.lang)) @@ -75,6 +76,7 @@ window.Monkey = module.exports = (function () { Monkey.helpers = {}; Monkey.helpers.Monkey = Monkey; + Monkey.helpers.delay = require('./helpers/delay'); Monkey.helpers.handleReplace = require('./helpers/handleReplace'); Monkey.helpers.isMobile = require('./helpers/isMobile'); Monkey.helpers.preload = require('./helpers/preload'); From c4ba40c5df276d026d1cd5529b8611b0d97c3f5a Mon Sep 17 00:00:00 2001 From: Callum Macrae Date: Thu, 16 Jul 2015 18:05:18 +0100 Subject: [PATCH 2/2] added test for delay helper --- test/helpers.spec.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/helpers.spec.js b/test/helpers.spec.js index 0af5ca1..2c39e33 100644 --- a/test/helpers.spec.js +++ b/test/helpers.spec.js @@ -61,4 +61,13 @@ describe('Monkey helpers', function () { cb(); }); }); + + it('should have a delay helper', function () { + var time = Date.now(); + + return helpers.delay(40) + .then(function () { + (Date.now() - time).should.be.within(39, 45); + }); + }); });