page_object_wrapper 1.5.3 → 1.5.4

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.
@@ -254,7 +254,8 @@ attributes:</p>
254
254
  <TABLE summary=
255
255
  "Each row names a Nordic country and specifies its total area and land area, in square kilometers">
256
256
  <CAPTION>Sample table: Areas of the Nordic countries, in sq km</CAPTION>
257
- <TR><th scope="col">Country</th> <th scope="col">Total area</TH> <th scope="col">Land area</TH> <th scope="col">Link</TH><TH>Checkboxes</TH>
257
+ <TR><th scope="col">Country</th> <th scope="col">Total area</th> <th scope="col">Land area</th> <th scope="col">Link</th><th>Checkboxes</th></TR>
258
+ <TR><th>One column row</th></TR>
258
259
  <TR><th scope="row">Denmark</TH> <TD ALIGN=RIGHT> 43,070 </TD><TD ALIGN=RIGHT> 42,370</TD> <TD ALIGN=RIGHT> <a href="http://denmark.dk/">D</a></TD> <TD><input type="checkbox"></TD></TR>
259
260
  <TR><th scope="row">Finland</TH> <TD ALIGN=RIGHT>337,030 </TD><TD ALIGN=RIGHT>305,470</TD> <TD ALIGN=RIGHT> <a href="http://www.visitfinland.com/ru/">Finland</a></TD><TD><input type="checkbox"></TD></TR>
260
261
  <TR><th scope="row">Iceland</TH> <TD ALIGN=RIGHT>103,000 </TD><TD ALIGN=RIGHT>100,250</TD> <TD ALIGN=RIGHT> No </TD><TD><input type="checkbox"></TD></TR>
@@ -477,6 +477,7 @@ module PageObjectWrapper
477
477
  end
478
478
  rescue Watir::Exception::UnknownObjectException
479
479
  found = nil
480
+ next
480
481
  end
481
482
  elsif search_value.is_a? Regexp
482
483
  begin
@@ -486,6 +487,7 @@ module PageObjectWrapper
486
487
  end
487
488
  rescue Watir::Exception::UnknownObjectException
488
489
  found = nil
490
+ next
489
491
  end
490
492
  else
491
493
  raise ArgumentError, "#{search_value} not a Regexp or String"
@@ -541,12 +543,19 @@ module PageObjectWrapper
541
543
  raise ArgumentError, "column #{column_name.inspect} not in table header and not == :number" if not table.header_value.include?(column_name)
542
544
  column_index = table.header_value.index(column_name)
543
545
  column_text = ''
544
- if r[column_index].checkbox.present?
545
- column_text = r[column_index].checkbox.set?.to_s
546
- elsif r[column_index].radio.present?
547
- column_text = r[column_index].radio.set?.to_s
548
- else
549
- column_text = r[column_index].text
546
+ # workaround for rows with small number of columns
547
+ begin
548
+ if r[column_index].checkbox.present?
549
+ column_text = r[column_index].checkbox.set?.to_s
550
+ elsif r[column_index].radio.present?
551
+ column_text = r[column_index].radio.set?.to_s
552
+ else
553
+ column_text = r[column_index].text
554
+ end
555
+ rescue Watir::Exception::UnknownObjectException
556
+ # just moving to next row
557
+ conditions_met = false
558
+ break
550
559
  end
551
560
  conditions_met = false if column_text != query[column_name]
552
561
  }
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module PageObjectWrapper
2
- VERSION = "1.5.3" unless const_defined?(:VERSION)
2
+ VERSION = "1.5.4" unless const_defined?(:VERSION)
3
3
  end
@@ -58,9 +58,9 @@ describe "page_object.select_from_xxx" do
58
58
  context "where == nil" do
59
59
  context "next_page not specified" do
60
60
  it "returns middle row value from provided column" do
61
- tp.select_from_table_without_header(:column_0).text.should eq 'Iceland'
62
- tp.select_from_table_without_header(:column_1).text.should eq '103,000'
63
- tp.select_from_table_without_header(:column_2).text.should eq '100,250'
61
+ tp.select_from_table_without_header(:column_0).text.should eq 'Finland'
62
+ tp.select_from_table_without_header(:column_1).text.should eq '337,030'
63
+ tp.select_from_table_without_header(:column_2).text.should eq '305,470'
64
64
  end
65
65
  end
66
66
  context "next_page specified" do
@@ -74,8 +74,8 @@ describe "page_object.select_from_xxx" do
74
74
  context "next_page not specified" do
75
75
  context "found by String" do
76
76
  it "returns found cells" do
77
- tp.select_from_table_without_header(:column_0, :column_1 => '103,000').text.should eq 'Iceland'
78
- tp.select_from_table_with_header(:country, :total_area => '337,030').text.should eq 'Finland'
77
+ tp.select_from_table_without_header(:column_1, :column_1 => '103,000').text.should eq '103,000'
78
+ tp.select_from_table_with_header(:checkbox, :total_area => '324,220').checkbox.should be_checked
79
79
  tp.select_from_table_with_header(:country, :checkbox => 'false').text.should eq 'Denmark' # last found row
80
80
  tp.select_from_table_with_header(:country, :checkbox => 'true').text.should eq 'Norway'
81
81
  end
@@ -98,8 +98,8 @@ describe "page_object.select_from_xxx" do
98
98
  end
99
99
  context "found by row number" do
100
100
  it "returns found cells" do
101
- tp.select_from_table_without_header(:column_0, :row => 2).text.should eq 'Finland'
102
- tp.select_from_table_with_header(:country, :row => 3).text.should eq 'Iceland'
101
+ tp.select_from_table_without_header(:column_0, :row => 3).text.should eq 'Finland'
102
+ tp.select_from_table_with_header(:country, :row => 4).text.should eq 'Iceland'
103
103
  end
104
104
  it "returns nil" do
105
105
  tp.select_from_table_with_header(:country, :row => 123).should eq nil
@@ -125,8 +125,8 @@ describe "page_object.select_from_xxx" do
125
125
  end
126
126
  context "found by row number" do
127
127
  it "returns found cells" do
128
- tp.select_from_table_without_header(:column_0, {:row => 2}, :some_test_page).should eq PageObjectWrapper.receive_page(:some_test_page)
129
- tp.select_from_table_with_header(:country, {:row => 3}, :some_test_page).should eq PageObjectWrapper.receive_page(:some_test_page)
128
+ tp.select_from_table_without_header(:column_0, {:row => 3}, :some_test_page).should eq PageObjectWrapper.receive_page(:some_test_page)
129
+ tp.select_from_table_with_header(:country, {:row => 4}, :some_test_page).should eq PageObjectWrapper.receive_page(:some_test_page)
130
130
  end
131
131
  it "returns nil" do
132
132
  tp.select_from_table_with_header(:country, {:row => 123}, :some_test_page).should eq nil
@@ -42,13 +42,13 @@ describe "page_object.select_from_xxx" do
42
42
 
43
43
  context "table with header" do
44
44
  it "returns first found row excluding table header" do
45
- t_row = tp.select_row_from_table_with_header(:number => 1)
45
+ t_row = tp.select_row_from_table_with_header(:number => 2)
46
46
  t_row.should be_a Hash
47
- t_row[:country].text.should eq 'Denmark'
47
+ t_row[:land_area].text.should eq '42,370'
48
48
  t_row = tp.select_row_from_table_with_header(:country => 'Denmark')
49
49
  t_row.should be_a Hash
50
50
  t_row[:country].text.should eq 'Denmark'
51
- t_row = tp.select_row_from_table_with_header(:number => 1, :country => 'Denmark')
51
+ t_row = tp.select_row_from_table_with_header(:number => 2, :country => 'Denmark')
52
52
  t_row.should be_a Hash
53
53
  t_row[:country].text.should eq 'Denmark'
54
54
  t_row = tp.select_row_from_table_with_header(:checkbox => 'false')
@@ -62,7 +62,7 @@ describe "page_object.select_from_xxx" do
62
62
 
63
63
  context "table without header" do
64
64
  it "returns first found row including table header" do
65
- t_row = tp.select_row_from_table_without_header(:number => 1)
65
+ t_row = tp.select_row_from_table_without_header(:number => 2)
66
66
  t_row.should be_a Hash
67
67
  t_row[:column_0].text.should eq 'Denmark'
68
68
  t_row = tp.select_row_from_table_without_header(:column_0 => 'Denmark')
@@ -71,7 +71,7 @@ describe "page_object.select_from_xxx" do
71
71
  t_row = tp.select_row_from_table_without_header(:column_4 => 'false')
72
72
  t_row.should be_a Hash
73
73
  t_row[:column_0].text.should eq 'Denmark'
74
- t_row = tp.select_row_from_table_without_header(:number => 1, :column_0 => 'Denmark')
74
+ t_row = tp.select_row_from_table_without_header(:number => 2, :column_0 => 'Denmark')
75
75
  t_row.should be_a Hash
76
76
  t_row[:column_0].text.should eq 'Denmark'
77
77
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: page_object_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 1.5.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-27 00:00:00.000000000 Z
12
+ date: 2013-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: watir-webdriver
16
- requirement: &19895960 !ruby/object:Gem::Requirement
16
+ requirement: &20960480 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *19895960
24
+ version_requirements: *20960480
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &19894760 !ruby/object:Gem::Requirement
27
+ requirement: &20959820 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *19894760
35
+ version_requirements: *20959820
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: babosa
38
- requirement: &19893720 !ruby/object:Gem::Requirement
38
+ requirement: &20959380 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *19893720
46
+ version_requirements: *20959380
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &19892900 !ruby/object:Gem::Requirement
49
+ requirement: &20958840 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *19892900
57
+ version_requirements: *20958840
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: debugger
60
- requirement: &19892300 !ruby/object:Gem::Requirement
60
+ requirement: &20974600 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *19892300
68
+ version_requirements: *20974600
69
69
  description: Wraps watir-webdriver with convenient testing interface, based on PageObjects
70
70
  automation testing pattern. Simplifies resulting automated test understanding.
71
71
  email: