kelp 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTI0ZjAxY2UyZTQ4MGU3NDg0YWQ2Yjg2NDM0ZTgwYzk5MjBhMTIyNQ==
5
+ data.tar.gz: !binary |-
6
+ YmI3YjlmYWI0ZmI4NzQ3OTM1YzhhODkxMjQ3ZjBiZmNlNmQ1MmJjMg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ ODdkOTYxMzMyMTExMjcyNDRhMWYzNDEwYjU0MzhlNjg4MmI0MjBmMTRmMGQw
10
+ ZWQ5ZWJjYjFkNDRkN2EyNDA4NTUxYTZiZWIzYWU3ZDNhOTI0NDAxZmY1NWQx
11
+ NmI1MzU2ZDdlZDUwMmZkMjkwNjI3MGIxYmE3ZjhiOGQ2MDliN2M=
12
+ data.tar.gz: !binary |-
13
+ M2YwNjZkZWJmODRlNDQzOGQxMTY0Nzk1YmY4NTNlNGEwODkxMjg3Mzk1ZDgw
14
+ Y2YxZWI5NzUxYWI0MjcxOWI0ZmNjYWY1NjMyMzYwMjI4MGM1YTQwNTg2NTNh
15
+ MzA0OGUxYjE1M2UzNzQxMzBjMmY1MmJjZjQxM2U0MGQ0NjRhYzI=
data/History.md CHANGED
@@ -1,6 +1,12 @@
1
1
  Kelp History
2
2
  ============
3
3
 
4
+ 0.2.5
5
+ -----
6
+
7
+ - Use Capybara >= 2.0
8
+
9
+
4
10
  0.2.4
5
11
  -----
6
12
 
data/README.md CHANGED
@@ -60,6 +60,24 @@ Then add the relevant modules to Cucumber's `World`:
60
60
 
61
61
  World(Kelp::Visibility)
62
62
 
63
+ Or, to include all available helpers:
64
+
65
+ require 'kelp/attribute'
66
+ require 'kelp/checkbox'
67
+ require 'kelp/dropdown'
68
+ require 'kelp/field'
69
+ require 'kelp/navigation'
70
+ require 'kelp/scoping'
71
+ require 'kelp/visibility'
72
+
73
+ World(Kelp::Attribute)
74
+ World(Kelp::Checkbox)
75
+ World(Kelp::Dropdown)
76
+ World(Kelp::Field)
77
+ World(Kelp::Navigation)
78
+ World(Kelp::Scoping)
79
+ World(Kelp::Visibility)
80
+
63
81
  Many of the provided helpers are designed to make it easier to do things you
64
82
  might otherwise be tempted to do with nested step definitions. For example, if
65
83
  you need to verify the presence of several text strings on a webpage, you might
@@ -96,6 +96,13 @@
96
96
  </form>
97
97
  </div>
98
98
 
99
+ <div id="ambiguous_on_name_and_id">
100
+ <form action="#" method="">
101
+ <p><label for="name_is_id">Name or ID</label></p>
102
+ <p><input id="name_is_id" name="name_is_id" type="text" /></p>
103
+ </form>
104
+ </div>
105
+
99
106
  </body>
100
107
  </html>
101
108
 
@@ -122,6 +122,13 @@
122
122
  </form>
123
123
  </div>
124
124
 
125
+ <div id="ambiguous_on_name_and_id">
126
+ <form action="#" method="">
127
+ <p><label for="name_is_id">Name or ID</label></p>
128
+ <p><input id="name_is_id" name="name_is_id" type="text" /></p>
129
+ </form>
130
+ </div>
131
+
125
132
  </body>
126
133
  </html>
127
134
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "kelp"
3
- s.version = "0.2.4"
3
+ s.version = "0.2.5"
4
4
  s.summary = "Cucumber helper methods"
5
5
  s.description = <<-EOS
6
6
  Kelp is a collection of helper methods for Cucumber to ease the process of
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.homepage = "http://github.com/wapcaplet/kelp"
13
13
  s.platform = Gem::Platform::RUBY
14
14
 
15
- s.add_dependency 'capybara', '~> 2.0.1'
15
+ s.add_dependency 'capybara', '>= 2.0'
16
16
 
17
17
  s.add_development_dependency 'sinatra'
18
18
  s.add_development_dependency 'rspec', '>= 2.2.0'
@@ -166,7 +166,7 @@ module Kelp
166
166
  def field_should_be_empty(field, scope={})
167
167
  in_scope(scope) do
168
168
  _field = nice_find_field(field)
169
- if !(_field.nil? || _field.value.nil? || _field.value == '')
169
+ if !(_field.nil? || _field.value.nil? || _field.value.strip == '')
170
170
  raise Kelp::Unexpected,
171
171
  "Expected field '#{field}' to be empty, but value is '#{_field.value}'"
172
172
  end
@@ -265,7 +265,7 @@ module Kelp
265
265
  field_values.each do |field, value|
266
266
  _field = find_field(field)
267
267
  # For nil/empty, check for nil field or nil value
268
- if value.nil? or value.empty?
268
+ if value.nil? or value.strip.empty?
269
269
  field_should_be_empty(field)
270
270
  # If field is a dropdown
271
271
  elsif _field.tag_name == 'select'
@@ -189,7 +189,7 @@ module Kelp
189
189
  #
190
190
  def should_not_see_button(button_text, scope={})
191
191
  in_scope(scope) do
192
- xpath = XPath::HTML.button(button_text)
192
+ xpath = XPath::HTML.button(button_text)[~ XPath.attr(:disabled)]
193
193
  if page.has_xpath?(xpath)
194
194
  raise Kelp::Unexpected, "Did not expect to see button '#{button_text}', but button exists."
195
195
  end
@@ -58,12 +58,20 @@ describe Kelp::Field, "field_should_contain" do
58
58
  end
59
59
  end
60
60
 
61
+ context "field with id == name" do
62
+ it "has the given value" do
63
+ fill_in "name_is_id", :with => "Foo"
64
+ field_should_contain "name_is_id", "Foo"
65
+ end
66
+ end
67
+
61
68
  context "field with label" do
62
69
  it "has the given value" do
63
70
  fill_in "First name", :with => "Brian"
64
71
  field_should_contain "First name", "Brian"
65
72
  end
66
73
  end
74
+
67
75
  end
68
76
 
69
77
  context "fails when" do
@@ -97,6 +105,13 @@ describe Kelp::Field, "field_should_contain" do
97
105
  end
98
106
  end
99
107
 
108
+ context "field with id == name" do
109
+ it "does not have the given value" do
110
+ lambda do
111
+ field_should_contain "name_is_id", "Stewie"
112
+ end.should raise_error(Kelp::Unexpected)
113
+ end
114
+ end
100
115
  end
101
116
 
102
117
  end
@@ -255,6 +270,11 @@ describe Kelp::Field, "fill_in_field" do
255
270
  field_should_contain "Life story", "I was born."
256
271
  end
257
272
 
273
+ it "filling a single field where name == id" do
274
+ fill_in_field "name_is_id", "Who"
275
+ field_should_contain "name_is_id", "Who"
276
+ end
277
+
258
278
  it "checking a checkbox" do
259
279
  fill_in_field "I like cheese", "checked"
260
280
  checkbox_should_be_checked "I like cheese"
@@ -285,6 +305,7 @@ describe Kelp::Field, "fill_in_field" do
285
305
  fill_in_field_within "#person_form", "First name", "Mel"
286
306
  field_should_contain_within "#person_form", "First name", "Mel"
287
307
  end
308
+
288
309
  end
289
310
 
290
311
  context "fails when" do
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kelp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
5
- prerelease:
4
+ version: 0.2.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Eric Pierce
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-04 00:00:00.000000000 Z
11
+ date: 2015-01-06 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: capybara
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - ! '>='
20
18
  - !ruby/object:Gem::Version
21
- version: 2.0.1
19
+ version: '2.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - ! '>='
28
25
  - !ruby/object:Gem::Version
29
- version: 2.0.1
26
+ version: '2.0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: sinatra
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rspec-rails
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: simplecov
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: webrat
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: cucumber
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ! '>='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ! '>='
124
109
  - !ruby/object:Gem::Version
@@ -193,26 +178,25 @@ files:
193
178
  - spec/xpath_spec.rb
194
179
  homepage: http://github.com/wapcaplet/kelp
195
180
  licenses: []
181
+ metadata: {}
196
182
  post_install_message:
197
183
  rdoc_options: []
198
184
  require_paths:
199
185
  - lib
200
186
  required_ruby_version: !ruby/object:Gem::Requirement
201
- none: false
202
187
  requirements:
203
188
  - - ! '>='
204
189
  - !ruby/object:Gem::Version
205
190
  version: '0'
206
191
  required_rubygems_version: !ruby/object:Gem::Requirement
207
- none: false
208
192
  requirements:
209
193
  - - ! '>='
210
194
  - !ruby/object:Gem::Version
211
195
  version: '0'
212
196
  requirements: []
213
197
  rubyforge_project:
214
- rubygems_version: 1.8.24
198
+ rubygems_version: 2.2.2
215
199
  signing_key:
216
- specification_version: 3
200
+ specification_version: 4
217
201
  summary: Cucumber helper methods
218
202
  test_files: []