Return a promise from Env#execute in environments that support promises

[#178373231]
This commit is contained in:
Steve Gravrock
2021-08-07 13:05:55 -07:00
parent dcaac62a6c
commit e72d161fab
5 changed files with 297 additions and 110 deletions

View File

@@ -465,4 +465,25 @@ describe('Env', function() {
done();
});
});
describe('#execute', function() {
it('returns a promise when the environment supports promises', function() {
jasmine.getEnv().requirePromises();
expect(env.execute()).toBeInstanceOf(Promise);
});
it('returns a promise when a custom promise constructor is provided', function() {
function CustomPromise() {}
CustomPromise.resolve = function() {};
CustomPromise.reject = function() {};
env.configure({ Promise: CustomPromise });
expect(env.execute()).toBeInstanceOf(CustomPromise);
});
it('returns undefined when promises are unavailable', function() {
jasmine.getEnv().requireNoPromises();
expect(env.execute()).toBeUndefined();
});
});
});