guard-jasmine 1.16.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/guard/jasmine.rb +2 -1
- data/lib/guard/jasmine/cli.rb +2 -0
- data/lib/guard/jasmine/phantomjs/guard-jasmine.coffee +59 -42
- data/lib/guard/jasmine/phantomjs/guard-jasmine.js +73 -52
- data/lib/guard/jasmine/phantomjs/lib/console.js +9 -1
- data/lib/guard/jasmine/phantomjs/lib/reporter.js +5 -1
- data/lib/guard/jasmine/phantomjs/lib/result.js +11 -4
- data/lib/guard/jasmine/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60fc1ca74efcf8df719d1d9943044e0ad59d51a3
|
4
|
+
data.tar.gz: 24ef532486b920209d34741b4c7bce58b5ef8c53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d62f8ea0aed0bbd2e856c1c7a9cf50fb43b9d8f9a92ca7a936a74136b7011c72b185955ccda13e07f9eadc4939c6eef02cda1278d71b6128dafa916116f725d5
|
7
|
+
data.tar.gz: b5466cd09a10167866e6fa4c9ee439cb7afee8c420799b7747e182003b64faab1c910af3ba8e8165bfe06cf4213364ce64b616794088c3374ed9d5352c8fa059
|
data/README.md
CHANGED
@@ -643,9 +643,9 @@ Options:
|
|
643
643
|
# Default: spec/javascripts
|
644
644
|
-u, [--url=URL] # The url of the Jasmine test runner_options
|
645
645
|
# Default: nil
|
646
|
-
-t, [--timeout=N] # The maximum time in
|
646
|
+
-t, [--timeout=N] # The maximum time in seconds to wait for the spec
|
647
647
|
# runner to finish
|
648
|
-
# Default:
|
648
|
+
# Default: 10
|
649
649
|
[--console=CONSOLE] # Whether to show console.log statements in the spec runner,
|
650
650
|
# either `always`, `never` or `failure`
|
651
651
|
# Default: failure
|
data/lib/guard/jasmine.rb
CHANGED
@@ -25,6 +25,7 @@ module Guard
|
|
25
25
|
server: :auto,
|
26
26
|
server_env: ENV['RAILS_ENV'] || 'development',
|
27
27
|
server_timeout: 60,
|
28
|
+
server_mount: '/jasmine',
|
28
29
|
port: nil,
|
29
30
|
rackup_config: nil,
|
30
31
|
jasmine_url: nil,
|
@@ -91,7 +92,7 @@ module Guard
|
|
91
92
|
options[:port] ||= Jasmine.find_free_server_port
|
92
93
|
options[:server] ||= :auto
|
93
94
|
options[:server] = ::Guard::Jasmine::Server.detect_server(options[:spec_dir]) if options[:server] == :auto
|
94
|
-
options[:jasmine_url] = "http://localhost:#{ options[:port] }#{ options[:server] == :jasmine_gem ? '/' :
|
95
|
+
options[:jasmine_url] = "http://localhost:#{ options[:port] }#{ options[:server] == :jasmine_gem ? '/' : options[:server_mount] }" unless options[:jasmine_url]
|
95
96
|
options[:specdoc] = :failure if ![:always, :never, :failure].include? options[:specdoc]
|
96
97
|
options[:phantomjs_bin] = Jasmine.which('phantomjs') unless options[:phantomjs_bin]
|
97
98
|
|
data/lib/guard/jasmine/cli.rb
CHANGED
@@ -170,6 +170,8 @@ module Guard
|
|
170
170
|
runner_options[:hide_success] = true
|
171
171
|
runner_options[:max_error_notify] = 0
|
172
172
|
|
173
|
+
::Guard::UI.options = ::Guard::UI.options.merge({ :template => ':message' })
|
174
|
+
|
173
175
|
paths = [runner_options[:spec_dir]] if paths.empty?
|
174
176
|
|
175
177
|
if CLI.phantomjs_bin_valid?(runner_options[:phantomjs_bin])
|
@@ -5,7 +5,7 @@ phantom.injectJs 'lib/result.js'
|
|
5
5
|
# Set default values
|
6
6
|
options =
|
7
7
|
url: phantom.args[0] || 'http://127.0.0.1:3000/jasmine'
|
8
|
-
timeout: parseInt(phantom.args[1] ||
|
8
|
+
timeout: parseInt(phantom.args[1] || 10000)
|
9
9
|
specdoc: phantom.args[2] || 'failure'
|
10
10
|
focus: /true/i.test phantom.args[3]
|
11
11
|
console: phantom.args[4] || 'failure'
|
@@ -53,75 +53,92 @@ page.onInitialized = ->
|
|
53
53
|
page.evaluate ->
|
54
54
|
# Attach the console reporter when the document is ready.
|
55
55
|
window.onload = ->
|
56
|
+
window.onload = null
|
56
57
|
window.resultReceived = false
|
57
58
|
window.reporter = new ConsoleReporter()
|
58
|
-
|
59
|
+
if window.jasmine
|
60
|
+
jasmine.getEnv().addReporter(window.reporter)
|
59
61
|
|
60
62
|
# Open web page and run the Jasmine test runner
|
61
63
|
#
|
62
64
|
page.open options.url, (status) ->
|
63
65
|
# Avoid that a failed iframe load breaks the runner, see https://github.com/netzpirat/guard-jasmine/pull/19
|
64
66
|
page.onLoadFinished = ->
|
65
|
-
|
66
67
|
if status isnt 'success'
|
67
68
|
console.log JSON.stringify({ error: "Unable to access Jasmine specs at #{ options.url }" })
|
68
69
|
phantom.exit()
|
69
70
|
else
|
70
|
-
|
71
|
+
waitFor jasmineReady, jasmineAvailable, options.timeout, jasmineMissing
|
71
72
|
|
72
|
-
if runnerAvailable
|
73
|
-
done = -> phantom.exit()
|
74
|
-
waitFor specsReady, done, options.timeout
|
75
|
-
else
|
76
|
-
text = page.evaluate -> document.getElementsByTagName('body')[0]?.innerText
|
77
73
|
|
78
|
-
|
79
|
-
|
80
|
-
|
74
|
+
# Test if the jasmine has been loaded
|
75
|
+
#
|
76
|
+
jasmineReady = ->
|
77
|
+
page.evaluate -> window.jasmine
|
81
78
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
console.log JSON.stringify({ error: 'The Jasmine reporter is not available!' })
|
79
|
+
# Start specs after they are have been loaded
|
80
|
+
#
|
81
|
+
jasmineAvailable = ->
|
82
|
+
waitFor specsReady, specsDone, options.timeout, specsTimedout
|
87
83
|
|
88
|
-
|
84
|
+
# Error message for when jasmine never loaded asynchronously
|
85
|
+
#
|
86
|
+
jasmineMissing = ->
|
87
|
+
text = page.evaluate -> document.getElementsByTagName('body')[0]?.innerText
|
88
|
+
|
89
|
+
if text
|
90
|
+
error = """
|
91
|
+
The Jasmine reporter is not available!
|
92
|
+
|
93
|
+
#{ text }
|
94
|
+
"""
|
95
|
+
console.log JSON.stringify({ error: error })
|
96
|
+
else
|
97
|
+
console.log JSON.stringify({ error: 'The Jasmine reporter is not available!' })
|
89
98
|
|
90
99
|
# Test if the specs have finished.
|
91
100
|
#
|
92
101
|
specsReady = ->
|
93
102
|
page.evaluate -> window.resultReceived
|
94
103
|
|
104
|
+
# Error message for when specs time out
|
105
|
+
#
|
106
|
+
specsTimedout = ->
|
107
|
+
text = page.evaluate -> document.getElementsByTagName('body')[0]?.innerText
|
108
|
+
if text
|
109
|
+
error = """
|
110
|
+
Timeout waiting for the Jasmine test results!
|
111
|
+
|
112
|
+
#{ text }
|
113
|
+
"""
|
114
|
+
console.log JSON.stringify({ error: error })
|
115
|
+
else
|
116
|
+
console.log JSON.stringify({ error: 'Timeout for the Jasmine test results!' })
|
117
|
+
|
118
|
+
specsDone = ->
|
119
|
+
phantom.exit()
|
120
|
+
|
95
121
|
# Wait until the test condition is true or a timeout occurs.
|
96
122
|
#
|
97
123
|
# @param [Function] test the test that returns true if condition is met
|
98
124
|
# @param [Function] ready the action when the condition is fulfilled
|
99
125
|
# @param [Number] timeout the max amount of time to wait in milliseconds
|
100
126
|
#
|
101
|
-
waitFor = (test, ready, timeout =
|
102
|
-
|
103
|
-
|
127
|
+
waitFor = (test, ready, timeout = 10000, timeoutFunction) ->
|
128
|
+
start = Date.now()
|
129
|
+
condition = false
|
130
|
+
interval = undefined
|
131
|
+
|
132
|
+
wait = ->
|
133
|
+
if (Date.now() - start < timeout) and not condition
|
134
|
+
condition = test()
|
135
|
+
else
|
136
|
+
clearInterval interval
|
104
137
|
|
105
|
-
|
106
|
-
|
107
|
-
condition = test()
|
138
|
+
if condition
|
139
|
+
ready()
|
108
140
|
else
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
if text
|
113
|
-
error = """
|
114
|
-
Timeout waiting for the Jasmine test results!
|
115
|
-
|
116
|
-
#{ text }
|
117
|
-
"""
|
118
|
-
console.log JSON.stringify({ error: error })
|
119
|
-
else
|
120
|
-
console.log JSON.stringify({ error: 'Timeout waiting for the Jasmine test results!' })
|
121
|
-
|
122
|
-
phantom.exit(1)
|
123
|
-
else
|
124
|
-
ready()
|
125
|
-
clearInterval interval
|
141
|
+
timeoutFunction()
|
142
|
+
phantom.exit(1)
|
126
143
|
|
127
|
-
|
144
|
+
interval = setInterval wait, 250
|
@@ -1,11 +1,11 @@
|
|
1
1
|
(function() {
|
2
|
-
var currentSpecId, errors, logs, options, page, specsReady, waitFor;
|
2
|
+
var currentSpecId, errors, jasmineAvailable, jasmineMissing, jasmineReady, logs, options, page, specsDone, specsReady, specsTimedout, waitFor;
|
3
3
|
|
4
4
|
phantom.injectJs('lib/result.js');
|
5
5
|
|
6
6
|
options = {
|
7
7
|
url: phantom.args[0] || 'http://127.0.0.1:3000/jasmine',
|
8
|
-
timeout: parseInt(phantom.args[1] ||
|
8
|
+
timeout: parseInt(phantom.args[1] || 10000),
|
9
9
|
specdoc: phantom.args[2] || 'failure',
|
10
10
|
focus: /true/i.test(phantom.args[3]),
|
11
11
|
console: phantom.args[4] || 'failure',
|
@@ -32,6 +32,7 @@
|
|
32
32
|
|
33
33
|
page.onConsoleMessage = function(msg, line, source) {
|
34
34
|
var result;
|
35
|
+
|
35
36
|
if (/^RUNNER_END$/.test(msg)) {
|
36
37
|
result = page.evaluate(function() {
|
37
38
|
return window.reporter.runnerResult;
|
@@ -53,15 +54,17 @@
|
|
53
54
|
page.injectJs('lib/reporter.js');
|
54
55
|
return page.evaluate(function() {
|
55
56
|
return window.onload = function() {
|
57
|
+
window.onload = null;
|
56
58
|
window.resultReceived = false;
|
57
59
|
window.reporter = new ConsoleReporter();
|
58
|
-
|
60
|
+
if (window.jasmine) {
|
61
|
+
return jasmine.getEnv().addReporter(window.reporter);
|
62
|
+
}
|
59
63
|
};
|
60
64
|
});
|
61
65
|
};
|
62
66
|
|
63
67
|
page.open(options.url, function(status) {
|
64
|
-
var done, error, runnerAvailable, text;
|
65
68
|
page.onLoadFinished = function() {};
|
66
69
|
if (status !== 'success') {
|
67
70
|
console.log(JSON.stringify({
|
@@ -69,71 +72,89 @@
|
|
69
72
|
}));
|
70
73
|
return phantom.exit();
|
71
74
|
} else {
|
72
|
-
|
73
|
-
return window.jasmine;
|
74
|
-
});
|
75
|
-
if (runnerAvailable) {
|
76
|
-
done = function() {
|
77
|
-
return phantom.exit();
|
78
|
-
};
|
79
|
-
return waitFor(specsReady, done, options.timeout);
|
80
|
-
} else {
|
81
|
-
text = page.evaluate(function() {
|
82
|
-
var _ref;
|
83
|
-
return (_ref = document.getElementsByTagName('body')[0]) != null ? _ref.innerText : void 0;
|
84
|
-
});
|
85
|
-
if (text) {
|
86
|
-
error = "The Jasmine reporter is not available!\n\n" + text;
|
87
|
-
console.log(JSON.stringify({
|
88
|
-
error: error
|
89
|
-
}));
|
90
|
-
} else {
|
91
|
-
console.log(JSON.stringify({
|
92
|
-
error: 'The Jasmine reporter is not available!'
|
93
|
-
}));
|
94
|
-
}
|
95
|
-
return phantom.exit(1);
|
96
|
-
}
|
75
|
+
return waitFor(jasmineReady, jasmineAvailable, options.timeout, jasmineMissing);
|
97
76
|
}
|
98
77
|
});
|
99
78
|
|
79
|
+
jasmineReady = function() {
|
80
|
+
return page.evaluate(function() {
|
81
|
+
return window.jasmine;
|
82
|
+
});
|
83
|
+
};
|
84
|
+
|
85
|
+
jasmineAvailable = function() {
|
86
|
+
return waitFor(specsReady, specsDone, options.timeout, specsTimedout);
|
87
|
+
};
|
88
|
+
|
89
|
+
jasmineMissing = function() {
|
90
|
+
var error, text;
|
91
|
+
|
92
|
+
text = page.evaluate(function() {
|
93
|
+
var _ref;
|
94
|
+
|
95
|
+
return (_ref = document.getElementsByTagName('body')[0]) != null ? _ref.innerText : void 0;
|
96
|
+
});
|
97
|
+
if (text) {
|
98
|
+
error = "The Jasmine reporter is not available!\n\n" + text;
|
99
|
+
return console.log(JSON.stringify({
|
100
|
+
error: error
|
101
|
+
}));
|
102
|
+
} else {
|
103
|
+
return console.log(JSON.stringify({
|
104
|
+
error: 'The Jasmine reporter is not available!'
|
105
|
+
}));
|
106
|
+
}
|
107
|
+
};
|
108
|
+
|
100
109
|
specsReady = function() {
|
101
110
|
return page.evaluate(function() {
|
102
111
|
return window.resultReceived;
|
103
112
|
});
|
104
113
|
};
|
105
114
|
|
106
|
-
|
115
|
+
specsTimedout = function() {
|
116
|
+
var error, text;
|
117
|
+
|
118
|
+
text = page.evaluate(function() {
|
119
|
+
var _ref;
|
120
|
+
|
121
|
+
return (_ref = document.getElementsByTagName('body')[0]) != null ? _ref.innerText : void 0;
|
122
|
+
});
|
123
|
+
if (text) {
|
124
|
+
error = "Timeout waiting for the Jasmine test results!\n\n" + text;
|
125
|
+
return console.log(JSON.stringify({
|
126
|
+
error: error
|
127
|
+
}));
|
128
|
+
} else {
|
129
|
+
return console.log(JSON.stringify({
|
130
|
+
error: 'Timeout for the Jasmine test results!'
|
131
|
+
}));
|
132
|
+
}
|
133
|
+
};
|
134
|
+
|
135
|
+
specsDone = function() {
|
136
|
+
return phantom.exit();
|
137
|
+
};
|
138
|
+
|
139
|
+
waitFor = function(test, ready, timeout, timeoutFunction) {
|
107
140
|
var condition, interval, start, wait;
|
141
|
+
|
108
142
|
if (timeout == null) {
|
109
|
-
timeout =
|
143
|
+
timeout = 10000;
|
110
144
|
}
|
111
|
-
start =
|
145
|
+
start = Date.now();
|
112
146
|
condition = false;
|
147
|
+
interval = void 0;
|
113
148
|
wait = function() {
|
114
|
-
|
115
|
-
if ((new Date().getTime() - start < timeout) && !condition) {
|
149
|
+
if ((Date.now() - start < timeout) && !condition) {
|
116
150
|
return condition = test();
|
117
151
|
} else {
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
return (_ref = document.getElementsByTagName('body')[0]) != null ? _ref.innerText : void 0;
|
122
|
-
});
|
123
|
-
if (text) {
|
124
|
-
error = "Timeout waiting for the Jasmine test results!\n\n" + text;
|
125
|
-
console.log(JSON.stringify({
|
126
|
-
error: error
|
127
|
-
}));
|
128
|
-
} else {
|
129
|
-
console.log(JSON.stringify({
|
130
|
-
error: 'Timeout waiting for the Jasmine test results!'
|
131
|
-
}));
|
132
|
-
}
|
133
|
-
return phantom.exit(1);
|
152
|
+
clearInterval(interval);
|
153
|
+
if (condition) {
|
154
|
+
return ready();
|
134
155
|
} else {
|
135
|
-
|
136
|
-
return
|
156
|
+
timeoutFunction();
|
157
|
+
return phantom.exit(1);
|
137
158
|
}
|
138
159
|
}
|
139
160
|
};
|
@@ -3,32 +3,37 @@
|
|
3
3
|
__slice = [].slice;
|
4
4
|
|
5
5
|
Console = (function() {
|
6
|
-
|
7
6
|
function Console(console) {
|
8
7
|
var log;
|
8
|
+
|
9
9
|
log = console.log;
|
10
10
|
console.log = function() {
|
11
11
|
var args;
|
12
|
+
|
12
13
|
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
13
14
|
return log.call(console, Console.format.apply(Console, args));
|
14
15
|
};
|
15
16
|
console.info = function() {
|
16
17
|
var args;
|
18
|
+
|
17
19
|
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
18
20
|
return log.call(console, "INFO: " + (Console.format.apply(Console, args)));
|
19
21
|
};
|
20
22
|
console.warn = function() {
|
21
23
|
var args;
|
24
|
+
|
22
25
|
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
23
26
|
return log.call(console, "WARN: " + (Console.format.apply(Console, args)));
|
24
27
|
};
|
25
28
|
console.error = function() {
|
26
29
|
var args;
|
30
|
+
|
27
31
|
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
28
32
|
return log.call(console, "ERROR: " + (Console.format.apply(Console, args)));
|
29
33
|
};
|
30
34
|
console.debug = function() {
|
31
35
|
var args;
|
36
|
+
|
32
37
|
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
33
38
|
return log.call(console, "DEBUG: " + (Console.format.apply(Console, args)));
|
34
39
|
};
|
@@ -39,6 +44,7 @@
|
|
39
44
|
Console.format = function() {
|
40
45
|
var arg, args, result, _i, _len,
|
41
46
|
_this = this;
|
47
|
+
|
42
48
|
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
43
49
|
result = [];
|
44
50
|
if (typeof args[0] === 'string' && /%[sdifo]/gi.test(args[0])) {
|
@@ -56,6 +62,7 @@
|
|
56
62
|
|
57
63
|
Console.inspect = function(object, type) {
|
58
64
|
var match, result;
|
65
|
+
|
59
66
|
switch (type) {
|
60
67
|
case '%s':
|
61
68
|
result = String(object);
|
@@ -93,6 +100,7 @@
|
|
93
100
|
|
94
101
|
Console.pp = function(object, depth) {
|
95
102
|
var key, result, type, value, _i, _len;
|
103
|
+
|
96
104
|
if (depth == null) {
|
97
105
|
depth = 0;
|
98
106
|
}
|
@@ -2,7 +2,6 @@
|
|
2
2
|
var ConsoleReporter;
|
3
3
|
|
4
4
|
ConsoleReporter = (function() {
|
5
|
-
|
6
5
|
function ConsoleReporter() {}
|
7
6
|
|
8
7
|
ConsoleReporter.prototype.runnerResult = {
|
@@ -27,6 +26,7 @@
|
|
27
26
|
|
28
27
|
ConsoleReporter.prototype.reportSpecResults = function(spec) {
|
29
28
|
var messages, result, specResult, _base, _i, _len, _name, _ref;
|
29
|
+
|
30
30
|
if (!spec.results().skipped) {
|
31
31
|
specResult = {
|
32
32
|
id: spec.id,
|
@@ -52,6 +52,7 @@
|
|
52
52
|
|
53
53
|
ConsoleReporter.prototype.reportSuiteResults = function(suite) {
|
54
54
|
var parent, suiteResult, _base, _ref;
|
55
|
+
|
55
56
|
if (!suite.results().skipped) {
|
56
57
|
suiteResult = {
|
57
58
|
id: suite.id,
|
@@ -77,6 +78,7 @@
|
|
77
78
|
|
78
79
|
ConsoleReporter.prototype.reportRunnerResults = function(runner) {
|
79
80
|
var end, runtime;
|
81
|
+
|
80
82
|
runtime = (new Date().getTime() - this.startTime) / 1000;
|
81
83
|
this.runnerResult['passed'] = runner.results().failedCount === 0;
|
82
84
|
this.runnerResult['stats'] = {
|
@@ -99,6 +101,7 @@
|
|
99
101
|
|
100
102
|
ConsoleReporter.prototype.addNestedSuites = function(suiteResult) {
|
101
103
|
var suite, _i, _len, _ref, _results;
|
104
|
+
|
102
105
|
if (this.nestedSuiteResults[suiteResult.id]) {
|
103
106
|
_ref = this.nestedSuiteResults[suiteResult.id];
|
104
107
|
_results = [];
|
@@ -113,6 +116,7 @@
|
|
113
116
|
|
114
117
|
ConsoleReporter.prototype.removeEmptySuites = function(suiteResult) {
|
115
118
|
var suite, suites, _i, _len, _ref;
|
119
|
+
|
116
120
|
suites = [];
|
117
121
|
_ref = suiteResult.suites;
|
118
122
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
@@ -1,9 +1,7 @@
|
|
1
|
-
// Generated by CoffeeScript 1.3.3
|
2
1
|
(function() {
|
3
2
|
var Result;
|
4
3
|
|
5
4
|
Result = (function() {
|
6
|
-
|
7
5
|
function Result(result, logs, errors, options) {
|
8
6
|
this.result = result;
|
9
7
|
this.logs = logs != null ? logs : {};
|
@@ -13,8 +11,10 @@
|
|
13
11
|
|
14
12
|
Result.prototype.addLogs = function(suite) {
|
15
13
|
var id, s, spec;
|
14
|
+
|
16
15
|
suite.suites = (function() {
|
17
16
|
var _i, _len, _ref, _results;
|
17
|
+
|
18
18
|
_ref = suite.suites;
|
19
19
|
_results = [];
|
20
20
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
@@ -26,6 +26,7 @@
|
|
26
26
|
if (suite.specs) {
|
27
27
|
suite.specs = (function() {
|
28
28
|
var _i, _len, _ref, _results;
|
29
|
+
|
29
30
|
_ref = suite.specs;
|
30
31
|
_results = [];
|
31
32
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
@@ -46,8 +47,10 @@
|
|
46
47
|
|
47
48
|
Result.prototype.addErrors = function(suite) {
|
48
49
|
var id, s, spec;
|
50
|
+
|
49
51
|
suite.suites = (function() {
|
50
52
|
var _i, _len, _ref, _results;
|
53
|
+
|
51
54
|
_ref = suite.suites;
|
52
55
|
_results = [];
|
53
56
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
@@ -59,6 +62,7 @@
|
|
59
62
|
if (suite.specs) {
|
60
63
|
suite.specs = (function() {
|
61
64
|
var _i, _len, _ref, _results;
|
65
|
+
|
62
66
|
_ref = suite.specs;
|
63
67
|
_results = [];
|
64
68
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
@@ -77,8 +81,9 @@
|
|
77
81
|
return suite;
|
78
82
|
};
|
79
83
|
|
80
|
-
Result.prototype.
|
84
|
+
Result.prototype.addGlobalError = function(suite) {
|
81
85
|
var b, err, errMsg, globalErrors, noSpecs, noSuites, _i, _len, _ref;
|
86
|
+
|
82
87
|
noSuites = !suite.suites || suite.suites.length === 0;
|
83
88
|
noSpecs = !suite.specs || suite.specs.length === 0;
|
84
89
|
globalErrors = this.errors[-1] && this.errors[-1].length !== 0;
|
@@ -97,8 +102,10 @@
|
|
97
102
|
|
98
103
|
Result.prototype.cleanResult = function(suite) {
|
99
104
|
var s, spec, _i, _len, _ref;
|
105
|
+
|
100
106
|
suite.suites = (function() {
|
101
107
|
var _i, _len, _ref, _results;
|
108
|
+
|
102
109
|
_ref = suite.suites;
|
103
110
|
_results = [];
|
104
111
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
@@ -125,7 +132,7 @@
|
|
125
132
|
}
|
126
133
|
if (this.options.errors !== 'never') {
|
127
134
|
this.addErrors(this.result);
|
128
|
-
this.
|
135
|
+
this.addGlobalError(this.result);
|
129
136
|
}
|
130
137
|
this.cleanResult(this.result);
|
131
138
|
return this.result;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-jasmine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Kessler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: guard
|
@@ -148,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
148
|
version: 1.3.6
|
149
149
|
requirements: []
|
150
150
|
rubyforge_project: guard-jasmine
|
151
|
-
rubygems_version: 2.0.
|
151
|
+
rubygems_version: 2.0.2
|
152
152
|
signing_key:
|
153
153
|
specification_version: 4
|
154
154
|
summary: Guard gem for headless testing with Jasmine
|