HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/node_modules/kew/test/later.js
var Q = require('../kew')

function synchronous (callback) {
  callback()
}

var asynchronous = Q.getNextTickFunction()

exports.testAsynchronousSynchronous = function (test) {
  Q.setNextTickFunction(synchronous)

  var number = 5

  Q.resolve(true).then(function () {
    number = 6
  })
  test.equals(number, 6, 'Q should resolve synchronously')

  Q.setNextTickFunction(asynchronous)

  Q.resolve(true).then(function () {
    number = 7
  })
  test.equals(number, 6, 'Q should resolve asynchronously')
  test.done()
}

exports.testSetImmediate = function (test) {
  if (typeof setImmediate == 'undefined') {
    test.done()
    return
  }

  Q.setNextTickFunction(setImmediate)

  var number = 5
  Q.resolve(true).then(function () {
    number = 6
  })
  test.equals(number, 5, 'Q should resolve asynchronously')
  setImmediate(function () {
    test.equals(number, 6, 'Q should schedule _successFn synchronously')
    test.done()
  })
}