Files
atom/spec/async-spec-helpers.coffee
Nathan Sobo e9dfc080a3 Convert text-editor-component-spec to Babel for async/await
It's much easier to reason about async/await than Jasmine's
built-in queuing system, and using them made it easier to
debug flaky async tests.
2015-11-09 00:35:32 -07:00

29 lines
672 B
CoffeeScript

exports.beforeEach = (fn) ->
global.beforeEach ->
result = fn()
if result instanceof Promise
waitsForPromise(-> result)
exports.afterEach = (fn) ->
global.afterEach ->
result = fn()
if result instanceof Promise
waitsForPromise(-> result)
['it', 'fit', 'ffit', 'fffit'].forEach (name) ->
exports[name] = (description, fn) ->
global[name] description, ->
result = fn()
if result instanceof Promise
waitsForPromise(-> result)
waitsForPromise = (fn) ->
promise = fn()
waitsFor 10000, (done) ->
promise.then(
done,
(error) ->
jasmine.getEnv().currentSpec.fail(error)
done()
)