nodejs/test/parallel/test-next-tick-ordering.js

36 lines
658 B
JavaScript
Raw Normal View History

'use strict';
require('../common');
var assert = require('assert');
var i;
2011-02-07 21:15:58 -08:00
var N = 30;
var done = [];
function get_printer(timeout) {
2010-12-03 04:03:18 +03:00
return function() {
console.log('Running from setTimeout ' + timeout);
done.push(timeout);
};
}
2010-12-03 04:03:18 +03:00
process.nextTick(function() {
console.log('Running from nextTick');
done.push('nextTick');
2010-12-03 04:03:18 +03: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.');
process.on('exit', function() {
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
for (i = 0; i < N; i += 1) {
2010-12-03 04:03:18 +03:00
assert.equal(i, done[i + 1]);
}
2011-02-07 21:15:58 -08:00
*/
});