kelp 0.1.7 → 0.1.8

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.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- kelp (0.1.7)
4
+ kelp (0.1.8)
5
5
  capybara (>= 0.4.0)
6
6
 
7
7
  GEM
data/History.md CHANGED
@@ -1,6 +1,12 @@
1
1
  Kelp History
2
2
  ============
3
3
 
4
+ 0.1.8
5
+ -----
6
+
7
+ - Fixed bug with should_see / should_not_see in RSpec 1.x
8
+
9
+
4
10
  0.1.7
5
11
  -----
6
12
 
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  Kelp
2
2
  ====
3
3
 
4
- This is the documentation for [Kelp](http://github.com/wapcaplet/kelp), a
5
- collection of helpers that makes it easier to write step definitions for
6
- [Cucumber](http://cukes.info). The Kelp gem is hosted on
7
- [Rubygems](http://rubygems.org/gems/kelp), so you can install it with:
4
+ [Kelp](http://github.com/wapcaplet/kelp) is a collection of helpers that makes
5
+ it easier to write step definitions for [Cucumber](http://cukes.info). The Kelp
6
+ gem is hosted on [Rubygems](http://rubygems.org/gems/kelp), so you can install
7
+ it with:
8
8
 
9
9
  $ gem install kelp
10
10
 
data/Rakefile CHANGED
@@ -31,8 +31,8 @@ end
31
31
  desc "Run RSpec and Cucumber tests with coverage analysis"
32
32
  task :all do |t|
33
33
  rm 'coverage.data' if File.exist?('coverage.data')
34
- Rake::Task['rcov:spec'].invoke
35
- Rake::Task['rcov:cucumber'].invoke
34
+ Rake::Task['spec'].invoke
35
+ Rake::Task['cucumber'].invoke
36
36
  end
37
37
 
38
38
  task :default => ['all']
@@ -38,7 +38,6 @@ Feature: Kelp Step Definitions
38
38
  12 steps (12 passed)
39
39
  """
40
40
 
41
- @focus
42
41
  Scenario: Visibility failure test
43
42
  When I run cucumber on "visibility_fail.feature"
44
43
  Then the results should include:
@@ -1,12 +1,11 @@
1
-
2
-
3
1
  Gem::Specification.new do |s|
4
2
  s.name = "kelp"
5
- s.version = "0.1.7"
3
+ s.version = "0.1.8"
6
4
  s.summary = "Cucumber helper methods"
7
5
  s.description = <<-EOS
8
6
  Kelp is a collection of helper methods for Cucumber to ease the process of
9
- writing step definitions.
7
+ writing step definitions. It also includes a Rails generator for generic
8
+ step definitions building upon those helpers.
10
9
  EOS
11
10
  s.authors = ["Eric Pierce"]
12
11
  s.email = "wapcaplet88@gmail.com"
@@ -10,5 +10,15 @@ module Kelp
10
10
  raise "Could not find field with locator: '#{locator}'"
11
11
  end
12
12
  end
13
+
14
+ # Return the appropriate "ExpectationNotMetError" class for the current
15
+ # version of RSpec
16
+ def rspec_unexpected
17
+ if defined?(RSpec)
18
+ RSpec::Expectations::ExpectationNotMetError
19
+ else
20
+ Spec::Expectations::ExpectationNotMetError
21
+ end
22
+ end
13
23
  end
14
24
  end
@@ -1,6 +1,7 @@
1
1
  require 'kelp/scoping'
2
2
  require 'kelp/xpath'
3
3
  require 'kelp/exceptions'
4
+ require 'kelp/helper'
4
5
 
5
6
  module Kelp
6
7
  # This module defines methods for verifying the visibility (or invisibility)
@@ -31,7 +32,7 @@ module Kelp
31
32
  texts.each do |text|
32
33
  begin
33
34
  page_should_contain text
34
- rescue RSpec::Expectations::ExpectationNotMetError
35
+ rescue rspec_unexpected
35
36
  unexpected << text
36
37
  end
37
38
  end
@@ -58,7 +59,7 @@ module Kelp
58
59
  texts.each do |text|
59
60
  begin
60
61
  page_should_not_contain text
61
- rescue RSpec::Expectations::ExpectationNotMetError
62
+ rescue rspec_unexpected
62
63
  unexpected << text
63
64
  end
64
65
  end
@@ -121,7 +122,7 @@ module Kelp
121
122
  assert_contain text
122
123
  end
123
124
  else
124
- raise RuntimeError, "Unsupported driver: #{Kelp.driver}"
125
+ raise NotImplementedError, "Unsupported driver: #{Kelp.driver}"
125
126
  end
126
127
  end
127
128
 
@@ -145,7 +146,7 @@ module Kelp
145
146
  assert_match(regexp, response_body)
146
147
  end
147
148
  else
148
- raise RuntimeError, "Unsupported driver: #{Kelp.driver}"
149
+ raise NotImplementedError, "Unsupported driver: #{Kelp.driver}"
149
150
  end
150
151
  end
151
152
 
@@ -170,7 +171,7 @@ module Kelp
170
171
  assert !hc.matches?(content), hc.negative_failure_message
171
172
  end
172
173
  else
173
- raise RuntimeError, "Unsupported driver: #{Kelp.driver}"
174
+ raise NotImplementedError, "Unsupported driver: #{Kelp.driver}"
174
175
  end
175
176
  end
176
177
 
@@ -194,7 +195,7 @@ module Kelp
194
195
  assert_not_contain(regexp)
195
196
  end
196
197
  else
197
- raise RuntimeError, "Unsupported driver: #{Kelp.driver}"
198
+ raise NotImplementedError, "Unsupported driver: #{Kelp.driver}"
198
199
  end
199
200
  end
200
201
 
@@ -218,7 +219,7 @@ module Kelp
218
219
  if Kelp.driver == :capybara
219
220
  page.should have_xpath(xpath_row_containing(texts))
220
221
  elsif Kelp.driver == :webrat
221
- raise RuntimeError, "Not implemented yet"
222
+ raise NotImplementedError, "Not implemented yet"
222
223
  end
223
224
  end
224
225
  end
@@ -242,7 +243,7 @@ module Kelp
242
243
  if Kelp.driver == :capybara
243
244
  page.should have_no_xpath(xpath_row_containing(texts))
244
245
  elsif Kelp.driver == :webrat
245
- raise RuntimeError, "Not implemented yet"
246
+ raise NotImplementedError, "Not implemented yet"
246
247
  end
247
248
  end
248
249
  end
@@ -15,13 +15,13 @@ describe Kelp::Attribute, "should_be_disabled" do
15
15
  it "element does not exist" do
16
16
  lambda do
17
17
  should_be_disabled "nonexistent"
18
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
18
+ end.should raise_error(rspec_unexpected)
19
19
  end
20
20
 
21
21
  it "element does not have the disabled attribute" do
22
22
  lambda do
23
23
  should_be_disabled "first_name"
24
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
24
+ end.should raise_error(rspec_unexpected)
25
25
  end
26
26
  end
27
27
  end
@@ -42,13 +42,13 @@ describe Kelp::Attribute, "should_be_enabled" do
42
42
  it "element does not exist" do
43
43
  lambda do
44
44
  should_be_enabled "nonexistent"
45
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
45
+ end.should raise_error(rspec_unexpected)
46
46
  end
47
47
 
48
48
  it "element has the disabled attribute" do
49
49
  lambda do
50
50
  should_be_enabled "readonly"
51
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
51
+ end.should raise_error(rspec_unexpected)
52
52
  end
53
53
  end
54
54
  end
@@ -27,20 +27,20 @@ describe Kelp::Dropdown, "dropdown_should_equal" do
27
27
  it "the option does not have the 'selected' attribute" do
28
28
  lambda do
29
29
  dropdown_should_equal "Height", "Tall"
30
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
30
+ end.should raise_error(rspec_unexpected)
31
31
  end
32
32
 
33
33
  it "the option is not the first one selected by default" do
34
34
  lambda do
35
35
  dropdown_should_equal "Weight", "Medium"
36
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
36
+ end.should raise_error(rspec_unexpected)
37
37
  end
38
38
 
39
39
  it "the option was not the one chosen programmatically" do
40
40
  select "Tall", :from => "Height"
41
41
  lambda do
42
42
  dropdown_should_equal "Height", "Average"
43
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
43
+ end.should raise_error(rspec_unexpected)
44
44
  end
45
45
  end
46
46
 
@@ -78,7 +78,7 @@ describe Kelp::Dropdown, "dropdown_should_include" do
78
78
  it "a single option does not exist in the dropdown" do
79
79
  lambda do
80
80
  dropdown_should_include "Height", "Midget"
81
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
81
+ end.should raise_error(rspec_unexpected)
82
82
  end
83
83
 
84
84
  it "any of several options do not exist in the dropdown" do
@@ -89,7 +89,7 @@ describe Kelp::Dropdown, "dropdown_should_include" do
89
89
  "Tall",
90
90
  "Giant",
91
91
  ]
92
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
92
+ end.should raise_error(rspec_unexpected)
93
93
  end
94
94
  end
95
95
  end
@@ -120,7 +120,7 @@ describe Kelp::Dropdown, "dropdown_should_not_include" do
120
120
  it "a single option exists in the dropdown" do
121
121
  lambda do
122
122
  dropdown_should_not_include "Height", "Short"
123
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
123
+ end.should raise_error(rspec_unexpected)
124
124
  end
125
125
 
126
126
  it "any of several options exist in the dropdown" do
@@ -131,7 +131,7 @@ describe Kelp::Dropdown, "dropdown_should_not_include" do
131
131
  "Behemoth",
132
132
  "Tall",
133
133
  ]
134
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
134
+ end.should raise_error(rspec_unexpected)
135
135
  end
136
136
  end
137
137
  end
@@ -161,20 +161,20 @@ describe Kelp::Dropdown, "dropdown_value_should_equal" do
161
161
  it "the option with the 'selected' attribute has a different value" do
162
162
  lambda do
163
163
  dropdown_value_should_equal "Height", "99"
164
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
164
+ end.should raise_error(rspec_unexpected)
165
165
  end
166
166
 
167
167
  it "the first option selected by default does not have given value" do
168
168
  lambda do
169
169
  dropdown_value_should_equal "Weight", "2"
170
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
170
+ end.should raise_error(rspec_unexpected)
171
171
  end
172
172
 
173
173
  it "the programmatically chosen option has a different value" do
174
174
  select "Tall", :from => "Height"
175
175
  lambda do
176
176
  dropdown_value_should_equal "Height", "2"
177
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
177
+ end.should raise_error(rspec_unexpected)
178
178
  end
179
179
  end
180
180
  end
@@ -71,14 +71,14 @@ describe Kelp::Field, "field_should_contain" do
71
71
  it "is empty" do
72
72
  lambda do
73
73
  field_should_contain "first_name", "Brian"
74
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
74
+ end.should raise_error(rspec_unexpected)
75
75
  end
76
76
 
77
77
  it "has a different value" do
78
78
  fill_in "first_name", :with => "Judith"
79
79
  lambda do
80
80
  field_should_contain "first_name", "Brian"
81
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
81
+ end.should raise_error(rspec_unexpected)
82
82
  end
83
83
  end
84
84
 
@@ -86,14 +86,14 @@ describe Kelp::Field, "field_should_contain" do
86
86
  it "is empty" do
87
87
  lambda do
88
88
  field_should_contain "First name", "Brian"
89
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
89
+ end.should raise_error(rspec_unexpected)
90
90
  end
91
91
 
92
92
  it "has a different value" do
93
93
  fill_in "First name", :with => "Judith"
94
94
  lambda do
95
95
  field_should_contain "First name", "Brian"
96
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
96
+ end.should raise_error(rspec_unexpected)
97
97
  end
98
98
  end
99
99
 
@@ -154,7 +154,7 @@ describe Kelp::Field, "fields_should_contain" do
154
154
  it "are empty" do
155
155
  lambda do
156
156
  fields_should_contain "first_name" => "Terry", "last_name" => "Jones"
157
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
157
+ end.should raise_error(rspec_unexpected)
158
158
  end
159
159
 
160
160
  it "do not all match" do
@@ -162,7 +162,7 @@ describe Kelp::Field, "fields_should_contain" do
162
162
  fill_in "last_name", :with => "Gilliam"
163
163
  lambda do
164
164
  fields_should_contain "first_name" => "Terry", "last_name" => "Jones"
165
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
165
+ end.should raise_error(rspec_unexpected)
166
166
  end
167
167
  end
168
168
 
@@ -170,7 +170,7 @@ describe Kelp::Field, "fields_should_contain" do
170
170
  it "are empty" do
171
171
  lambda do
172
172
  fields_should_contain "First name" => "Terry", "Last name" => "Jones"
173
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
173
+ end.should raise_error(rspec_unexpected)
174
174
  end
175
175
 
176
176
  it "do not all match" do
@@ -178,7 +178,7 @@ describe Kelp::Field, "fields_should_contain" do
178
178
  fill_in "Last name", :with => "Gilliam"
179
179
  lambda do
180
180
  fields_should_contain "First name" => "Terry", "Last name" => "Jones"
181
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
181
+ end.should raise_error(rspec_unexpected)
182
182
  end
183
183
  end
184
184
 
@@ -238,19 +238,19 @@ describe Kelp::Visibility, "should_see_in_same_row" do
238
238
  it "two strings exist, but are not in the same row" do
239
239
  lambda do
240
240
  should_see_in_same_row ["Eric", "John"]
241
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
241
+ end.should raise_error(rspec_unexpected)
242
242
  end
243
243
 
244
244
  it "two strings are in the same row, but a third is not" do
245
245
  lambda do
246
246
  should_see_in_same_row ["Eric", "Edit", "Delete"]
247
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
247
+ end.should raise_error(rspec_unexpected)
248
248
  end
249
249
 
250
250
  it "two strings are in the same row, but outside the given scope" do
251
251
  lambda do
252
252
  should_see_in_same_row ["Eric", "Edit"], :within => "#table_b"
253
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
253
+ end.should raise_error(rspec_unexpected)
254
254
  end
255
255
  end
256
256
  end
@@ -282,13 +282,13 @@ describe Kelp::Visibility, "should_not_see_in_same_row" do
282
282
  it "two strings are in the same row" do
283
283
  lambda do
284
284
  should_not_see_in_same_row ["Eric", "Edit"]
285
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
285
+ end.should raise_error(rspec_unexpected)
286
286
  end
287
287
 
288
288
  it "two strings are in the same row within a given scope" do
289
289
  lambda do
290
290
  should_not_see_in_same_row ["Eric", "Edit"], :within => "#table_a"
291
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
291
+ end.should raise_error(rspec_unexpected)
292
292
  end
293
293
  end
294
294
  end
@@ -319,7 +319,7 @@ describe Kelp::Visibility, "page_should_contain" do
319
319
  it "does not exist" do
320
320
  lambda do
321
321
  page_should_contain "Wazzup world"
322
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
322
+ end.should raise_error(rspec_unexpected)
323
323
  end
324
324
  end
325
325
 
@@ -327,7 +327,7 @@ describe Kelp::Visibility, "page_should_contain" do
327
327
  it "does not match" do
328
328
  lambda do
329
329
  page_should_contain /(Foo|Bar|Baz) world/
330
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
330
+ end.should raise_error(rspec_unexpected)
331
331
  end
332
332
  end
333
333
 
@@ -365,20 +365,20 @@ describe Kelp::Visibility, "page_should_not_contain" do
365
365
  it "exists" do
366
366
  lambda do
367
367
  page_should_not_contain "Hello world"
368
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
368
+ end.should raise_error(rspec_unexpected)
369
369
  lambda do
370
370
  page_should_not_contain "Goodbye world"
371
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
371
+ end.should raise_error(rspec_unexpected)
372
372
  end
373
373
  end
374
374
  context "Regexp" do
375
375
  it "matches" do
376
376
  lambda do
377
377
  page_should_not_contain /(Hello|Goodbye) world/
378
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
378
+ end.should raise_error(rspec_unexpected)
379
379
  lambda do
380
380
  page_should_not_contain /\d\d\d-\d\d\d\d/
381
- end.should raise_error(RSpec::Expectations::ExpectationNotMetError)
381
+ end.should raise_error(rspec_unexpected)
382
382
  end
383
383
  end
384
384
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kelp
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 7
10
- version: 0.1.7
9
+ - 8
10
+ version: 0.1.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Eric Pierce
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-25 00:00:00 -06:00
18
+ date: 2011-04-26 00:00:00 -06:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: "0"
121
121
  type: :development
122
122
  version_requirements: *id007
123
- description: " Kelp is a collection of helper methods for Cucumber to ease the process of\n writing step definitions.\n"
123
+ description: " Kelp is a collection of helper methods for Cucumber to ease the process of\n writing step definitions. It also includes a Rails generator for generic\n step definitions building upon those helpers.\n"
124
124
  email: wapcaplet88@gmail.com
125
125
  executables: []
126
126