page-object 0.8 → 0.8.1

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.
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