add setTimeout to Queue so reporters get periodic updates
This commit is contained in:
21
src/Queue.js
21
src/Queue.js
@@ -1,4 +1,5 @@
|
||||
jasmine.Queue = function() {
|
||||
jasmine.Queue = function(env) {
|
||||
this.env = env;
|
||||
this.blocks = [];
|
||||
this.running = false;
|
||||
this.index = 0;
|
||||
@@ -37,13 +38,17 @@ jasmine.Queue.prototype.isRunning = function () {
|
||||
|
||||
jasmine.Queue.prototype._next = function () {
|
||||
var self = this;
|
||||
self.offset = 0;
|
||||
self.index++;
|
||||
if (self.index < self.blocks.length) {
|
||||
self.blocks[self.index].execute(function () {self._next();});
|
||||
} else {
|
||||
self.finish();
|
||||
}
|
||||
self.env.setTimeout(function () {
|
||||
self.offset = 0;
|
||||
self.index++;
|
||||
if (self.index < self.blocks.length) {
|
||||
self.blocks[self.index].execute(function () {
|
||||
self._next();
|
||||
});
|
||||
} else {
|
||||
self.finish();
|
||||
}
|
||||
}, 0);
|
||||
};
|
||||
|
||||
jasmine.Queue.prototype.finish = function () {
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
jasmine.Runner = function(env) {
|
||||
var self = this;
|
||||
self.env = env;
|
||||
self.queue = new jasmine.Queue();
|
||||
self.queue = new jasmine.Queue(env);
|
||||
};
|
||||
|
||||
jasmine.Runner.prototype.execute = function() {
|
||||
|
||||
@@ -12,7 +12,7 @@ jasmine.Spec = function(env, suite, description) {
|
||||
spec.env = env;
|
||||
spec.suite = suite;
|
||||
spec.description = description;
|
||||
spec.queue = new jasmine.Queue();
|
||||
spec.queue = new jasmine.Queue(env);
|
||||
|
||||
spec.finished = false;
|
||||
spec.afterCallbacks = [];
|
||||
|
||||
@@ -11,7 +11,7 @@ jasmine.Suite = function(env, description, specDefinitions, parentSuite) {
|
||||
var self = this;
|
||||
self.id = env.nextSuiteId_++;
|
||||
self.description = description;
|
||||
self.queue = new jasmine.Queue();
|
||||
self.queue = new jasmine.Queue(env);
|
||||
self.parentSuite = parentSuite;
|
||||
self.env = env;
|
||||
self.beforeQueue = [];
|
||||
|
||||
Reference in New Issue
Block a user