2015-05-19 13:00:06 +02:00
|
|
|
'use strict';
|
2015-12-23 16:02:12 -08:00
|
|
|
require('../common');
|
2010-12-05 22:15:30 +03:00
|
|
|
var assert = require('assert');
|
2010-10-12 08:04:09 +11:00
|
|
|
var i;
|
2010-04-13 15:39:15 -07:00
|
|
|
|
2011-02-07 21:15:58 -08:00
|
|
|
var N = 30;
|
2010-04-13 15:39:15 -07:00
|
|
|
var done = [];
|
|
|
|
|
|
|
|
function get_printer(timeout) {
|
2010-12-03 04:03:18 +03:00
|
|
|
return function() {
|
|
|
|
console.log('Running from setTimeout ' + timeout);
|
2010-04-13 15:39:15 -07:00
|
|
|
done.push(timeout);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2010-12-03 04:03:18 +03:00
|
|
|
process.nextTick(function() {
|
|
|
|
console.log('Running from nextTick');
|
2010-04-13 15:39:15 -07:00
|
|
|
done.push('nextTick');
|
2010-12-03 04:03:18 +03:00
|
|
|
});
|
2010-04-13 15:39:15 -07:00
|
|
|
|
|
|
|
for (i = 0; i < N; i += 1) {
|
|
|
|
setTimeout(get_printer(i), i);
|
|
|
|
}
|
|
|
|
|
2010-12-03 04:03:18 +03:00
|
|
|
console.log('Running from main.');
|
2010-04-13 15:39:15 -07:00
|
|
|
|
|
|
|
|
2011-10-15 01:08:36 +02:00
|
|
|
process.on('exit', function() {
|
2010-04-13 15:39:15 -07:00
|
|
|
assert.equal('nextTick', done[0]);
|
2011-02-07 21:15:58 -08:00
|
|
|
/* Disabling this test. I don't think we can ensure the order
|
2010-04-13 15:39:15 -07:00
|
|
|
for (i = 0; i < N; i += 1) {
|
2010-12-03 04:03:18 +03:00
|
|
|
assert.equal(i, done[i + 1]);
|
2010-04-13 15:39:15 -07:00
|
|
|
}
|
2011-02-07 21:15:58 -08:00
|
|
|
*/
|
2010-04-13 15:39:15 -07:00
|
|
|
});
|