-
Notifications
You must be signed in to change notification settings - Fork 54
/
logTest.sub.js
41 lines (40 loc) · 1.31 KB
/
logTest.sub.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// note, this template substitution is XSS, but no way to avoid it in this framework
var expected_logs = {{GET[logs]}};
var timeout = "{{GET[timeout]}}";
if (timeout == "") {
timeout = 2;
}
if (expected_logs.length == 0) {
function log_assert(msg) {
test(function () { assert_unreached(msg) });
}
} else {
var t_log = async_test('Expecting logs: {{GET[logs]}}');
step_timeout(function() {
if(t_log.phase != t_log.phases.COMPLETE){
t_log.step(function () { assert_unreached('Logging timeout, expected logs ' + expected_logs + ' not sent.') });
t_log.done();
}
}, timeout * 1000);
function log(msg) {
//cons/**/ole.log(msg);
t_log.step(function () {
if (msg.match(/^FAIL/i)) {
assert_unreached(msg);
t_log.done();
}
for (var i = 0; i < expected_logs.length; i++) {
if (expected_logs[i] == msg) {
assert_true(expected_logs[i] == msg);
expected_logs.splice(i, 1);
if (expected_logs.length == 0) {
t_log.done();
}
return;
}
}
assert_unreached('unexpected log: ' + msg);
t_log.done();
});
}
}