Convreted TreeProcessor to async/await
This commit is contained in:
@@ -8518,10 +8518,8 @@ getJasmineRequireObj().Runner = function(j$) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.currentlyExecutingSuites_.push(this.topSuite_);
|
this.currentlyExecutingSuites_.push(this.topSuite_);
|
||||||
|
await processor.execute();
|
||||||
|
|
||||||
return new Promise(resolve => {
|
|
||||||
processor.execute(() => {
|
|
||||||
(async () => {
|
|
||||||
if (this.topSuite_.hadBeforeAllFailure) {
|
if (this.topSuite_.hadBeforeAllFailure) {
|
||||||
await this.reportChildrenOfBeforeAllFailure_(this.topSuite_);
|
await this.reportChildrenOfBeforeAllFailure_(this.topSuite_);
|
||||||
}
|
}
|
||||||
@@ -8566,10 +8564,7 @@ getJasmineRequireObj().Runner = function(j$) {
|
|||||||
};
|
};
|
||||||
this.topSuite_.reportedDone = true;
|
this.topSuite_.reportedDone = true;
|
||||||
await this.reporter_.jasmineDone(jasmineDoneInfo);
|
await this.reporter_.jasmineDone(jasmineDoneInfo);
|
||||||
resolve(jasmineDoneInfo);
|
return jasmineDoneInfo;
|
||||||
})();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
reportSuiteDone_(suite, result, next) {
|
reportSuiteDone_(suite, result, next) {
|
||||||
@@ -10190,7 +10185,7 @@ getJasmineRequireObj().TreeProcessor = function() {
|
|||||||
return stats;
|
return stats;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.execute = function(done) {
|
this.execute = async function() {
|
||||||
if (!processed) {
|
if (!processed) {
|
||||||
this.processTree();
|
this.processTree();
|
||||||
}
|
}
|
||||||
@@ -10201,17 +10196,19 @@ getJasmineRequireObj().TreeProcessor = function() {
|
|||||||
|
|
||||||
const childFns = wrapChildren(tree, 0);
|
const childFns = wrapChildren(tree, 0);
|
||||||
|
|
||||||
|
await new Promise(function(resolve) {
|
||||||
queueRunnerFactory({
|
queueRunnerFactory({
|
||||||
queueableFns: childFns,
|
queueableFns: childFns,
|
||||||
userContext: tree.sharedUserContext(),
|
userContext: tree.sharedUserContext(),
|
||||||
onException: function() {
|
onException: function() {
|
||||||
tree.handleException.apply(tree, arguments);
|
tree.handleException.apply(tree, arguments);
|
||||||
},
|
},
|
||||||
onComplete: done,
|
onComplete: resolve,
|
||||||
onMultipleDone: tree.onMultipleDone
|
onMultipleDone: tree.onMultipleDone
|
||||||
? tree.onMultipleDone.bind(tree)
|
? tree.onMultipleDone.bind(tree)
|
||||||
: null
|
: null
|
||||||
});
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
function runnableIndex(id) {
|
function runnableIndex(id) {
|
||||||
|
|||||||
@@ -274,7 +274,7 @@ describe('TreeProcessor', function() {
|
|||||||
expect(result.valid).toBe(true);
|
expect(result.valid).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('runs a single leaf', function() {
|
it('runs a single leaf', async function() {
|
||||||
const leaf = new Leaf(),
|
const leaf = new Leaf(),
|
||||||
node = new Node({ children: [leaf], userContext: { root: 'context' } }),
|
node = new Node({ children: [leaf], userContext: { root: 'context' } }),
|
||||||
queueRunner = jasmine.createSpy('queueRunner'),
|
queueRunner = jasmine.createSpy('queueRunner'),
|
||||||
@@ -282,25 +282,27 @@ describe('TreeProcessor', function() {
|
|||||||
tree: node,
|
tree: node,
|
||||||
runnableIds: [leaf.id],
|
runnableIds: [leaf.id],
|
||||||
queueRunnerFactory: queueRunner
|
queueRunnerFactory: queueRunner
|
||||||
}),
|
});
|
||||||
treeComplete = jasmine.createSpy('treeComplete');
|
|
||||||
|
|
||||||
processor.execute(treeComplete);
|
const promise = processor.execute();
|
||||||
|
|
||||||
expect(queueRunner).toHaveBeenCalledWith({
|
expect(queueRunner).toHaveBeenCalledWith({
|
||||||
onComplete: treeComplete,
|
onComplete: jasmine.any(Function),
|
||||||
onException: jasmine.any(Function),
|
onException: jasmine.any(Function),
|
||||||
userContext: { root: 'context' },
|
userContext: { root: 'context' },
|
||||||
queueableFns: [{ fn: jasmine.any(Function) }],
|
queueableFns: [{ fn: jasmine.any(Function) }],
|
||||||
onMultipleDone: null
|
onMultipleDone: null
|
||||||
});
|
});
|
||||||
|
|
||||||
queueRunner.calls.mostRecent().args[0].queueableFns[0].fn('foo');
|
const queueRunnerArgs = queueRunner.calls.mostRecent().args[0];
|
||||||
|
queueRunnerArgs.queueableFns[0].fn('foo');
|
||||||
expect(leaf.execute).toHaveBeenCalledWith(queueRunner, 'foo', false, false);
|
expect(leaf.execute).toHaveBeenCalledWith(queueRunner, 'foo', false, false);
|
||||||
|
|
||||||
|
queueRunnerArgs.onComplete();
|
||||||
|
await expectAsync(promise).toBeResolvedTo(undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('runs a node with no children', function() {
|
it('runs a node with no children', async function() {
|
||||||
const node = new Node({ userContext: { node: 'context' } }),
|
const node = new Node({ userContext: { node: 'context' } }),
|
||||||
root = new Node({ children: [node], userContext: { root: 'context' } }),
|
root = new Node({ children: [node], userContext: { root: 'context' } }),
|
||||||
nodeStart = jasmine.createSpy('nodeStart'),
|
nodeStart = jasmine.createSpy('nodeStart'),
|
||||||
@@ -313,21 +315,20 @@ describe('TreeProcessor', function() {
|
|||||||
nodeComplete: nodeComplete,
|
nodeComplete: nodeComplete,
|
||||||
queueRunnerFactory: queueRunner
|
queueRunnerFactory: queueRunner
|
||||||
}),
|
}),
|
||||||
treeComplete = jasmine.createSpy('treeComplete'),
|
|
||||||
nodeDone = jasmine.createSpy('nodeDone');
|
nodeDone = jasmine.createSpy('nodeDone');
|
||||||
|
|
||||||
processor.execute(treeComplete);
|
const promise = processor.execute();
|
||||||
|
|
||||||
expect(queueRunner).toHaveBeenCalledWith({
|
expect(queueRunner).toHaveBeenCalledWith({
|
||||||
onComplete: treeComplete,
|
onComplete: jasmine.any(Function),
|
||||||
onException: jasmine.any(Function),
|
onException: jasmine.any(Function),
|
||||||
userContext: { root: 'context' },
|
userContext: { root: 'context' },
|
||||||
queueableFns: [{ fn: jasmine.any(Function) }],
|
queueableFns: [{ fn: jasmine.any(Function) }],
|
||||||
onMultipleDone: null
|
onMultipleDone: null
|
||||||
});
|
});
|
||||||
|
|
||||||
queueRunner.calls.mostRecent().args[0].queueableFns[0].fn(nodeDone);
|
const queueRunnerArgs = queueRunner.calls.mostRecent().args[0];
|
||||||
|
queueRunnerArgs.queueableFns[0].fn(nodeDone);
|
||||||
expect(queueRunner).toHaveBeenCalledWith({
|
expect(queueRunner).toHaveBeenCalledWith({
|
||||||
onComplete: jasmine.any(Function),
|
onComplete: jasmine.any(Function),
|
||||||
onMultipleDone: null,
|
onMultipleDone: null,
|
||||||
@@ -348,6 +349,9 @@ describe('TreeProcessor', function() {
|
|||||||
{ my: 'result' },
|
{ my: 'result' },
|
||||||
jasmine.any(Function)
|
jasmine.any(Function)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
queueRunnerArgs.onComplete();
|
||||||
|
await expectAsync(promise).toBeResolvedTo(undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('runs a node with children', function() {
|
it('runs a node with children', function() {
|
||||||
|
|||||||
@@ -136,10 +136,8 @@ getJasmineRequireObj().Runner = function(j$) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.currentlyExecutingSuites_.push(this.topSuite_);
|
this.currentlyExecutingSuites_.push(this.topSuite_);
|
||||||
|
await processor.execute();
|
||||||
|
|
||||||
return new Promise(resolve => {
|
|
||||||
processor.execute(() => {
|
|
||||||
(async () => {
|
|
||||||
if (this.topSuite_.hadBeforeAllFailure) {
|
if (this.topSuite_.hadBeforeAllFailure) {
|
||||||
await this.reportChildrenOfBeforeAllFailure_(this.topSuite_);
|
await this.reportChildrenOfBeforeAllFailure_(this.topSuite_);
|
||||||
}
|
}
|
||||||
@@ -184,10 +182,7 @@ getJasmineRequireObj().Runner = function(j$) {
|
|||||||
};
|
};
|
||||||
this.topSuite_.reportedDone = true;
|
this.topSuite_.reportedDone = true;
|
||||||
await this.reporter_.jasmineDone(jasmineDoneInfo);
|
await this.reporter_.jasmineDone(jasmineDoneInfo);
|
||||||
resolve(jasmineDoneInfo);
|
return jasmineDoneInfo;
|
||||||
})();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
reportSuiteDone_(suite, result, next) {
|
reportSuiteDone_(suite, result, next) {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ getJasmineRequireObj().TreeProcessor = function() {
|
|||||||
return stats;
|
return stats;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.execute = function(done) {
|
this.execute = async function() {
|
||||||
if (!processed) {
|
if (!processed) {
|
||||||
this.processTree();
|
this.processTree();
|
||||||
}
|
}
|
||||||
@@ -38,17 +38,19 @@ getJasmineRequireObj().TreeProcessor = function() {
|
|||||||
|
|
||||||
const childFns = wrapChildren(tree, 0);
|
const childFns = wrapChildren(tree, 0);
|
||||||
|
|
||||||
|
await new Promise(function(resolve) {
|
||||||
queueRunnerFactory({
|
queueRunnerFactory({
|
||||||
queueableFns: childFns,
|
queueableFns: childFns,
|
||||||
userContext: tree.sharedUserContext(),
|
userContext: tree.sharedUserContext(),
|
||||||
onException: function() {
|
onException: function() {
|
||||||
tree.handleException.apply(tree, arguments);
|
tree.handleException.apply(tree, arguments);
|
||||||
},
|
},
|
||||||
onComplete: done,
|
onComplete: resolve,
|
||||||
onMultipleDone: tree.onMultipleDone
|
onMultipleDone: tree.onMultipleDone
|
||||||
? tree.onMultipleDone.bind(tree)
|
? tree.onMultipleDone.bind(tree)
|
||||||
: null
|
: null
|
||||||
});
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
function runnableIndex(id) {
|
function runnableIndex(id) {
|
||||||
|
|||||||
Reference in New Issue
Block a user