bdd 0.0.1 → 0.0.2
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/.travis.yml +4 -0
- data/CHANGELOG.md +26 -0
- data/README.md +242 -15
- data/bdd.gemspec +3 -4
- data/lib/bdd/rspec/{code.rb → documentation_formatter.rb} +1 -83
- data/lib/bdd/rspec/example_group.rb +79 -0
- data/lib/bdd/rspec/reporter.rb +15 -0
- data/lib/bdd/rspec.rb +35 -6
- data/lib/bdd/version.rb +1 -1
- data/lib/bdd.rb +1 -1
- metadata +6 -46
- data/.rspec +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4d91a1514792fd624df3de6f45e1a4d5491b7f7
|
4
|
+
data.tar.gz: 928c1fd5a8d6774004f6ef13eff6f9e028b4630f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6f14a84d66eb8a9f9fe002b15e9b6abb81cba9b4a32041c56aced89dc2cac6be6907e1d741d379a8ad22ff9ef958e5e8d5588bdc98415a0c0c0037c43b85985
|
7
|
+
data.tar.gz: f9a75ec22a3407dcd45b4e10ad4bf74d0cce51d42e499e2e728f5e8a7b524fbae3918e59c3a9857d02536a4be61fda5fcc01d5073c429bcff4bbfe0550d1f13c
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# CHANGELOG BY VERSION
|
2
|
+
|
3
|
+
## IN PROGRESS
|
4
|
+
|
5
|
+
### May 19th 2015
|
6
|
+
|
7
|
+
> @thejamespinto
|
8
|
+
- Removing dependency 'rspec-example_steps'
|
9
|
+
- No more need to have a .rspec with color and documentation format
|
10
|
+
|
11
|
+
### May 20th 2015
|
12
|
+
|
13
|
+
> @thejamespinto
|
14
|
+
- renaming feature
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
## v0.0.1
|
21
|
+
|
22
|
+
### May 18th 2015
|
23
|
+
|
24
|
+
> @thejamespinto
|
25
|
+
- Renaming gem to 'bdd'
|
26
|
+
|
data/README.md
CHANGED
@@ -1,43 +1,270 @@
|
|
1
|
-
|
1
|
+
## Bdd
|
2
2
|
|
3
|
-
|
3
|
+
Bdd brings cucumber-style Given/When/Then/And/But steps for RSpec examples
|
4
4
|
|
5
|
-
|
5
|
+
### Status
|
6
6
|
|
7
|
-
|
7
|
+
[](http://badge.fury.io/rb/bdd)
|
8
|
+
[](https://travis-ci.org/thejamespinto/bdd)
|
8
9
|
|
9
|
-
|
10
|
+
### Description
|
11
|
+
|
12
|
+
This gem brings two major functionality to your tests
|
13
|
+
|
14
|
+
* Verbosity for rspec documentation formatter.
|
15
|
+
* Ability to comment or describe set of actions in example into some step.
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
### Installation
|
10
20
|
|
11
21
|
```ruby
|
12
22
|
gem 'bdd'
|
13
23
|
```
|
14
24
|
|
15
|
-
|
25
|
+
Add to `spec/spec_helper.rb`
|
16
26
|
|
17
|
-
|
27
|
+
```ruby
|
28
|
+
require 'bdd'
|
29
|
+
```
|
18
30
|
|
19
|
-
Or install it yourself as:
|
20
31
|
|
21
|
-
$ gem install bdd
|
22
32
|
|
23
|
-
|
33
|
+
### Example
|
24
34
|
|
25
|
-
|
35
|
+
`spec/features/search_spec.rb`
|
26
36
|
|
27
37
|
```ruby
|
28
|
-
|
38
|
+
context 'Searching' do
|
39
|
+
it 'Result is found' do
|
40
|
+
Given 'I am on the search page' do
|
41
|
+
visit '/search'
|
42
|
+
expect(page).to have_content('Search')
|
43
|
+
end
|
44
|
+
|
45
|
+
When 'I search something' do
|
46
|
+
fill_in 'Search', with: 'John'
|
47
|
+
click_button 'Go'
|
48
|
+
end
|
49
|
+
|
50
|
+
Then 'I should see the word result' do
|
51
|
+
expect(page).to have_content('Result')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
```
|
56
|
+
|
57
|
+
|
58
|
+
### Documentation formatting output:
|
59
|
+
|
60
|
+
`rspec -fd spec/features/search_spec.rb`
|
61
|
+
|
62
|
+
<pre>
|
63
|
+
<b>Searching</b>
|
64
|
+
<b>Result is found</b>
|
65
|
+
<b>Given</b> I am on the search page
|
66
|
+
<b> When</b> I search something
|
67
|
+
<b> Then</b> I should see the word result
|
68
|
+
</pre>
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
### Shared Steps
|
73
|
+
|
74
|
+
### Basic Example with shared steps
|
75
|
+
|
76
|
+
You can refactor steps into methods using plain Ruby syntax.
|
77
|
+
|
78
|
+
```ruby
|
79
|
+
def given_I_log_in
|
80
|
+
Given "I log in" do
|
81
|
+
visit '/login'
|
82
|
+
fill_in 'Login', with: 'jack@example.com'
|
83
|
+
fill_in 'Password', with: 'password'
|
84
|
+
click_button "Log in"
|
85
|
+
expect(page).to have_content('Welcome jack@example.com')
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def then_I_should_see_a_confirmation_message
|
90
|
+
Then "I should see a confirmation message" do
|
91
|
+
expect(page).to have_content('Your profile was updated successfully')
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
context 'User Flow' do
|
96
|
+
it 'User updates profile description' do
|
97
|
+
given_I_log_in
|
98
|
+
When 'I update profile description' do
|
99
|
+
...
|
100
|
+
end
|
101
|
+
then_I_should_see_a_confirmation_message
|
102
|
+
end
|
103
|
+
|
104
|
+
it 'User updates profile avatar' do
|
105
|
+
given_I_log_in
|
106
|
+
When 'I update profile avatar' do
|
107
|
+
...
|
108
|
+
end
|
109
|
+
then_I_should_see_a_confirmation_message
|
110
|
+
end
|
111
|
+
end
|
112
|
+
```
|
113
|
+
Output:
|
114
|
+
<pre>
|
115
|
+
<b>User Flow</b>
|
116
|
+
<b>User updates profile description</b>
|
117
|
+
<b>Given</b> I log in
|
118
|
+
<b> When</b> I update profile description
|
119
|
+
<b> Then</b> I should see a confirmation message
|
120
|
+
</pre>
|
121
|
+
|
122
|
+
|
123
|
+
### Nested Example with shared steps
|
124
|
+
|
125
|
+
Nesting will silence any output from the internal steps
|
126
|
+
|
127
|
+
```ruby
|
128
|
+
def given_I_am_on_the_log_in_page
|
129
|
+
Given 'I am on the login page' do
|
130
|
+
visit '/login'
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
def when_I_submit_the_log_in_form
|
135
|
+
When 'I put credentials' do
|
136
|
+
fill_in 'Login', with: 'jack@example.com'
|
137
|
+
fill_in 'Password', with: 'password'
|
138
|
+
click_button "Log in"
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
def then_I_should_be_logged_in
|
143
|
+
Then 'I should be logged in' do
|
144
|
+
expect(page).to have_content('Welcome jack@example.com')
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
def given_I_log_in
|
149
|
+
Given "I log in" do
|
150
|
+
given_I_am_on_the_log_in_page
|
151
|
+
when_I_submit_the_log_in_form
|
152
|
+
then_I_should_be_logged_in
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
context 'User Flow' do
|
157
|
+
it 'User updates profile description' do
|
158
|
+
given_I_log_in
|
159
|
+
When 'I update profile description' do
|
160
|
+
...
|
161
|
+
end
|
162
|
+
then_I_should_see_a_confirmation_message
|
163
|
+
end
|
164
|
+
|
165
|
+
it 'User updates profile avatar' do
|
166
|
+
given_I_log_in
|
167
|
+
When 'I update profile avatar' do
|
168
|
+
...
|
169
|
+
end
|
170
|
+
then_I_should_see_a_confirmation_message
|
171
|
+
end
|
172
|
+
end
|
173
|
+
```
|
174
|
+
Output:
|
175
|
+
<pre>
|
176
|
+
<b>User Flow</b>
|
177
|
+
<b>User updates profile description</b>
|
178
|
+
<b>Given</b> I log in
|
179
|
+
<b> When</b> I update profile description
|
180
|
+
<b> Then</b> I should see a confirmation message
|
181
|
+
</pre>
|
182
|
+
|
183
|
+
|
184
|
+
### Renaming
|
185
|
+
|
186
|
+
Useful for refactored nesting, you can change a step's name
|
187
|
+
|
188
|
+
```ruby
|
189
|
+
def when_I_log_in
|
190
|
+
When "I log in" do
|
191
|
+
visit '/login'
|
192
|
+
fill_in 'Login', with: 'jack@example.com'
|
193
|
+
fill_in 'Password', with: 'password'
|
194
|
+
click_button "Log in"
|
195
|
+
expect(page).to have_content('Welcome jack@example.com')
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
|
200
|
+
def given_I_log_in
|
201
|
+
Given when_I_log_in
|
202
|
+
end
|
203
|
+
|
204
|
+
context 'User Flow'
|
205
|
+
it 'User updates profile description' do
|
206
|
+
given_I_log_in
|
207
|
+
When 'I update profile description' do
|
208
|
+
...
|
209
|
+
end
|
210
|
+
then_I_should_see_a_confirmation_message
|
211
|
+
end
|
212
|
+
|
213
|
+
it 'User updates profile avatar' do
|
214
|
+
given_I_log_in
|
215
|
+
When 'I update profile avatar' do
|
216
|
+
...
|
217
|
+
end
|
218
|
+
then_I_should_see_a_confirmation_message
|
219
|
+
end
|
220
|
+
end
|
29
221
|
```
|
222
|
+
Output:
|
223
|
+
<pre>
|
224
|
+
<b>User Flow</b>
|
225
|
+
<b>User updates profile description</b>
|
226
|
+
<b>Given</b> I log in
|
227
|
+
<b> When</b> I update profile description
|
228
|
+
<b> Then</b> I should see a confirmation message
|
229
|
+
</pre>
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
|
30
236
|
|
31
237
|
## Development
|
32
238
|
|
33
|
-
|
239
|
+
Currently we only support __RSpec__
|
240
|
+
|
241
|
+
__minitest__ and __test_unit__ pull requests are wanted.
|
242
|
+
|
243
|
+
__internationalization__ pull requests are wanted.
|
244
|
+
|
245
|
+
|
246
|
+
## Authors
|
247
|
+
|
248
|
+
* [James Pinto](http://github.com/thejamespinto)
|
249
|
+
|
34
250
|
|
35
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
36
251
|
|
37
252
|
## Contributing
|
38
253
|
|
39
|
-
1. Fork it ( https://github.com/
|
254
|
+
1. Fork it ( https://github.com/thejamespinto/bdd/fork )
|
40
255
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
41
256
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
42
257
|
4. Push to the branch (`git push origin my-new-feature`)
|
43
258
|
5. Create a new Pull Request
|
259
|
+
|
260
|
+
## Alternatives and Inspiration
|
261
|
+
|
262
|
+
* [rspec-steps](https://github.com/LRDesign/rspec-steps)
|
263
|
+
* [rspec-given](https://github.com/jimweirich/rspec-given)
|
264
|
+
* [rspec-example_steps](https://github.com/railsware/rspec-example_steps)
|
265
|
+
* [cucumber](https://github.com/cucumber/cucumber)
|
266
|
+
|
267
|
+
<pre>
|
268
|
+
<b>rspec-steps</b>, <b>rspec-given</b> and <b>rspec-example_steps</b> run <i>AS</i> examples.
|
269
|
+
<b>bdd</b> and <b>cucumber</b> run <i>INSIDE</i> examples, running tests faster.
|
270
|
+
</pre>
|
data/bdd.gemspec
CHANGED
@@ -21,13 +21,12 @@ Gem::Specification.new do |spec|
|
|
21
21
|
# if spec.respond_to?(:metadata)
|
22
22
|
# spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com' to prevent pushes to rubygems.org, or delete to allow pushes to any server."
|
23
23
|
# end
|
24
|
-
|
25
|
-
spec.add_runtime_dependency 'rspec-example_steps'
|
24
|
+
|
26
25
|
spec.add_runtime_dependency 'rspec'
|
27
26
|
spec.add_runtime_dependency 'colorize'
|
28
27
|
|
29
28
|
|
30
|
-
spec.add_development_dependency "bundler", "~> 1.9"
|
31
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
29
|
+
# spec.add_development_dependency "bundler", "~> 1.9"
|
30
|
+
# spec.add_development_dependency "rake", "~> 10.0"
|
32
31
|
# spec.add_development_dependency 'rspec'
|
33
32
|
end
|
@@ -1,83 +1,13 @@
|
|
1
1
|
# https://raw.githubusercontent.com/rspec/rspec-core/v3.2.2/lib/rspec/core/formatters/documentation_formatter.rb
|
2
|
-
# require "rspec/core/formatters/documentation_formatter"
|
3
2
|
|
4
3
|
RSpec::Support.require_rspec_core "formatters/base_text_formatter"
|
5
4
|
|
6
|
-
class RSpec::Core::ExampleGroup
|
7
|
-
def step(msg)
|
8
|
-
m = RSpec.current_example.metadata
|
9
|
-
|
10
|
-
if block_given?
|
11
|
-
# m[:step_messages] << msg #if m[:step_messages]
|
12
|
-
if @is_during_rspec_step
|
13
|
-
yield
|
14
|
-
else
|
15
|
-
m[:step_messages] << hash = {msg: msg}
|
16
|
-
@is_during_rspec_step = true
|
17
|
-
yield
|
18
|
-
# apply green color if example passes
|
19
|
-
hash[:color] = :green
|
20
|
-
@is_during_rspec_step = false
|
21
|
-
end
|
22
|
-
else
|
23
|
-
m[:step_messages] << {msg: "SKIPPED #{msg}"}
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def Given(msg, &block)
|
28
|
-
step(["Given", msg], &block)
|
29
|
-
end
|
30
|
-
|
31
|
-
def When(msg, &block)
|
32
|
-
step([" When", msg], &block)
|
33
|
-
end
|
34
|
-
|
35
|
-
def Then(msg, &block)
|
36
|
-
step([" Then", msg], &block)
|
37
|
-
end
|
38
|
-
|
39
|
-
def And(msg, &block)
|
40
|
-
step([" And", msg], &block)
|
41
|
-
end
|
42
|
-
|
43
|
-
def But(msg, &block)
|
44
|
-
step([" But", msg], &block)
|
45
|
-
end
|
46
|
-
|
47
|
-
# def AndGiven(msg, &block)
|
48
|
-
# step("And Given #{msg}", &block)
|
49
|
-
# end
|
50
|
-
|
51
|
-
# def AndWhen(msg, &block)
|
52
|
-
# step(" And When #{msg}", &block)
|
53
|
-
# end
|
54
|
-
|
55
|
-
# def AndThen(msg, &block)
|
56
|
-
# step(" And Then #{msg}", &block)
|
57
|
-
# end
|
58
|
-
|
59
|
-
# def ButGiven(msg, &block)
|
60
|
-
# step("But Given #{msg}", &block)
|
61
|
-
# end
|
62
|
-
|
63
|
-
# def ButWhen(msg, &block)
|
64
|
-
# step(" But When #{msg}", &block)
|
65
|
-
# end
|
66
|
-
|
67
|
-
# def ButThen(msg, &block)
|
68
|
-
# step(" But Then #{msg}", &block)
|
69
|
-
# end
|
70
|
-
end
|
71
|
-
|
72
|
-
|
73
5
|
module RSpec
|
74
6
|
module Core
|
75
7
|
module Formatters
|
8
|
+
|
76
9
|
# @private
|
77
10
|
class DocumentationFormatter < BaseTextFormatter
|
78
|
-
Formatters.register self
|
79
|
-
# , :example_group_started, :example_group_finished,
|
80
|
-
# :example_passed, :example_pending, :example_failed
|
81
11
|
|
82
12
|
def initialize(output)
|
83
13
|
super
|
@@ -130,7 +60,6 @@ module RSpec
|
|
130
60
|
else
|
131
61
|
msg[0].light_white.bold
|
132
62
|
end
|
133
|
-
# msg0 = msg[0].white.bold
|
134
63
|
last_step_title = msg[0]
|
135
64
|
|
136
65
|
msg = [msg0, msg[1].colorize(color)].join(' ')
|
@@ -138,8 +67,6 @@ module RSpec
|
|
138
67
|
# light_black doesn't really get used because the test failure prevents other messages from being added
|
139
68
|
r = [next_indentation, msg]
|
140
69
|
r.join(' ')
|
141
|
-
# r = [next_indentation, "-".colorize(color), msg]
|
142
|
-
# r.join(' ').colorize(color)
|
143
70
|
end
|
144
71
|
end
|
145
72
|
|
@@ -147,12 +74,6 @@ module RSpec
|
|
147
74
|
" "
|
148
75
|
end
|
149
76
|
|
150
|
-
|
151
|
-
def next_failure_index
|
152
|
-
@next_failure_index ||= 0
|
153
|
-
@next_failure_index += 1
|
154
|
-
end
|
155
|
-
|
156
77
|
def current_indentation
|
157
78
|
' ' * @group_level
|
158
79
|
end
|
@@ -161,9 +82,6 @@ module RSpec
|
|
161
82
|
' ' * (@group_level+1)
|
162
83
|
end
|
163
84
|
|
164
|
-
def example_group_chain
|
165
|
-
example_group.parent_groups.reverse
|
166
|
-
end
|
167
85
|
end
|
168
86
|
end
|
169
87
|
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module Bdd
|
2
|
+
module RSpec
|
3
|
+
module ExampleGroup
|
4
|
+
|
5
|
+
|
6
|
+
def step(array, &block)
|
7
|
+
m = ::RSpec.current_example.metadata
|
8
|
+
step_messages = m[:step_messages]
|
9
|
+
|
10
|
+
if block_given?
|
11
|
+
# m[:step_messages] << array #if m[:step_messages]
|
12
|
+
if @is_during_rspec_step
|
13
|
+
yield
|
14
|
+
else
|
15
|
+
step_messages << hash = {msg: array}
|
16
|
+
@is_during_rspec_step = true
|
17
|
+
yield
|
18
|
+
# apply green color if example passes
|
19
|
+
hash[:color] = :green
|
20
|
+
@is_during_rspec_step = false
|
21
|
+
end
|
22
|
+
|
23
|
+
elsif array.last == :bdd
|
24
|
+
a = step_messages.last[:msg]
|
25
|
+
a[0] = array[0]
|
26
|
+
else
|
27
|
+
step_messages << {msg: "SKIPPED #{array}"}
|
28
|
+
end
|
29
|
+
return :bdd
|
30
|
+
end
|
31
|
+
|
32
|
+
def Given(msg, &block)
|
33
|
+
step(["Given", msg], &block)
|
34
|
+
end
|
35
|
+
|
36
|
+
def When(msg, &block)
|
37
|
+
step([" When", msg], &block)
|
38
|
+
end
|
39
|
+
|
40
|
+
def Then(msg, &block)
|
41
|
+
step([" Then", msg], &block)
|
42
|
+
end
|
43
|
+
|
44
|
+
def And(msg, &block)
|
45
|
+
step([" And", msg], &block)
|
46
|
+
end
|
47
|
+
|
48
|
+
def But(msg, &block)
|
49
|
+
step([" But", msg], &block)
|
50
|
+
end
|
51
|
+
|
52
|
+
# def AndGiven(msg, &block)
|
53
|
+
# step("And Given #{msg}", &block)
|
54
|
+
# end
|
55
|
+
|
56
|
+
# def AndWhen(msg, &block)
|
57
|
+
# step(" And When #{msg}", &block)
|
58
|
+
# end
|
59
|
+
|
60
|
+
# def AndThen(msg, &block)
|
61
|
+
# step(" And Then #{msg}", &block)
|
62
|
+
# end
|
63
|
+
|
64
|
+
# def ButGiven(msg, &block)
|
65
|
+
# step("But Given #{msg}", &block)
|
66
|
+
# end
|
67
|
+
|
68
|
+
# def ButWhen(msg, &block)
|
69
|
+
# step(" But When #{msg}", &block)
|
70
|
+
# end
|
71
|
+
|
72
|
+
# def ButThen(msg, &block)
|
73
|
+
# step(" But Then #{msg}", &block)
|
74
|
+
# end
|
75
|
+
|
76
|
+
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Bdd
|
2
|
+
module RSpec
|
3
|
+
module Reporter
|
4
|
+
|
5
|
+
def __bdd_registered_formatters
|
6
|
+
@listeners.values.map(&:to_a).flatten.uniq
|
7
|
+
end
|
8
|
+
|
9
|
+
def __bdd_find_registered_formatter(klass)
|
10
|
+
__bdd_registered_formatters.detect { |formatter| formatter.class == klass }
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/bdd/rspec.rb
CHANGED
@@ -1,8 +1,37 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'bdd/rspec/reporter'
|
2
|
+
require 'bdd/rspec/example_group'
|
3
|
+
require 'bdd/rspec/documentation_formatter'
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
RSpec::Core::Reporter.send :include, Bdd::RSpec::Reporter
|
6
|
+
RSpec::Core::ExampleGroup.send :include, Bdd::RSpec::ExampleGroup
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
#
|
11
|
+
# CONFIGURE
|
12
|
+
#
|
13
|
+
RSpec.configure do |config|
|
14
|
+
# Use color in STDOUT
|
15
|
+
config.color = true
|
16
|
+
|
17
|
+
# Use color not only in STDOUT but also in pagers and files
|
18
|
+
config.tty = true
|
19
|
+
|
20
|
+
# Use the specified formatter
|
21
|
+
config.formatter = :documentation # :progress, :html, :textmate
|
8
22
|
end
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
#
|
27
|
+
# REGISTER
|
28
|
+
#
|
29
|
+
|
30
|
+
# if formatter = RSpec.world.reporter.__bdd_find_registered_formatter(RSpec::Core::Formatters::DocumentationFormatter)
|
31
|
+
# RSpec.world.reporter.register_listener formatter, :example_started
|
32
|
+
# RSpec::Core::Formatters.register formatter
|
33
|
+
# end
|
34
|
+
|
35
|
+
formatter = RSpec::Core::Formatters::DocumentationFormatter.new($stdout)
|
36
|
+
RSpec.world.reporter.register_listener formatter, :example_started
|
37
|
+
RSpec::Core::Formatters.register formatter
|
data/lib/bdd/version.rb
CHANGED
data/lib/bdd.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bdd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Pinto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: rspec-example_steps
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rspec
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,34 +38,6 @@ dependencies:
|
|
52
38
|
- - ">="
|
53
39
|
- !ruby/object:Gem::Version
|
54
40
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: bundler
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.9'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.9'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rake
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '10.0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '10.0'
|
83
41
|
description: Cucumber style in your RSpec tests
|
84
42
|
email:
|
85
43
|
- thejamespinto@gmail.com
|
@@ -88,8 +46,8 @@ extensions: []
|
|
88
46
|
extra_rdoc_files: []
|
89
47
|
files:
|
90
48
|
- ".gitignore"
|
91
|
-
- ".rspec"
|
92
49
|
- ".travis.yml"
|
50
|
+
- CHANGELOG.md
|
93
51
|
- Gemfile
|
94
52
|
- README.md
|
95
53
|
- Rakefile
|
@@ -98,7 +56,9 @@ files:
|
|
98
56
|
- bin/setup
|
99
57
|
- lib/bdd.rb
|
100
58
|
- lib/bdd/rspec.rb
|
101
|
-
- lib/bdd/rspec/
|
59
|
+
- lib/bdd/rspec/documentation_formatter.rb
|
60
|
+
- lib/bdd/rspec/example_group.rb
|
61
|
+
- lib/bdd/rspec/reporter.rb
|
102
62
|
- lib/bdd/version.rb
|
103
63
|
homepage: https://github.com/thejamespinto/bdd
|
104
64
|
licenses: []
|
data/.rspec
DELETED