@samitouri / QOS-React-2 / commits / 646421f71f

batch logs until the end unless ran with --debug

Thomas Aylott committed Nov 15, 2013 at 16:27 UTC 646421f71fd471d5d52c8180943481292e5f20a9
1 file changed +19 -9
test/lib/reportTestResults.browser.js
+19 -9
@@ -1,34 +1,44 @@
1 +var __DEBUG__ = location.search.substring(1).indexOf('debug') != -1;
2 +
3 if (typeof console == 'undefined') console = {
4 log: function(){},
5 warn: function(){},
6 error: function(){}
7 };
8
9 +var __consoleReport__ = [];
10 +
11 console._log = console.log;
12 console.log = function(message){
13 console._log(message);
10 - postDataToURL({type:'log', message:message}, '/reportTestResults');
14 + if (__DEBUG__) postDataToURL({type:'log', message:message}, '/reportTestResults');
15 + else __consoleReport__.push({type:'log', message:message});
16 }
17 +
18 console._error = console.error;
19 console.error = function(message){
20 console._error(message);
15 - postDataToURL({type:'error', message:message}, '/reportTestResults');
21 + if (__DEBUG__) postDataToURL({type:'error', message:message}, '/reportTestResults');
22 + else __consoleReport__.push({type:'error', message:message});
23 +}
24 +
25 +console._flush = function(){
26 + postDataToURL(__consoleReport__, '/console');
27 + __consoleReport__.length = 0;
28 }
29
30 ;(function(env){
31 env.addReporter(new jasmine.JSReporter());
20 - if (location.search.substring(1).indexOf('debug') != -1){
21 - env.addReporter(new TAPReporter(console.log.bind(console)));
22 - }
32 + env.addReporter(new TAPReporter(console.log.bind(console)));
33
34 function report(){
35 if (typeof jasmine.getJSReport != 'function') {
26 - console.log("typeof jasmine.getJSReport != 'function'");
36 return setTimeout(report, 100);
37 }
29 - postDataToURL(jasmine.getJSReport(), '/reportTestResults', function(error, results){
30 - if (error) return console.error(error);
31 - });
38 + if (!__DEBUG__) {
39 + console.log('DONE\t' + navigator.userAgent);
40 + console._flush();
41 + }
42 }
43
44 var oldCallback = env.currentRunner().finishCallback;