![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.quebec/private_html/node_modules/nprogress/test/ |
(function() {
if (typeof process === 'object') {
require('mocha-jsdom')();
}
var root = this;
var assert = (root.chai || require('chai')).assert;
describe('NProgress', function() {
var $, NProgress;
beforeEach(function() {
$ = root.jQuery || require('jquery');
NProgress = root.NProgress || require('../nprogress');
this.settings = $.extend({}, NProgress.settings);
});
afterEach(function() {
$("#nprogress").remove();
$('html').attr('class', '');
NProgress.status = null;
// Restore settings
$.extend(NProgress.settings, this.settings);
});
describe('.set()', function() {
it('.set(0) must render', function(done) {
NProgress.set(0);
assert.equal($("#nprogress").length, 1);
assert.equal($("#nprogress .bar").length, 1);
assert.equal($("#nprogress .peg").length, 1);
assert.equal($("#nprogress .spinner").length, 1);
done();
});
it('.set(1) should appear and disappear', function(done) {
NProgress.configure({ speed: 10 });
NProgress.set(0).set(1);
assert.equal($("#nprogress").length, 1);
setTimeout(function() {
assert.equal($("#nprogress").length, 0);
done();
}, 70);
});
it('must respect minimum', function() {
NProgress.set(0);
assert.equal(NProgress.status, NProgress.settings.minimum);
});
it('must clamp to minimum', function() {
NProgress.set(-100);
assert.equal(NProgress.status, NProgress.settings.minimum);
});
it('must clamp to maximum', function() {
NProgress.set(456);
assert.equal(NProgress.status, null);
});
});
// ----
describe('.start()', function() {
it('must render', function(done) {
NProgress.start();
assert.equal($("#nprogress").length, 1);
done();
});
it('must respect minimum', function() {
NProgress.start();
assert.equal(NProgress.status, NProgress.settings.minimum);
});
it('must be attached to specified parent', function() {
var test = $('<div>', {id: 'test'}).appendTo('body');
NProgress.configure({parent: '#test'});
NProgress.start();
assert.isTrue($("#nprogress").parent().is(test));
assert.isTrue($(NProgress.settings.parent).hasClass("nprogress-custom-parent"));
});
});
// ----
describe('.done()', function() {
it('must not render without start', function(done) {
NProgress.done();
assert.equal($("#nprogress").length, 0);
done();
});
it('.done(true) must render', function(done) {
NProgress.done(true);
assert.equal($("#nprogress").length, 1);
done();
});
});
// ----
describe('.remove()', function() {
it('should be removed from the parent', function() {
NProgress.set(1);
NProgress.remove();
var parent = $(NProgress.settings.parent);
assert.isFalse(parent.hasClass('nprogress-custom-parent'));
assert.equal(parent.find('#nprogress').length, 0);
});
});
// ----
describe('.inc()', function() {
it('should render', function() {
NProgress.inc();
assert.equal($("#nprogress").length, 1);
});
it('should start with minimum', function() {
NProgress.inc();
assert.equal(NProgress.status, NProgress.settings.minimum);
});
it('should increment', function() {
NProgress.start();
var start = NProgress.status;
NProgress.inc();
assert.operator(NProgress.status, '>', start);
});
it('should never reach 1.0', function() {
for (var i=0; i<100; ++i) { NProgress.inc(); }
assert.operator(NProgress.status, '<', 1.0);
});
});
// -----
describe('.configure()', function() {
it('should work', function() {
NProgress.configure({ minimum: 0.5 });
assert.equal(NProgress.settings.minimum, 0.5);
});
});
// ----
describe('.configure(showSpinner)', function() {
it('should render spinner by default', function() {
NProgress.start();
assert.equal($("#nprogress .spinner").length, 1);
});
it('should be true by default', function() {
assert.equal(NProgress.settings.showSpinner, true);
});
it('should hide (on false)', function() {
NProgress.configure({ showSpinner: false });
NProgress.start();
assert.equal($("#nprogress .spinner").length, 0);
});
});
});
})();