rspec-given 2.0.0.beta.1 → 2.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+ gem 'rspec', '>= 2.0'
3
+ gem 'rake', '>= 0.9.2.2'
data/Gemfile.lock ADDED
@@ -0,0 +1,20 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.3)
5
+ rake (0.9.2.2)
6
+ rspec (2.11.0)
7
+ rspec-core (~> 2.11.0)
8
+ rspec-expectations (~> 2.11.0)
9
+ rspec-mocks (~> 2.11.0)
10
+ rspec-core (2.11.1)
11
+ rspec-expectations (2.11.2)
12
+ diff-lcs (~> 1.1.3)
13
+ rspec-mocks (2.11.2)
14
+
15
+ PLATFORMS
16
+ ruby
17
+
18
+ DEPENDENCIES
19
+ rake (>= 0.9.2.2)
20
+ rspec (>= 2.0)
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # rspec-given
2
2
 
3
- Covering rspec-given, version 2.0.0.beta.1.
3
+ Covering rspec-given, version 2.0.0.beta.2.
4
4
 
5
5
  rspec-given is an RSpec extension to allow Given/When/Then notation in
6
6
  RSpec specifications. It is a natural extension of the experimental
@@ -62,7 +62,7 @@ describe Stack do
62
62
  When(:pop_result) { stack.pop }
63
63
 
64
64
  Then { pop_result.should == :an_item }
65
- Then { stack.should be_empty }
65
+ Then { stack.depth.should == 0 }
66
66
  end
67
67
  end
68
68
 
@@ -231,7 +231,6 @@ assertion. Code in _Then_ blocks should not have any side effects.
231
231
  After the related _When_ block is run, the stack should be empty. If
232
232
  it is not empty, the test will fail.
233
233
 
234
- <!--
235
234
  ### Invariant
236
235
 
237
236
  The _Invariant_ block is a new idea that doesn't have an analog in
@@ -250,11 +249,6 @@ that context.
250
249
  Invariants that reference a _Given_ precondition accessor must only be
251
250
  used in contexts that define that accessor.
252
251
 
253
- NOTE: Invariants are not yet implemented in the current version of
254
- rspec-given.
255
-
256
- -->
257
-
258
252
  # Future Directions
259
253
 
260
254
  I really like the way the Given framework is working out. I feel my
@@ -282,3 +276,4 @@ has laid some groundwork in this area.
282
276
  * Github: [https://github.com/jimweirich/rspec-given](https://github.com/jimweirich/rspec-given)
283
277
  * Clone URL: git://github.com/jimweirich/rspec-given.git
284
278
  * Bug/Issue Reporting: [https://github.com/jimweirich/rspec-given/issues](https://github.com/jimweirich/rspec-given/issues)
279
+ * Continuous Integration: [http://travis-ci.org/#!/jimweirich/rspec-given](http://travis-ci.org/#!/jimweirich/rspec-given)
data/Rakefile CHANGED
@@ -138,8 +138,13 @@ end
138
138
 
139
139
 
140
140
  # RDoc ---------------------------------------------------------------
141
- gem "rdoc"
142
- require 'rdoc/task'
141
+ begin
142
+ gem "rdoc"
143
+ require 'rdoc/task'
144
+ RDOC_ENABLED = true
145
+ rescue LoadError => ex
146
+ RDOC_ENABLED = false
147
+ end
143
148
 
144
149
  begin
145
150
  require 'darkfish-rdoc'
@@ -148,57 +153,59 @@ rescue LoadError => ex
148
153
  DARKFISH_ENABLED = false
149
154
  end
150
155
 
151
- def md_to_rdoc(infile, outfile)
152
- open(infile) do |ins|
153
- open(outfile, "w") do |outs|
154
- state = :copy
155
- while line = ins.gets
156
- case state
157
- when :ignore
158
- if line =~ /^-->/
159
- state = :copy
160
- end
161
- when :pre
162
- if line =~ /^<\/pre>/
163
- state = :copy
164
- else
165
- outs.puts " #{line}"
166
- end
167
- when :copy
168
- if line =~ /^<!--/
169
- state = :ignore
170
- elsif line =~ /^<pre>/
171
- state = :pre
172
- else
173
- line.gsub!(/^####/, '====')
174
- line.gsub!(/^###/, '===')
175
- line.gsub!(/^##/, '==')
176
- line.gsub!(/^#/, '=')
177
- outs.puts line
156
+ if RDOC_ENABLED
157
+ def md_to_rdoc(infile, outfile)
158
+ open(infile) do |ins|
159
+ open(outfile, "w") do |outs|
160
+ state = :copy
161
+ while line = ins.gets
162
+ case state
163
+ when :ignore
164
+ if line =~ /^-->/
165
+ state = :copy
166
+ end
167
+ when :pre
168
+ if line =~ /^<\/pre>/
169
+ state = :copy
170
+ else
171
+ outs.puts " #{line}"
172
+ end
173
+ when :copy
174
+ if line =~ /^<!--/
175
+ state = :ignore
176
+ elsif line =~ /^<pre>/
177
+ state = :pre
178
+ else
179
+ line.gsub!(/^####/, '====')
180
+ line.gsub!(/^###/, '===')
181
+ line.gsub!(/^##/, '==')
182
+ line.gsub!(/^#/, '=')
183
+ outs.puts line
184
+ end
178
185
  end
179
186
  end
180
187
  end
181
188
  end
182
189
  end
183
- end
184
190
 
185
- file "README" => ["README.md"] do
186
- md_to_rdoc("README.md", "README")
187
- end
191
+ file "README" => ["README.md"] do
192
+ md_to_rdoc("README.md", "README")
193
+ end
188
194
 
189
- RDoc::Task.new("rdoc") do |rdoc|
190
- rdoc.rdoc_dir = 'html'
191
- rdoc.title = "RSpec/Given -- A Given/When/Then extension for RSpec"
192
- rdoc.options = [
193
- '--line-numbers',
194
- '--main' , 'README',
195
- '--title', 'RSpec::Given - Given/When/Then Extensions for RSpec'
196
- ]
197
- rdoc.options << '-SHN' << '-f' << 'darkfish' if DARKFISH_ENABLED
195
+ RDoc::Task.new("rdoc") do |rdoc|
196
+ rdoc.rdoc_dir = 'html'
197
+ rdoc.title = "RSpec/Given -- A Given/When/Then extension for RSpec"
198
+ rdoc.options = [
199
+ '--line-numbers',
200
+ '--main' , 'README',
201
+ '--title', 'RSpec::Given - Given/When/Then Extensions for RSpec'
202
+ ]
203
+ rdoc.options << '-SHN' << '-f' << 'darkfish' if DARKFISH_ENABLED
204
+
205
+ rdoc.rdoc_files.include('README')
206
+ rdoc.rdoc_files.include('MIT-LICENSE')
207
+ rdoc.rdoc_files.include('lib/**/*.rb', 'doc/**/*.rdoc')
208
+ end
198
209
 
199
- rdoc.rdoc_files.include('README')
200
- rdoc.rdoc_files.include('MIT-LICENSE')
201
- rdoc.rdoc_files.include('lib/**/*.rb', 'doc/**/*.rdoc')
210
+ task :rdoc => "README"
202
211
  end
203
-
204
- task :rdoc => "README"
@@ -49,3 +49,15 @@ describe "Lazy Givens" do
49
49
  Then { value.should == :ok }
50
50
  end
51
51
  end
52
+
53
+ describe "Non-Lazy Givens" do
54
+ Given(:info) { [] }
55
+
56
+ When { info << :when }
57
+
58
+ context "inner" do
59
+ Given!(:a) { info << :given; "A VALUE" }
60
+ Then { info.should == [:given, :when] }
61
+ end
62
+
63
+ end
@@ -36,7 +36,7 @@ describe Stack do
36
36
  When(:pop_result) { stack.pop }
37
37
 
38
38
  Then { pop_result.should == :an_item }
39
- Then { stack.should be_empty }
39
+ Then { stack.depth.should == 0 }
40
40
  end
41
41
  end
42
42
 
@@ -46,6 +46,12 @@ module RSpec
46
46
  @_rg_invariants ||= []
47
47
  end
48
48
 
49
+ # Trigger the evaluation of a Given! block by referencing its
50
+ # name.
51
+ def _rg_trigger_given(name) # :nodoc:
52
+ Proc.new { send(name) }
53
+ end
54
+
49
55
  # *DEPRECATED:*
50
56
  #
51
57
  # The Scenario command is deprecated. Using Scenario in a spec
@@ -95,6 +101,7 @@ module RSpec
95
101
  # Given!(:name) { ... code ... }
96
102
  def Given!(name, &block)
97
103
  let!(name, &block)
104
+ _rg_givens << _rg_trigger_given(name)
98
105
  end
99
106
 
100
107
  # Declare the code that is under test.
@@ -5,7 +5,7 @@ module RSpec
5
5
  VERSION_MINOR = 0,
6
6
  VERSION_BUILD = 0,
7
7
  VERSION_BETA = 'beta',
8
- VERSION_BETANUM = 1,
8
+ VERSION_BETANUM = 2,
9
9
  ]
10
10
  VERSION = VERSION_NUMBERS.join(".")
11
11
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-given
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta.1
4
+ version: 2.0.0.beta.2
5
5
  prerelease: 6
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: 2012-08-30 00:00:00.000000000 Z
12
+ date: 2012-09-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70366429396080 !ruby/object:Gem::Requirement
16
+ requirement: &70238859403780 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>'
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.2.8
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70366429396080
24
+ version_requirements: *70238859403780
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bluecloth
27
- requirement: &70366429395640 !ruby/object:Gem::Requirement
27
+ requirement: &70238859403340 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70366429395640
35
+ version_requirements: *70238859403340
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdoc
38
- requirement: &70366429394960 !ruby/object:Gem::Requirement
38
+ requirement: &70238859402720 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>'
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 2.4.2
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70366429394960
46
+ version_requirements: *70238859402720
47
47
  description: ! 'Given is an RSpec extension that allows explicit definition of the
48
48
 
49
49
  pre and post-conditions for code under test.
@@ -54,6 +54,8 @@ executables: []
54
54
  extensions: []
55
55
  extra_rdoc_files: []
56
56
  files:
57
+ - Gemfile
58
+ - Gemfile.lock
57
59
  - MIT-LICENSE
58
60
  - Rakefile
59
61
  - README.md