c9-core/node_modules/c9/blocked_test.js

60 wiersze
1.6 KiB
JavaScript
Czysty Zwykły widok Historia

"use strict";
"use server";
var assert = require("assert");
var blocked = require("./blocked");
module.exports = {
"test normal run should return low blocked time": function(next) {
2015-02-18 11:43:43 +00:00
blocked(function(time) {
assert(time < 10);
next();
});
},
"test busy loop should report high blocked time": function(next) {
2015-02-18 11:43:43 +00:00
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);
2015-02-18 11:43:43 +00:00
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) {}
});
2015-02-18 11:43:43 +00:00
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) {}
});
2015-02-18 11:43:43 +00:00
blocked(function(time) {
assert(time >= 100);
next();
});
}
};
!module.parent && require("asyncjs").test.testcase(module.exports).exec();