guard-jasmine-node 0.0.5 → 0.0.6
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.
- data/README.md +4 -1
- data/lib/guard/jasmine_node.rb +5 -5
- data/lib/guard/jasmine_node/runner.rb +1 -1
- data/lib/guard/jasmine_node/spec_state.rb +2 -0
- data/lib/guard/jasmine_node/version.rb +1 -1
- data/spec/lib/jasmine_node_spec.rb +16 -4
- data/spec/lib/runner_spec.rb +3 -1
- metadata +45 -15
data/README.md
CHANGED
@@ -6,7 +6,7 @@ JasmineNode guard automatically & intelligently executes jasmine node specs when
|
|
6
6
|
It works brilliantly with Node projects whereas [guard-jasmine](https://github.com/netzpirat/guard-jasmine)
|
7
7
|
looks better for jasmine specs in the context of e.g. a Rails app.
|
8
8
|
|
9
|
-
* Tested against Node 0.
|
9
|
+
* Tested against Node 0.8.9, jasmine-node 1.0.26
|
10
10
|
|
11
11
|
Requirements
|
12
12
|
------------
|
@@ -63,6 +63,9 @@ Load coffeescript and all execution of .coffee files.
|
|
63
63
|
|
64
64
|
Execute jasmine-node in verbose mode
|
65
65
|
|
66
|
+
* `:spec_paths # default => [spec]`
|
67
|
+
|
68
|
+
Array of paths containing all specs (supply a comma-separated list of paths to override the default)
|
66
69
|
|
67
70
|
* `:jasmine_node_bin`
|
68
71
|
|
data/lib/guard/jasmine_node.rb
CHANGED
@@ -10,15 +10,15 @@ module Guard
|
|
10
10
|
:keep_failed => true,
|
11
11
|
:notify => true,
|
12
12
|
:coffeescript => true,
|
13
|
-
:verbose => false
|
13
|
+
:verbose => false,
|
14
|
+
:spec_paths => %w(spec)
|
14
15
|
}
|
15
|
-
|
16
|
-
PATHS_FOR_ALL_SPECS = %w(spec)
|
17
16
|
|
18
17
|
autoload :Runner, "guard/jasmine_node/runner"
|
19
18
|
autoload :SpecState, "guard/jasmine_node/spec_state"
|
20
19
|
|
21
20
|
def initialize(watchers = [], options = {})
|
21
|
+
options[:spec_paths] = options[:spec_paths].split(",") if options[:spec_paths].respond_to?(:split)
|
22
22
|
super(watchers, DEFAULT_OPTIONS.merge(options))
|
23
23
|
@state = SpecState.new
|
24
24
|
end
|
@@ -28,7 +28,7 @@ module Guard
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def run_all
|
31
|
-
run(
|
31
|
+
run(options[:spec_paths])
|
32
32
|
notify(:all)
|
33
33
|
end
|
34
34
|
|
@@ -37,7 +37,7 @@ module Guard
|
|
37
37
|
failing_paths + changed_paths
|
38
38
|
else
|
39
39
|
changed_paths
|
40
|
-
end
|
40
|
+
end.uniq
|
41
41
|
|
42
42
|
run(run_paths)
|
43
43
|
notify(:some)
|
@@ -18,7 +18,7 @@ module Guard
|
|
18
18
|
|
19
19
|
def self.print_message
|
20
20
|
message = @options[:message]
|
21
|
-
message ||= @paths ==
|
21
|
+
message ||= @paths == @options[:spec_paths] ? "Running all specs" : "Running: #{@paths.join(' ')}"
|
22
22
|
::Guard::UI.info(message, :reset => true)
|
23
23
|
end
|
24
24
|
|
@@ -19,7 +19,9 @@ module Guard
|
|
19
19
|
@run_paths = run_paths
|
20
20
|
@io = Runner.run(@run_paths, options)
|
21
21
|
@stdout = @io[STDOUT]
|
22
|
+
@stderr = @io[STDERR]
|
22
23
|
@exitstatus = @io[THREAD].value rescue ERROR_CODE
|
24
|
+
@stderr.lines { |line| print line }
|
23
25
|
@stdout.lines { |line| print line }
|
24
26
|
close_io
|
25
27
|
update_passed_and_fixed
|
@@ -40,6 +40,10 @@ describe Guard::JasmineNode do
|
|
40
40
|
guard.options[:verbose].should be_false
|
41
41
|
end
|
42
42
|
|
43
|
+
it "sets :spec_paths option an array including the spec directory" do
|
44
|
+
guard.options[:spec_paths].should =~ %w(spec)
|
45
|
+
end
|
46
|
+
|
43
47
|
it "is passing" do
|
44
48
|
guard.should be_passing
|
45
49
|
end
|
@@ -51,6 +55,9 @@ describe Guard::JasmineNode do
|
|
51
55
|
|
52
56
|
context "when options are given" do
|
53
57
|
let(:a_path) { "/foo/bar/jasmine-node" }
|
58
|
+
let(:some_paths) { %w(foo bar zap) }
|
59
|
+
let(:some_comma_separated_paths) { some_paths.join(",") }
|
60
|
+
|
54
61
|
let(:guard) { Guard::JasmineNode.new([], {
|
55
62
|
:jasmine_node_bin => a_path,
|
56
63
|
:all_on_start => false,
|
@@ -58,7 +65,8 @@ describe Guard::JasmineNode do
|
|
58
65
|
:keep_failed => false,
|
59
66
|
:notify => false,
|
60
67
|
:coffeescript => false,
|
61
|
-
:verbose => true
|
68
|
+
:verbose => true,
|
69
|
+
:spec_paths => some_comma_separated_paths
|
62
70
|
}) }
|
63
71
|
|
64
72
|
it "sets the path to jasmine-node bin" do
|
@@ -88,6 +96,10 @@ describe Guard::JasmineNode do
|
|
88
96
|
it "sets the :verbose option" do
|
89
97
|
guard.options[:verbose].should be_true
|
90
98
|
end
|
99
|
+
|
100
|
+
it "sets the :spec_paths options to an array of paths given by a comma-separated string" do
|
101
|
+
guard.options[:spec_paths].should =~ some_paths
|
102
|
+
end
|
91
103
|
end
|
92
104
|
end
|
93
105
|
|
@@ -181,7 +193,7 @@ describe Guard::JasmineNode do
|
|
181
193
|
end
|
182
194
|
|
183
195
|
context "when there are failing paths" do
|
184
|
-
let(:failing_paths) { %w(foo/bar zip/zap) }
|
196
|
+
let(:failing_paths) { %w(foo/bar zip/zap aaa/bbb) }
|
185
197
|
let(:changed_paths) { %w(aaa/bbb ccc/ddd) }
|
186
198
|
let(:all_paths) { failing_paths + changed_paths }
|
187
199
|
|
@@ -194,8 +206,8 @@ describe Guard::JasmineNode do
|
|
194
206
|
guard.options[:keep_failed] = true
|
195
207
|
end
|
196
208
|
|
197
|
-
it "updates state with failing paths and the changed paths" do
|
198
|
-
state.should_receive(:update).with(all_paths, anything)
|
209
|
+
it "updates state with the union of failing paths and the changed paths" do
|
210
|
+
state.should_receive(:update).with(all_paths.uniq, anything)
|
199
211
|
guard.run_on_change(changed_paths)
|
200
212
|
end
|
201
213
|
end
|
data/spec/lib/runner_spec.rb
CHANGED
@@ -70,9 +70,11 @@ describe Guard::JasmineNode::Runner do
|
|
70
70
|
|
71
71
|
context "when no message option is given" do
|
72
72
|
context "and running all specs" do
|
73
|
+
let(:all_paths) { %w(foo bar zap) }
|
74
|
+
|
73
75
|
it "outputs message confirming all specs are being run" do
|
74
76
|
Guard::UI.should_receive(:info).with("Running all specs", anything)
|
75
|
-
runner.run(
|
77
|
+
runner.run(all_paths, spec_paths: all_paths)
|
76
78
|
end
|
77
79
|
end
|
78
80
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-jasmine-node
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-09-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: guard
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0.4'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.4'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rspec
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: guard-rspec
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rake
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: rb-inotify
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: libnotify
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,7 +101,12 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
description: ''
|
81
111
|
email:
|
82
112
|
- dave@kapoq.com
|
@@ -122,7 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
152
|
version: '0'
|
123
153
|
requirements: []
|
124
154
|
rubyforge_project: guard-jasmine-node
|
125
|
-
rubygems_version: 1.8.
|
155
|
+
rubygems_version: 1.8.24
|
126
156
|
signing_key:
|
127
157
|
specification_version: 3
|
128
158
|
summary: Guard::JasmineNode automatically runs your Jasmine Node specs when files
|