kameleon 0.2.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -4,9 +4,19 @@
4
4
 
5
5
  [![CoderWall](http://api.coderwall.com/cs3b/endorsecount.png)](http://coderwall.com/cs3b)
6
6
 
7
- Kameleon is a high abstraction dsl for better writing acceptance and integrationtests using Capybara.
7
+ Kameleon is a high abstraction dsl for better writing acceptance and integration tests using Capybara.
8
8
  And "better" means: more easily to mimic how user interact with browser.
9
9
 
10
+ ## note on Capybara versions
11
+
12
+ for 1.x capybara please use kameleon in version below 1.0
13
+
14
+ gem 'kameleon', '< 1.0'
15
+
16
+ for 2.x capybara please use kameleon in version higher or equeal 1.0
17
+
18
+ gem 'kameleon', '>= 1.0'
19
+
10
20
  ## Setup
11
21
 
12
22
  Kameleon requires:
@@ -80,7 +80,9 @@ module Kameleon
80
80
  [:xpath, "//tbody/tr[#{value_in_row}]/td[#{value_in_column}]"]
81
81
  else
82
82
  #! on page there might be more then one table
83
- position = Capybara.current_session.all(:xpath, "//table//th").index { |n| n.text =~ /#{value_in_column}/ }
83
+ result = Capybara.current_session.all(:xpath, "//table//th")
84
+ elements = result.each.to_a
85
+ position = elements.index { |n| n.text =~ /#{value_in_column}/ }
84
86
  [:xpath, "//tr[*='#{value_in_row}'][1]/td[#{position+1}]"]
85
87
  end
86
88
  end
@@ -231,7 +231,12 @@ module Kameleon
231
231
  when Symbol
232
232
  parse_params(params.to_s)
233
233
  when String
234
- conditions << Condition.new(:have_field, params, :with => value)
234
+ conditions <<
235
+ if value.nil? or value == ""
236
+ Condition.new(:have_field, params)
237
+ else
238
+ Condition.new(:have_field, params, :with => value)
239
+ end
235
240
  when Array
236
241
  params.each { |param| parse_params(param) }
237
242
  else
@@ -332,13 +337,13 @@ module Kameleon
332
337
  parse_params(selected_value => identifier.to_s)
333
338
  when String
334
339
  value = case selected_value
335
- when Symbol, Fixnum
336
- selected_value.to_s
337
- when String, Array
338
- selected_value
339
- else
340
- raise "not supported"
341
- end
340
+ when Symbol, Fixnum
341
+ selected_value.to_s
342
+ when String, Array
343
+ selected_value
344
+ else
345
+ raise "not supported"
346
+ end
342
347
  conditions << Condition.new(matcher_method, identifier, :selected => value)
343
348
  else
344
349
  raise "not supported"
@@ -1,4 +1,4 @@
1
1
  require 'kameleon/ext/rspec/dsl'
2
- require 'kameleon/ext/rspec/garbage_collector'
2
+ require 'kameleon/ext/rspec/garbage_collector' unless defined? JRUBY_VERSION
3
3
  require 'kameleon/ext/rspec/headless'
4
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kameleon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-11-12 00:00:00.000000000 Z
14
+ date: 2013-02-24 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rspec
@@ -34,17 +34,17 @@ dependencies:
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  none: false
36
36
  requirements:
37
- - - ! '>='
37
+ - - ~>
38
38
  - !ruby/object:Gem::Version
39
- version: '0'
39
+ version: '2.0'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  none: false
44
44
  requirements:
45
- - - ! '>='
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '2.0'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: headless
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -126,53 +126,53 @@ dependencies:
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  - !ruby/object:Gem::Dependency
129
- name: guard-rspec
129
+ name: selenium-webdriver
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  none: false
132
132
  requirements:
133
- - - ! '>='
133
+ - - ~>
134
134
  - !ruby/object:Gem::Version
135
- version: '0'
135
+ version: '2.0'
136
136
  type: :development
137
137
  prerelease: false
138
138
  version_requirements: !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
- - - ! '>='
141
+ - - ~>
142
142
  - !ruby/object:Gem::Version
143
- version: '0'
143
+ version: '2.0'
144
144
  - !ruby/object:Gem::Dependency
145
- name: selenium-webdriver
145
+ name: capybara-webkit
146
146
  requirement: !ruby/object:Gem::Requirement
147
147
  none: false
148
148
  requirements:
149
- - - ! '>='
149
+ - - ~>
150
150
  - !ruby/object:Gem::Version
151
- version: '0'
151
+ version: '1.14'
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  none: false
156
156
  requirements:
157
- - - ! '>='
157
+ - - ~>
158
158
  - !ruby/object:Gem::Version
159
- version: '0'
159
+ version: '1.14'
160
160
  - !ruby/object:Gem::Dependency
161
- name: capybara-webkit
161
+ name: poltergeist
162
162
  requirement: !ruby/object:Gem::Requirement
163
163
  none: false
164
164
  requirements:
165
- - - ! '>='
165
+ - - ~>
166
166
  - !ruby/object:Gem::Version
167
- version: '0'
167
+ version: '1.1'
168
168
  type: :development
169
169
  prerelease: false
170
170
  version_requirements: !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
- - - ! '>='
173
+ - - ~>
174
174
  - !ruby/object:Gem::Version
175
- version: '0'
175
+ version: '1.1'
176
176
  - !ruby/object:Gem::Dependency
177
177
  name: pry
178
178
  requirement: !ruby/object:Gem::Requirement
@@ -232,7 +232,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
232
232
  requirements:
233
233
  - - ! '>='
234
234
  - !ruby/object:Gem::Version
235
- version: '0'
235
+ version: 1.9.0
236
236
  required_rubygems_version: !ruby/object:Gem::Requirement
237
237
  none: false
238
238
  requirements: