watir-webdriver 0.0.1.dev5 → 0.0.1.dev6

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.
Files changed (92) hide show
  1. data/Rakefile +13 -19
  2. data/VERSION +1 -1
  3. data/lib/watir-webdriver.rb +3 -1
  4. data/lib/watir-webdriver/base_element.rb +33 -27
  5. data/lib/watir-webdriver/browser.rb +2 -6
  6. data/lib/watir-webdriver/elements/font.rb +12 -0
  7. data/lib/watir-webdriver/elements/generated.rb +1027 -622
  8. data/lib/watir-webdriver/elements/select_list.rb +3 -3
  9. data/lib/watir-webdriver/locators/element_locator.rb +2 -2
  10. data/lib/watir-webdriver/xpath_support.rb +2 -2
  11. data/support/html5/html5.idl +942 -483
  12. data/support/html5/old/html5.idl +962 -0
  13. data/support/html5/{html5_extras.idl → old/html5_extras.idl} +0 -2
  14. data/support/html5/watir_visitor.rb +23 -19
  15. metadata +74 -100
  16. data/spec/watirspec/area_spec.rb +0 -78
  17. data/spec/watirspec/areas_spec.rb +0 -31
  18. data/spec/watirspec/browser_spec.rb +0 -274
  19. data/spec/watirspec/button_spec.rb +0 -242
  20. data/spec/watirspec/buttons_spec.rb +0 -48
  21. data/spec/watirspec/checkbox_spec.rb +0 -272
  22. data/spec/watirspec/checkboxes_spec.rb +0 -32
  23. data/spec/watirspec/dd_spec.rb +0 -123
  24. data/spec/watirspec/dds_spec.rb +0 -31
  25. data/spec/watirspec/div_spec.rb +0 -211
  26. data/spec/watirspec/divs_spec.rb +0 -31
  27. data/spec/watirspec/dl_spec.rb +0 -123
  28. data/spec/watirspec/dls_spec.rb +0 -32
  29. data/spec/watirspec/dt_spec.rb +0 -123
  30. data/spec/watirspec/dts_spec.rb +0 -31
  31. data/spec/watirspec/element_spec.rb +0 -89
  32. data/spec/watirspec/em_spec.rb +0 -97
  33. data/spec/watirspec/ems_spec.rb +0 -32
  34. data/spec/watirspec/filefield_spec.rb +0 -119
  35. data/spec/watirspec/filefields_spec.rb +0 -32
  36. data/spec/watirspec/form_spec.rb +0 -63
  37. data/spec/watirspec/forms_spec.rb +0 -33
  38. data/spec/watirspec/frame_spec.rb +0 -129
  39. data/spec/watirspec/frames_spec.rb +0 -62
  40. data/spec/watirspec/hidden_spec.rb +0 -102
  41. data/spec/watirspec/hiddens_spec.rb +0 -32
  42. data/spec/watirspec/hn_spec.rb +0 -93
  43. data/spec/watirspec/hns_spec.rb +0 -38
  44. data/spec/watirspec/image_spec.rb +0 -207
  45. data/spec/watirspec/images_spec.rb +0 -31
  46. data/spec/watirspec/label_spec.rb +0 -75
  47. data/spec/watirspec/labels_spec.rb +0 -31
  48. data/spec/watirspec/li_spec.rb +0 -112
  49. data/spec/watirspec/lib/guards.rb +0 -59
  50. data/spec/watirspec/lib/server.rb +0 -127
  51. data/spec/watirspec/lib/spec_helper.rb +0 -79
  52. data/spec/watirspec/lib/watirspec.rb +0 -72
  53. data/spec/watirspec/link_spec.rb +0 -168
  54. data/spec/watirspec/links_spec.rb +0 -35
  55. data/spec/watirspec/lis_spec.rb +0 -31
  56. data/spec/watirspec/map_spec.rb +0 -76
  57. data/spec/watirspec/maps_spec.rb +0 -32
  58. data/spec/watirspec/meta_spec.rb +0 -22
  59. data/spec/watirspec/metas_spec.rb +0 -30
  60. data/spec/watirspec/ol_spec.rb +0 -78
  61. data/spec/watirspec/ols_spec.rb +0 -31
  62. data/spec/watirspec/option_spec.rb +0 -173
  63. data/spec/watirspec/p_spec.rb +0 -128
  64. data/spec/watirspec/pre_spec.rb +0 -112
  65. data/spec/watirspec/pres_spec.rb +0 -31
  66. data/spec/watirspec/ps_spec.rb +0 -31
  67. data/spec/watirspec/radio_spec.rb +0 -255
  68. data/spec/watirspec/radios_spec.rb +0 -32
  69. data/spec/watirspec/select_list_spec.rb +0 -318
  70. data/spec/watirspec/select_lists_spec.rb +0 -35
  71. data/spec/watirspec/span_spec.rb +0 -142
  72. data/spec/watirspec/spans_spec.rb +0 -31
  73. data/spec/watirspec/spec_helper.rb +0 -17
  74. data/spec/watirspec/strong_spec.rb +0 -89
  75. data/spec/watirspec/strongs_spec.rb +0 -32
  76. data/spec/watirspec/table_bodies_spec.rb +0 -45
  77. data/spec/watirspec/table_body_spec.rb +0 -98
  78. data/spec/watirspec/table_cell_spec.rb +0 -68
  79. data/spec/watirspec/table_cells_spec.rb +0 -47
  80. data/spec/watirspec/table_footer_spec.rb +0 -85
  81. data/spec/watirspec/table_footers_spec.rb +0 -47
  82. data/spec/watirspec/table_header_spec.rb +0 -85
  83. data/spec/watirspec/table_headers_spec.rb +0 -45
  84. data/spec/watirspec/table_row_spec.rb +0 -87
  85. data/spec/watirspec/table_rows_spec.rb +0 -50
  86. data/spec/watirspec/table_spec.rb +0 -160
  87. data/spec/watirspec/tables_spec.rb +0 -33
  88. data/spec/watirspec/text_field_spec.rb +0 -276
  89. data/spec/watirspec/text_fields_spec.rb +0 -35
  90. data/spec/watirspec/ul_spec.rb +0 -76
  91. data/spec/watirspec/uls_spec.rb +0 -33
  92. data/support/html5/idl_extractor.rb +0 -73
@@ -1,31 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "Spans" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/non_control_elements.html")
8
- end
9
-
10
- describe "#length" do
11
- it "returns the number of spans" do
12
- browser.spans.length.should == 6
13
- end
14
- end
15
-
16
- describe "#[]" do
17
- it "returns the p at the given index" do
18
- browser.spans[0].id.should == "lead"
19
- end
20
- end
21
-
22
- describe "#each" do
23
- it "iterates through spans correctly" do
24
- browser.spans.each_with_index do |s, index|
25
- s.id.should == browser.span(:index, index).id
26
- s.value.should == browser.span(:index, index).value
27
- end
28
- end
29
- end
30
-
31
- end
@@ -1,17 +0,0 @@
1
- # encoding: utf-8
2
- begin
3
- require "rubygems"
4
- rescue LoadError
5
- end
6
-
7
- require "sinatra/base"
8
- require "#{File.dirname(__FILE__)}/lib/watirspec"
9
- require "#{File.dirname(__FILE__)}/lib/server"
10
- require "#{File.dirname(__FILE__)}/lib/spec_helper"
11
- require "#{File.dirname(__FILE__)}/lib/guards"
12
-
13
- if __FILE__ == $0
14
- WatirSpec::Server.run!
15
- else
16
- WatirSpec::SpecHelper.execute
17
- end
@@ -1,89 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "Strong" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/non_control_elements.html")
8
- end
9
-
10
- # Exists method
11
- describe "#exist?" do
12
- it "returns true if the element exists" do
13
- browser.strong(:id, "descartes").should exist
14
- browser.strong(:id, /descartes/).should exist
15
- browser.strong(:text, "Dubito, ergo cogito, ergo sum.").should exist
16
- browser.strong(:text, /Dubito, ergo cogito, ergo sum/).should exist
17
- browser.strong(:class, "descartes").should exist
18
- browser.strong(:class, /descartes/).should exist
19
- browser.strong(:index, 0).should exist
20
- browser.strong(:xpath, "//strong[@id='descartes']").should exist
21
- end
22
-
23
- it "returns false if the element doesn't exist" do
24
- browser.strong(:id, "no_such_id").should_not exist
25
- browser.strong(:id, /no_such_id/).should_not exist
26
- browser.strong(:text, "no_such_text").should_not exist
27
- browser.strong(:text, /no_such_text/).should_not exist
28
- browser.strong(:class, "no_such_class").should_not exist
29
- browser.strong(:class, /no_such_class/).should_not exist
30
- browser.strong(:index, 1337).should_not exist
31
- browser.strong(:xpath, "//strong[@id='no_such_id']").should_not exist
32
- end
33
-
34
- it "raises TypeError when 'what' argument is invalid" do
35
- lambda { browser.strong(:id, 3.14).exists? }.should raise_error(TypeError)
36
- end
37
-
38
- it "raises MissingWayOfFindingObjectException when 'how' argument is invalid" do
39
- lambda { browser.strong(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
40
- end
41
- end
42
-
43
- # Attribute methods
44
- describe "#class_name" do
45
- it "returns the class attribute" do
46
- browser.strong(:index, 0).class_name.should == 'descartes'
47
- end
48
-
49
- it "returns an empty string if the element exists and the attribute doesn't" do
50
- browser.strong(:index, 1).class_name.should == ''
51
- end
52
-
53
- it "raises UnknownObjectException if the element doesn't exist" do
54
- lambda { browser.strong(:id, 'no_such_id').class_name }.should raise_error(UnknownObjectException)
55
- end
56
- end
57
-
58
- describe "#id" do
59
- it "returns the id attribute" do
60
- browser.strong(:index, 0).id.should == "descartes"
61
- end
62
-
63
- it "raises UnknownObjectException if the element doesn't exist" do
64
- lambda { browser.strong(:id, "no_such_id").id }.should raise_error(UnknownObjectException)
65
- lambda { browser.strong(:index, 1337).id }.should raise_error(UnknownObjectException)
66
- end
67
- end
68
-
69
- describe "#text" do
70
- it "returns the text of the element" do
71
- browser.strong(:index, 0).text.should == "Dubito, ergo cogito, ergo sum."
72
- end
73
-
74
- it "raises UnknownObjectException if the element doesn't exist" do
75
- lambda { browser.strong(:id, 'no_such_id').text }.should raise_error( UnknownObjectException)
76
- lambda { browser.strong(:xpath , "//strong[@id='no_such_id']").text }.should raise_error( UnknownObjectException)
77
- end
78
- end
79
-
80
- describe "#respond_to?" do
81
- it "returns true for all attribute methods" do
82
- browser.strong(:index, 0).should respond_to(:class_name)
83
- browser.strong(:index, 0).should respond_to(:id)
84
- browser.strong(:index, 0).should respond_to(:text)
85
- end
86
- end
87
-
88
- # Other
89
- end
@@ -1,32 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "Strongs" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/non_control_elements.html")
8
- end
9
-
10
- describe "#length" do
11
- it "returns the number of divs" do
12
- browser.strongs.length.should == 2
13
- end
14
- end
15
-
16
- describe "#[]" do
17
- it "returns the div at the given index" do
18
- browser.strongs[0].id.should == "descartes"
19
- end
20
- end
21
-
22
- describe "#each" do
23
- it "iterates through divs correctly" do
24
- browser.strongs.each_with_index do |s, index|
25
- strong = browser.strong(:index, index)
26
- s.id.should == strong.id
27
- s.class_name.should == strong.class_name
28
- end
29
- end
30
- end
31
-
32
- end
@@ -1,45 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "TableBodies" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/tables.html")
8
- end
9
-
10
- describe "#length" do
11
- it "returns the correct number of table bodies (page context)" do
12
- browser.tbodys.length.should == 5
13
- end
14
-
15
- it "returns the correct number of table bodies (table context)" do
16
- browser.table(:index, 0).tbodys.length.should == 2
17
- end
18
- end
19
-
20
- describe "#[]" do
21
- it "returns the row at the given index (page context)" do
22
- browser.tbodys[0].id.should == "first"
23
- end
24
-
25
- it "returns the row at the given index (table context)" do
26
- browser.table(:index, 0).tbodys[0].id.should == "first"
27
- end
28
- end
29
-
30
- describe "#each" do
31
- it "iterates through table bodies correctly (table context)" do
32
- browser.tbodys.each_with_index do |body, index|
33
- body.id.should == browser.tbody(:index, index).id
34
- end
35
- end
36
-
37
- it "iterates through table bodies correctly (table context)" do
38
- table = browser.table(:index, 0)
39
- table.tbodys.each_with_index do |body, index|
40
- body.id.should == table.tbody(:index, index).id
41
- end
42
- end
43
- end
44
-
45
- end
@@ -1,98 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "TableBody" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/tables.html")
8
- end
9
-
10
- describe "#exists?" do
11
- bug "WTR-357", :watir do
12
- it "returns true if the table body exists (page context)" do
13
- browser.tbody(:id, 'first').should exist
14
- browser.tbody(:id, /first/).should exist
15
- browser.tbody(:index, 0).should exist
16
- browser.tbody(:xpath, "//tbody[@id='first']").should exist
17
- end
18
- end
19
-
20
- it "returns true if the table body exists (table context)" do
21
- browser.table(:index, 0).tbody(:id, 'first').should exist
22
- browser.table(:index, 0).tbody(:id, /first/).should exist
23
- browser.table(:index, 0).tbody(:index, 1).should exist
24
- browser.table(:index, 0).tbody(:xpath, "//tbody[@id='first']").should exist
25
- end
26
-
27
- bug "WTR-357", :watir do
28
- it "returns false if the table body doesn't exist (page context)" do
29
- browser.tbody(:id, 'no_such_id').should_not exist
30
- browser.tbody(:id, /no_such_id/).should_not exist
31
- browser.tbody(:index, 1337).should_not exist
32
- browser.tbody(:xpath, "//tbody[@id='no_such_id']").should_not exist
33
- end
34
- end
35
-
36
- it "returns false if the table body doesn't exist (table context)" do
37
- browser.table(:index, 0).tbody(:id, 'no_such_id').should_not exist
38
- browser.table(:index, 0).tbody(:id, /no_such_id/).should_not exist
39
- browser.table(:index, 0).tbody(:index, 1337).should_not exist
40
- browser.table(:index, 0).tbody(:xpath, "//tbody[@id='no_such_id']").should_not exist
41
- end
42
-
43
- it "raises TypeError when 'what' argument is invalid" do
44
- bug "WTR-357", :watir do
45
- lambda { browser.tbody(:id, 3.14).exists? }.should raise_error(TypeError)
46
- end
47
- lambda { browser.table(:index, 0).tbody(:id, 3.14).exists? }.should raise_error(TypeError)
48
- end
49
-
50
- it "raises MissingWayOfFindingObjectException when 'how' argument is invalid" do
51
- bug "WTR-357", :watir do
52
- lambda { browser.tbody(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
53
- end
54
- lambda { browser.table(:index, 0).tbody(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
55
- end
56
- end
57
-
58
- describe "#length" do
59
- bug "WTR-357", :watir do
60
- it "returns the correct number of table bodies (page context)" do
61
- browser.tbody(:id, 'first').length.should == 3
62
- end
63
- end
64
-
65
- it "returns the correct number of table bodies (table context)" do
66
- browser.table(:index, 0).tbody(:id, 'first').length.should == 3
67
- end
68
- end
69
-
70
- describe "#[]" do
71
- bug "WTR-357", :watir do
72
- it "returns the row at the given index (page context)" do
73
- browser.tbody(:id, 'first')[0].text.should == 'March 2008'
74
- browser.tbody(:id, 'first')[1][0].text.should == 'Gregory House'
75
- browser.tbody(:id, 'first')[2][0].text.should == 'Hugh Laurie'
76
- end
77
- end
78
-
79
- it "returns the row at the given index (table context)" do
80
- browser.table(:index, 0).tbody(:id, 'first')[0].text.should == 'March 2008'
81
- browser.table(:index, 0).tbody(:id, 'first')[1][0].text.should == 'Gregory House'
82
- browser.table(:index, 0).tbody(:id, 'first')[2][0].text.should == 'Hugh Laurie'
83
- end
84
- end
85
-
86
- describe "#each" do
87
- it "iterates through rows correctly" do
88
- body = browser.table(:index, 0).tbody(:id, 'first')
89
- expected_texts = ["march", "gregory", "hugh"]
90
-
91
- body.each_with_index do |row, idx|
92
- row.id.should == expected_texts[idx]
93
- end
94
-
95
- end
96
- end
97
-
98
- end
@@ -1,68 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "TableCell" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/tables.html")
8
- end
9
-
10
- # Exists
11
- describe "#exists?" do
12
- it "returns true when the table cell exists" do
13
- browser.cell(:id, 't1_r2_c1').should exist
14
- browser.cell(:id, /t1_r2_c1/).should exist
15
- browser.cell(:text, 'Table 1, Row 3, Cell 1').should exist
16
- browser.cell(:text, /Table 1/).should exist
17
- browser.cell(:index, 0).should exist
18
- browser.cell(:xpath, "//td[@id='t1_r2_c1']").should exist
19
- end
20
-
21
- it "returns false when the table cell does not exist" do
22
- browser.cell(:id, 'no_such_id').should_not exist
23
- browser.cell(:id, /no_such_id/).should_not exist
24
- browser.cell(:text, 'no_such_text').should_not exist
25
- browser.cell(:text, /no_such_text/).should_not exist
26
- browser.cell(:index, 1337).should_not exist
27
- browser.cell(:xpath, "//td[@id='no_such_id']").should_not exist
28
- end
29
-
30
- it "raises TypeError when 'what' argument is invalid" do
31
- lambda { browser.cell(:id, 3.14).exists? }.should raise_error(TypeError)
32
- end
33
-
34
- it "raises MissingWayOfFindingObjectException when 'how' argument is invalid" do
35
- lambda { browser.cell(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
36
- end
37
- end
38
-
39
- describe "#click" do
40
- it "fires the table's onclick event" do
41
- browser.cell(:id, 't2_r1_c1').click
42
- messages.should include('td')
43
- end
44
- end
45
-
46
- # Attribute methods
47
- describe "#text" do
48
- it "returns the text inside the table cell" do
49
- browser.cell(:id, 't1_r2_c1').text.should == 'Table 1, Row 2, Cell 1'
50
- browser.cell(:id, 't2_r1_c1').text.should == 'Table 2, Row 1, Cell 1'
51
- end
52
- end
53
-
54
- describe "#colspan" do
55
- it "gets the colspan attribute" do
56
- browser.cell(:id, 'colspan_2').colspan.should == 2
57
- browser.cell(:id, 'no_colspan').colspan.should == 1
58
- end
59
- end
60
-
61
- describe "#respond_to?" do
62
- it "returns true for all attribute methods" do
63
- browser.cell(:index, 0).should respond_to(:text)
64
- browser.cell(:index, 0).should respond_to(:colspan)
65
- end
66
- end
67
-
68
- end
@@ -1,47 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "TableCells" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/tables.html")
8
- end
9
-
10
- # describe "#length" do
11
- # it "returns the number of cells" do
12
- # browser.table(:id, 'outer').cells.length.should == 6
13
- # browser.table(:id, 'inner').cells.length.should == 2
14
- # end
15
- # end
16
- #
17
- # describe "#[]" do
18
- # it "returns the row at the given index" do
19
- # browser.table(:id, 'outer').cells[0].text.should == "Table 1, Row 1, Cell 1"
20
- # browser.table(:id, 'inner').cells[0].text.should == "Table 2, Row 1, Cell 1"
21
- # browser.table(:id, 'outer').cells[6].text.should == "Table 1, Row 3, Cell 2"
22
- # end
23
- # end
24
-
25
- describe "#each" do
26
- it "iterates through cells correctly" do
27
- # All cells on the page
28
- browser.cells.each_with_index do |c, index|
29
- c.id.should == browser.cell(:index, index).id
30
- c.value.should == browser.cell(:index, index).value
31
- end
32
- # Cells inside a table
33
- inner_table = browser.table(:id, 'inner')
34
- inner_table.cells.each_with_index do |c, index|
35
- c.id.should == inner_table.cell(:index, index).id
36
- c.value.should == inner_table.cell(:index, index).value
37
- end
38
- # Cells inside a table (should not include cells inside a table inside a table)
39
- outer_table = browser.table(:id, 'outer')
40
- outer_table.cells.each_with_index do |c, index|
41
- c.id.should == outer_table.cell(:index, index).id
42
- c.value.should == outer_table.cell(:index, index).value
43
- end
44
- end
45
- end
46
-
47
- end
@@ -1,85 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- bug "WTR-358", :watir do
5
-
6
- describe "TableFooter" do
7
- before :each do
8
- browser.goto(WatirSpec.files + "/tables.html")
9
- end
10
-
11
- describe "#exists?" do
12
- it "returns true if the table tfoot exists (page context)" do
13
- browser.tfoot(:id, 'tax_totals').should exist
14
- browser.tfoot(:id, /tax_totals/).should exist
15
- browser.tfoot(:index, 0).should exist
16
- browser.tfoot(:xpath, "//tfoot[@id='tax_totals']").should exist
17
- end
18
-
19
- it "returns true if the table tfoot exists (table context)" do
20
- browser.table(:index, 0).tfoot(:id, 'tax_totals').should exist
21
- browser.table(:index, 0).tfoot(:id, /tax_totals/).should exist
22
- browser.table(:index, 0).tfoot(:index, 0).should exist
23
- browser.table(:index, 0).tfoot(:xpath, "//tfoot[@id='tax_totals']").should exist
24
- end
25
-
26
- it "returns false if the table tfoot doesn't exist (page context)" do
27
- browser.tfoot(:id, 'no_such_id').should_not exist
28
- browser.tfoot(:id, /no_such_id/).should_not exist
29
- browser.tfoot(:index, 1337).should_not exist
30
- browser.tfoot(:xpath, "//tfoot[@id='no_such_id']").should_not exist
31
- end
32
-
33
- it "returns false if the table tfoot doesn't exist (table context)" do
34
- browser.table(:index, 0).tfoot(:id, 'no_such_id').should_not exist
35
- browser.table(:index, 0).tfoot(:id, /no_such_id/).should_not exist
36
- browser.table(:index, 0).tfoot(:index, 1337).should_not exist
37
- browser.table(:index, 0).tfoot(:xpath, "//tfoot[@id='no_such_id']").should_not exist
38
- end
39
-
40
- it "raises TypeError when 'what' argument is invalid" do
41
- lambda { browser.tfoot(:id, 3.14).exists? }.should raise_error(TypeError)
42
- lambda { browser.table(:index, 0).tfoot(:id, 3.14).exists? }.should raise_error(TypeError)
43
- end
44
-
45
- it "raises MissingWayOfFindingObjectException when 'how' argument is invalid" do
46
- lambda { browser.tfoot(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
47
- lambda { browser.table(:index, 0).tfoot(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
48
- end
49
- end
50
-
51
- describe "#length" do
52
- it "returns the correct number of table footers (page context)" do
53
- browser.tfoot(:id, 'tax_totals').length.should == 1
54
- end
55
-
56
- it "returns the correct number of table footers (table context)" do
57
- browser.table(:index, 0).tfoot(:id, 'tax_totals').length.should == 1
58
- end
59
- end
60
-
61
- describe "#[]" do
62
- it "returns the row at the given index (page context)" do
63
- browser.tfoot(:id, 'tax_totals')[0].id.should == 'tfoot_row_1'
64
- browser.tfoot(:id, 'tax_totals')[0][1].text.should == '24 349'
65
- browser.tfoot(:id, 'tax_totals')[0][2].text.should == '5 577'
66
- end
67
-
68
- it "returns the row at the given index (table context)" do
69
- browser.table(:index, 0).tfoot(:id, 'tax_totals')[0].id.should == "tfoot_row_1"
70
- browser.table(:index, 0).tfoot(:id, 'tax_totals')[0][1].text.should == '24 349'
71
- browser.table(:index, 0).tfoot(:id, 'tax_totals')[0][2].text.should == '5 577'
72
- end
73
- end
74
-
75
- describe "#each" do
76
- it "iterates through rows correctly" do
77
- tfoot = browser.table(:index, 0).tfoot(:id, 'tax_totals')
78
- tfoot.each_with_index do |r, idx|
79
- r.id.should == "tfoot_row_#{idx + 1}"
80
- end
81
- end
82
- end
83
- end
84
-
85
- end