From 84390c63d20549270bc7bb713ac6c65a7bb82feb Mon Sep 17 00:00:00 2001 From: Tira Odhner Date: Mon, 20 Mar 2017 14:17:52 -0400 Subject: [PATCH 2/3] write a test for hideSpinner --- web/karma.conf.js | 1 + web/pgadmin/static/js/hide_spinner.js | 2 +- web/regression/javascript/hide_spinner_spec.js | 35 ++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 web/regression/javascript/hide_spinner_spec.js diff --git a/web/karma.conf.js b/web/karma.conf.js index 3e110463..9f6f2634 100644 --- a/web/karma.conf.js +++ b/web/karma.conf.js @@ -18,6 +18,7 @@ module.exports = function(config) { {pattern: 'regression/javascript/**/*.js', included: false}, {pattern: 'pgadmin/static/vendor/**/*.js', included: false}, {pattern: 'pgadmin/static/js/**/*.js', included: false}, + {pattern: 'pgadmin/static/js/hide_spinner.js', included: true}, 'regression/javascript/test-main.js' ], diff --git a/web/pgadmin/static/js/hide_spinner.js b/web/pgadmin/static/js/hide_spinner.js index e30cf23f..8ffb0d9b 100644 --- a/web/pgadmin/static/js/hide_spinner.js +++ b/web/pgadmin/static/js/hide_spinner.js @@ -41,7 +41,7 @@ window.hideRequireJsLoadingSpinner = function (context, map, depMaps) { if (inited) { // will fire if module loads in 400ms. TODO: reset this timer // for slow module loading - require.onResourceLoad(false); + hideRequireJsLoadingSpinner(false); } }, 400) } diff --git a/web/regression/javascript/hide_spinner_spec.js b/web/regression/javascript/hide_spinner_spec.js new file mode 100644 index 00000000..388bd9c5 --- /dev/null +++ b/web/regression/javascript/hide_spinner_spec.js @@ -0,0 +1,35 @@ +define(['jquery'], function ($) { + describe('hideSpinner', function () { + var spinnerPanel; + + beforeEach(function () { + spinnerPanel = $('
')[0]; + + document.body.appendChild(spinnerPanel) + }); + + afterEach(function () { + if ($('#pg-spinner').length != 0) { + document.body.removeChild(spinnerPanel); + } + }); + + describe('when all modules in the registry are done loading', function () { + beforeEach(function () { + jasmine.clock().install() + }); + + afterEach(function () { + jasmine.clock().uninstall(); + }); + + it('hides the spinner', function () { + expect($('#pg-spinner').length).toBe(1); + hideRequireJsLoadingSpinner(); + jasmine.clock().tick(901); + + expect($('#pg-spinner').length).toBe(0); + }); + }) + }); +}); -- 2.12.0