c9-core/node_modules/c9/blocked_test.js

60 wiersze
1.6 KiB
JavaScript

"use strict";
"use server";
var assert = require("assert");
var blocked = require("./blocked");
module.exports = {
"test normal run should return low blocked time": function(next) {
blocked(function(time) {
assert(time < 10);
next();
});
},
"test busy loop should report high blocked time": function(next) {
blocked(function(time) {
assert(time >= 100);
next();
});
var start = Date.now();
while (Date.now() - start < 100) {}
},
"test busy loop in setTimeout should report high blocked time": function(next) {
setTimeout(function() {
var start = Date.now();
while (Date.now() - start < 100) {}
}, 0);
blocked(function(time) {
assert(time >= 100);
next();
});
},
"test busy loop in setInterval should report high blocked time": function(next) {
var interval = setInterval(function() {
clearInterval(interval);
var start = Date.now();
while (Date.now() - start < 100) {}
});
blocked(function(time) {
assert(time >= 100);
next();
});
},
"test busy loop in setImmediate should report high blocked time": function(next) {
setImmediate(function() {
var start = Date.now();
while (Date.now() - start < 100) {}
});
blocked(function(time) {
assert(time >= 100);
next();
});
}
};
!module.parent && require("asyncjs").test.testcase(module.exports).exec();