next-tick.spec.js 863 B

12345678910111213141516171819202122232425262728293031323334
  1. import { nextTick } from 'core/util/next-tick'
  2. describe('nextTick', () => {
  3. it('accepts a callback', done => {
  4. nextTick(done)
  5. })
  6. it('returns undefined when passed a callback', () => {
  7. expect(nextTick(() => {})).toBeUndefined()
  8. })
  9. if (typeof Promise !== 'undefined') {
  10. it('returns a Promise when provided no callback', done => {
  11. nextTick().then(done)
  12. })
  13. it('returns a Promise with a context argument when provided a falsy callback and an object', done => {
  14. const obj = {}
  15. nextTick(undefined, obj).then(ctx => {
  16. expect(ctx).toBe(obj)
  17. done()
  18. })
  19. })
  20. it('returned Promise should resolve correctly vs callback', done => {
  21. const spy = jasmine.createSpy()
  22. nextTick(spy)
  23. nextTick().then(() => {
  24. expect(spy).toHaveBeenCalled()
  25. done()
  26. })
  27. })
  28. }
  29. })