| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 | 
							- (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);
 
-       });
 
-     });
 
-   });
 
- })();
 
 
  |