page-object 0.8 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ === Version 0.8.1 / 2012-12-28
2
+ * Fixes
3
+ * Fixed issue when calling new multi-element class methods using a block
4
+
1
5
  === Version 0.8 / 2012-12-22
2
6
  * Enhancements
3
7
  * Added the following class level methods to return all elements matching the locator
@@ -295,6 +295,13 @@ Feature: Multi Elements
295
295
  And the text of div 1 should be "Div 1"
296
296
  And the text of div 2 should be "Div 2"
297
297
  And the text of div 3 should be "Div 3"
298
+
299
+ Scenario: Selecting all divs using a block instead of an identifier
300
+ When I select the divs using a block
301
+ Then I should have 3 divs
302
+ And the text of div 1 should be "Div 1"
303
+ And the text of div 2 should be "Div 2"
304
+ And the text of div 3 should be "Div 3"
298
305
 
299
306
  Scenario: Selecting buttons based on a class declaration
300
307
  When I select the buttons using the generated method
@@ -2,6 +2,9 @@ class MultiElementsPage
2
2
  include PageObject
3
3
 
4
4
  divs(:the_divs, :class => 'div')
5
+ divs(:block_divs) do |page|
6
+ page.div_elements(:class => 'div')
7
+ end
5
8
  buttons(:the_buttons, :class => 'button')
6
9
  text_fields(:the_text_fields, :class => 'textfield')
7
10
  hidden_fields(:the_hidden_fields, :class => 'hiddenfield')
@@ -514,3 +517,7 @@ end
514
517
  When /^I select the file fields using the generated method$/ do
515
518
  @elements = @page.the_file_fields_elements
516
519
  end
520
+
521
+ When /^I select the divs using a block$/ do
522
+ @elements = @page.block_divs_elements
523
+ end
@@ -2038,9 +2038,9 @@ module PageObject
2038
2038
  :paragraphs,
2039
2039
  :labels,
2040
2040
  :file_fields].each do |method_name|
2041
- define_method(method_name) do |name, identifier, &block|
2041
+ define_method(method_name) do |name, identifier=nil, &block|
2042
2042
  define_method("#{name}_elements") do
2043
- return call_block(&block) if block_given?
2043
+ return call_block(&block) unless block.nil?
2044
2044
  platform.send "#{method_name.to_s}_for", identifier.clone
2045
2045
  end
2046
2046
  end
@@ -1,4 +1,4 @@
1
1
  module PageObject
2
2
  # @private
3
- VERSION = "0.8"
3
+ VERSION = "0.8.1"
4
4
  end
@@ -22,8 +22,8 @@ Gem::Specification.new do |s|
22
22
  s.add_dependency 'watir-webdriver', '>= 0.6.2'
23
23
  s.add_dependency 'selenium-webdriver', '>= 2.27.2'
24
24
 
25
- s.add_development_dependency 'rspec', '>= 2.6.0'
26
- s.add_development_dependency 'cucumber', '< 1.2.0'
25
+ s.add_development_dependency 'rspec', '>= 2.12.0'
26
+ s.add_development_dependency 'cucumber', '>= 1.2.0'
27
27
  s.add_development_dependency 'yard', '>= 0.7.2'
28
28
  s.add_development_dependency 'rack', '>= 1.0'
29
29
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: page-object
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.8'
4
+ version: 0.8.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-22 00:00:00.000000000 Z
12
+ date: 2012-12-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: watir-webdriver
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
- version: 2.6.0
53
+ version: 2.12.0
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,13 +58,13 @@ dependencies:
58
58
  requirements:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
- version: 2.6.0
61
+ version: 2.12.0
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: cucumber
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - <
67
+ - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
69
  version: 1.2.0
70
70
  type: :development
@@ -72,7 +72,7 @@ dependencies:
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - <
75
+ - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
77
  version: 1.2.0
78
78
  - !ruby/object:Gem::Dependency
@@ -377,7 +377,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
377
377
  version: '0'
378
378
  segments:
379
379
  - 0
380
- hash: -1688683572184715777
380
+ hash: 1255390606004430784
381
381
  required_rubygems_version: !ruby/object:Gem::Requirement
382
382
  none: false
383
383
  requirements:
@@ -386,7 +386,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
386
386
  version: '0'
387
387
  segments:
388
388
  - 0
389
- hash: -1688683572184715777
389
+ hash: 1255390606004430784
390
390
  requirements: []
391
391
  rubyforge_project: page-object
392
392
  rubygems_version: 1.8.24