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

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/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