specdown 0.4.0.beta.2 → 0.4.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.markdown CHANGED
@@ -1,4 +1,9 @@
1
- ## CHANGELOG
1
+ # CHANGELOG
2
+
3
+ ## 0.4.0.beta.3
4
+
5
+ Specdown now exits with status "0" if and only if all tests pass.
6
+ Undefined, pending, and failing specs will cause a non-zero exit status.
2
7
 
3
8
  ## 0.4.0.beta.2
4
9
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0.beta.2
1
+ 0.4.0.beta.3
@@ -4,6 +4,17 @@ Feature: `specdown` command
4
4
 
5
5
  By default, running `specdown` at a command prompt will cause specdown to look in the current working directory for a "specdown" directory. If it finds a directory called `specdown`, it will eval all code files it finds, then load all "markdown" files and run them, providing you with a report at the end.
6
6
 
7
+ @focus
8
+ Scenario: `specdown` exits with status "0" if all tests pass
9
+ When I run `specdown` from the command line for a passing readme
10
+ Then it should exit with status 0
11
+ When I run `specdown` from the command line for a pending readme
12
+ Then it should not exit with status 0
13
+ When I run `specdown` from the command line for a failing readme
14
+ Then it should not exit with status 0
15
+ When I run `specdown` from the command line for a undefined readme
16
+ Then it should not exit with status 0
17
+
7
18
  Scenario: `specdown` with no arguments, and no specdown directory
8
19
 
9
20
  When I run `specdown` from the command line in a directory that contains no 'specdown' directory
@@ -147,7 +158,6 @@ Feature: `specdown` command
147
158
  * `specdown -f short`
148
159
  * `specdown --format=short`
149
160
 
150
- @focus
151
161
  Scenario: short summary output
152
162
  * The following commands should output summary information for each file run to STDOUT:
153
163
  * `specdown -f condensed`
@@ -0,0 +1,7 @@
1
+ # Example of Failing Specification
2
+
3
+ This spec is failing.
4
+
5
+ ```ruby
6
+ raise "failing"
7
+ ```
@@ -0,0 +1,7 @@
1
+ # Example of Passing Specification
2
+
3
+ This spec is passing.
4
+
5
+ ```ruby
6
+ "passing"
7
+ ```
@@ -0,0 +1,3 @@
1
+ # Example of Undefined Specification
2
+
3
+ This spec is **undefined**.
@@ -2,6 +2,32 @@ When /^I run `specdown` from the command line in a directory that contains no 's
2
2
  @output = `bundle exec ruby -I ./lib ./bin/specdown`
3
3
  end
4
4
 
5
+ When /^I run `specdown` from the command line for a passing readme$/ do
6
+ @directory = "features/specdown_examples/passing_specs"
7
+ end
8
+
9
+ Then /^it should exit with status 0$/ do
10
+ bundle_exec! "specdown"
11
+ $?.to_i.should == 0
12
+ end
13
+
14
+ Then /^it should not exit with status 0$/ do
15
+ bundle_exec! "specdown"
16
+ $?.to_i.should_not == 0
17
+ end
18
+
19
+ When /^I run `specdown` from the command line for a pending readme$/ do
20
+ @directory = "features/specdown_examples/pending_specs"
21
+ end
22
+
23
+ When /^I run `specdown` from the command line for a failing readme$/ do
24
+ @directory = "features/specdown_examples/failing_specs"
25
+ end
26
+
27
+ When /^I run `specdown` from the command line for a undefined readme$/ do
28
+ @directory = "features/specdown_examples/undefined_specs"
29
+ end
30
+
5
31
  Then /^I should see the following output:$/ do |string|
6
32
  ensure_included! string, @output
7
33
  end
@@ -15,6 +15,8 @@ module Specdown
15
15
  parse_options
16
16
  run
17
17
  end
18
+
19
+ exit(@readmes.count == @readmes.select {|readme| readme.exceptions.empty? && readme.undefined_implicits.empty?}.count)
18
20
  end
19
21
 
20
22
  private
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: specdown
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3272481149
4
+ hash: 3084443435
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
9
  - 0
10
10
  - beta
11
- - 2
12
- version: 0.4.0.beta.2
11
+ - 3
12
+ version: 0.4.0.beta.3
13
13
  platform: ruby
14
14
  authors:
15
15
  - Matt Parker
@@ -167,6 +167,7 @@ files:
167
167
  - features/specdown_examples/before_hooks/specdown/parser_example.markdown
168
168
  - features/specdown_examples/complete_implicit/specdown/implicit.specdown
169
169
  - features/specdown_examples/complete_implicit/specdown/test.markdown
170
+ - features/specdown_examples/failing_specs/specdown/test.markdown
170
171
  - features/specdown_examples/format_switch_test/specdown/env.rb
171
172
  - features/specdown_examples/nested_directories_test/specdown/env.rb
172
173
  - features/specdown_examples/nested_directories_test/specdown/tests/1.markdown
@@ -175,6 +176,7 @@ files:
175
176
  - features/specdown_examples/no_implicit/specdown/test.markdown
176
177
  - features/specdown_examples/no_ruby/specdown/env.rb
177
178
  - features/specdown_examples/no_ruby/specdown/parser_example.markdown
179
+ - features/specdown_examples/passing_specs/specdown/test.markdown
178
180
  - features/specdown_examples/pending_implicit/specdown/implicit.specdown
179
181
  - features/specdown_examples/pending_implicit/specdown/test.markdown
180
182
  - features/specdown_examples/pending_specs/specdown/test.markdown
@@ -184,6 +186,7 @@ files:
184
186
  - features/specdown_examples/scoped_hooks/specdown/spec1.fun.markdown
185
187
  - features/specdown_examples/scoped_hooks/specdown/spec2.fun.markdown
186
188
  - features/specdown_examples/scoped_hooks/specdown/spec3.markdown
189
+ - features/specdown_examples/undefined_specs/specdown/test.markdown
187
190
  - features/specdown_examples/with_ruby/specdown/env.rb
188
191
  - features/specdown_examples/with_ruby/specdown/parser_example.markdown
189
192
  - features/step_definitions/command.rb
@@ -267,6 +270,7 @@ test_files:
267
270
  - features/specdown_examples/before_hooks/specdown/parser_example.markdown
268
271
  - features/specdown_examples/complete_implicit/specdown/implicit.specdown
269
272
  - features/specdown_examples/complete_implicit/specdown/test.markdown
273
+ - features/specdown_examples/failing_specs/specdown/test.markdown
270
274
  - features/specdown_examples/format_switch_test/specdown/env.rb
271
275
  - features/specdown_examples/nested_directories_test/specdown/env.rb
272
276
  - features/specdown_examples/nested_directories_test/specdown/tests/1.markdown
@@ -275,6 +279,7 @@ test_files:
275
279
  - features/specdown_examples/no_implicit/specdown/test.markdown
276
280
  - features/specdown_examples/no_ruby/specdown/env.rb
277
281
  - features/specdown_examples/no_ruby/specdown/parser_example.markdown
282
+ - features/specdown_examples/passing_specs/specdown/test.markdown
278
283
  - features/specdown_examples/pending_implicit/specdown/implicit.specdown
279
284
  - features/specdown_examples/pending_implicit/specdown/test.markdown
280
285
  - features/specdown_examples/pending_specs/specdown/test.markdown
@@ -284,6 +289,7 @@ test_files:
284
289
  - features/specdown_examples/scoped_hooks/specdown/spec1.fun.markdown
285
290
  - features/specdown_examples/scoped_hooks/specdown/spec2.fun.markdown
286
291
  - features/specdown_examples/scoped_hooks/specdown/spec3.markdown
292
+ - features/specdown_examples/undefined_specs/specdown/test.markdown
287
293
  - features/specdown_examples/with_ruby/specdown/env.rb
288
294
  - features/specdown_examples/with_ruby/specdown/parser_example.markdown
289
295
  - features/step_definitions/command.rb