watir 3.0.0.rc2 → 3.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/CHANGES +19 -0
  2. data/VERSION +1 -1
  3. data/lib/watir/close_all.rb +2 -2
  4. data/lib/watir/container.rb +6 -4
  5. data/lib/watir/cookies.rb +80 -0
  6. data/lib/watir/core.rb +7 -3
  7. data/lib/watir/dialogs/file_field.rb +0 -4
  8. data/lib/watir/drag_and_drop_helper.rb +68 -0
  9. data/lib/watir/element.rb +58 -156
  10. data/lib/watir/element_collection.rb +109 -0
  11. data/lib/watir/form.rb +7 -14
  12. data/lib/watir/frame.rb +11 -26
  13. data/lib/watir/ie-class.rb +17 -307
  14. data/lib/watir/ie.rb +0 -9
  15. data/lib/watir/image.rb +8 -25
  16. data/lib/watir/input_elements.rb +32 -81
  17. data/lib/watir/link.rb +2 -17
  18. data/lib/watir/locator.rb +29 -25
  19. data/lib/watir/modal_dialog.rb +26 -40
  20. data/lib/watir/non_control_elements.rb +111 -79
  21. data/lib/watir/page-container.rb +12 -1
  22. data/lib/watir/supported_elements.rb +172 -0
  23. data/lib/watir/table.rb +61 -89
  24. data/lib/watir/win32ole.rb +2 -3
  25. data/lib/watir/win32ole/1.9.3/win32ole.so +0 -0
  26. data/lib/watir/xpath_locator.rb +52 -0
  27. data/rakefile.rb +1 -1
  28. data/unittests/checkbox_test.rb +22 -32
  29. data/unittests/css_selector_test.rb +1 -6
  30. data/unittests/css_test.rb +1 -4
  31. data/unittests/div_test.rb +3 -21
  32. data/unittests/document_standards.rb +0 -4
  33. data/unittests/element_collections_test.rb +2 -2
  34. data/unittests/element_test.rb +1 -1
  35. data/unittests/form_test.rb +0 -30
  36. data/unittests/frame_test.rb +8 -49
  37. data/unittests/ie_test.rb +5 -9
  38. data/unittests/images_test.rb +6 -6
  39. data/unittests/index_specifier_test.rb +0 -1
  40. data/unittests/js_events_test.rb +1 -1
  41. data/unittests/links_multi_test.rb +0 -14
  42. data/unittests/links_test.rb +8 -51
  43. data/unittests/lists_test.rb +0 -9
  44. data/unittests/navigate_test.rb +1 -1
  45. data/unittests/nbsp_xpath_test.rb +1 -1
  46. data/unittests/no_wait_test.rb +3 -3
  47. data/unittests/parent_child_test.rb +0 -17
  48. data/unittests/pre_test.rb +0 -3
  49. data/unittests/radios_test.rb +31 -42
  50. data/unittests/selectbox_test.rb +18 -21
  51. data/unittests/selectbox_xpath_test.rb +11 -26
  52. data/unittests/table_test.rb +14 -79
  53. data/unittests/textfields_test.rb +8 -47
  54. data/unittests/windows/attach_to_new_window_test.rb +0 -8
  55. data/unittests/windows/frame_links_test.rb +5 -5
  56. data/unittests/windows/ie-each_test.rb +1 -1
  57. data/unittests/windows/modal_dialog_test.rb +2 -2
  58. data/watir.gemspec +3 -3
  59. metadata +81 -126
  60. data/lib/watir/camel_case.rb +0 -67
  61. data/lib/watir/collections.rb +0 -48
  62. data/lib/watir/cookiemanager.rb +0 -56
  63. data/lib/watir/element_collections.rb +0 -81
  64. data/lib/watir/html_element.rb +0 -30
  65. data/unittests/defer_test.rb +0 -47
  66. data/unittests/multiple_specifiers_test.rb +0 -29
  67. data/unittests/table_and_tablerow_to_a_test.rb +0 -117
  68. data/unittests/windows/iedialog_test.rb +0 -53
@@ -4,9 +4,8 @@
4
4
 
5
5
  if RUBY_VERSION =~ /^1\.8/
6
6
  $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), '..', 'watir', 'win32ole', '1.8.7'))
7
- # WIP
8
- #elsif RUBY_VERSION =~ /^1\.9/
9
- # $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), '..', 'watir', 'win32ole', '1.9.2'))
7
+ elsif RUBY_VERSION =~ /^1\.9/
8
+ $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), '..', 'watir', 'win32ole', '1.9.3'))
10
9
  else
11
10
  # loading win32ole from stdlib
12
11
  end
@@ -0,0 +1,52 @@
1
+ module Watir
2
+ module XpathLocator
3
+
4
+ def xmlparser_document_object
5
+ @xml_parser_doc ||= begin
6
+ require 'nokogiri'
7
+ Nokogiri.parse("<html>#{@container.html}</html>")
8
+ end
9
+ end
10
+
11
+ # execute css selector and return an array of elements
12
+ def elements_by_css(selector)
13
+ xmlparser_document_object # Needed to ensure Nokogiri has been loaded
14
+ xpath = Nokogiri::CSS.xpath_for(selector)[0]
15
+ elements_by_xpath(xpath)
16
+ end
17
+
18
+ # return the first element that matches the css selector
19
+ def element_by_css(selector)
20
+ elements_by_css(selector)[0]
21
+ end
22
+
23
+ # return the first element that matches the xpath
24
+ def element_by_xpath(xpath)
25
+ elements_by_xpath(xpath)[0]
26
+ end
27
+
28
+ # execute xpath selector and return an array of elements
29
+ def elements_by_xpath(xpath)
30
+ doc = xmlparser_document_object
31
+ current_tag = @container.is_a?(IE) ? "body" : @container.tag_name
32
+
33
+ doc.xpath(xpath).reduce([]) do |elements, element|
34
+ absolute_xpath_parts = element.path.split("/")
35
+ first_tag_position = absolute_xpath_parts.index(current_tag) || absolute_xpath_parts.index("html") + 1
36
+ element_xpath_parts = absolute_xpath_parts[first_tag_position..-1]
37
+ elements << element_xpath_parts.reduce(@container.page_container) do |container, tag|
38
+ tag_name, index = tag.split(/[\[\]]/)
39
+ index = index ? index.to_i - 1 : 0
40
+ specifiers = {:tag_name => [tag_name]}
41
+ direct_children(container, container.send(:elements, specifiers))[index]
42
+ end.ole_object
43
+ end
44
+ end
45
+
46
+ def direct_children container, elements
47
+ return elements if container.is_a?(IE)
48
+ elements.select {|el| el.parent == container}
49
+ end
50
+
51
+ end
52
+ end
@@ -6,7 +6,7 @@ require 'rake/testtask'
6
6
  require 'rake/rdoctask'
7
7
  require 'rake/gempackagetask'
8
8
 
9
- require 'watir-rdoc'
9
+ require './watir-rdoc'
10
10
 
11
11
  $VERBOSE = nil
12
12
  desc 'Generate Watir API Documentation'
@@ -13,7 +13,7 @@ class TC_CheckBox < Test::Unit::TestCase
13
13
  def test_checkbox_exceptions
14
14
  assert_raises(UnknownObjectException) { browser.checkbox(:name, "noName").id }
15
15
  assert_raises(UnknownObjectException) { browser.checkbox(:name, "noName").name }
16
- assert_raises(UnknownObjectException) { browser.checkbox(:name, "noName").disabled }
16
+ assert_raises(UnknownObjectException) { browser.checkbox(:name, "noName").disabled? }
17
17
  assert_raises(UnknownObjectException) { browser.checkbox(:name, "noName").type }
18
18
  assert_raises(UnknownObjectException) { browser.checkbox(:name, "noName").value }
19
19
  end
@@ -23,7 +23,7 @@ class TC_CheckBox < Test::Unit::TestCase
23
23
  assert_equal("", browser.checkbox(:index, 0).id )
24
24
  assert_equal("checkbox", browser.checkbox(:index, 0).type )
25
25
  assert_equal("on", browser.checkbox(:index, 0).value )
26
- assert_equal(false, browser.checkbox(:index, 0).disabled )
26
+ assert_equal(false, browser.checkbox(:index, 0).disabled? )
27
27
  end
28
28
  def test_checkbox_properties
29
29
  assert_equal("check_box_style", browser.checkbox(:name, "box1").class_name)
@@ -34,7 +34,7 @@ class TC_CheckBox < Test::Unit::TestCase
34
34
  assert(browser.checkbox(:name, "box6").exists?)
35
35
  assert_equal("checkbox", browser.checkbox(:name => "box4", :value => 3).type )
36
36
  assert_equal("checkbox", browser.checkbox(:name => "box6", :value => 'Milk').type )
37
- assert_equal(false, browser.checkbox(:name => "box4", :value => 3).disabled )
37
+ assert_equal(false, browser.checkbox(:name => "box4", :value => 3).disabled? )
38
38
  assert_equal("", browser.checkbox(:name => "box4", :value => 3).id )
39
39
 
40
40
  assert_equal("box4-value5", browser.checkbox(:name => "box4", :value => 5).title)
@@ -77,73 +77,63 @@ class TC_CheckBox < Test::Unit::TestCase
77
77
  end
78
78
 
79
79
  def test_checkbox_isSet
80
- assert_raises(UnknownObjectException ) { browser.checkbox(:name, "noName").isSet? }
80
+ assert_raises(UnknownObjectException ) { browser.checkbox(:name, "noName").set? }
81
81
 
82
- assert_false(browser.checkbox(:name, "box1").isSet?)
83
- assert_false(browser.checkbox(:name, "box2").isSet?)
84
- assert(browser.checkbox(:name, "box3").isSet?)
82
+ assert_false(browser.checkbox(:name, "box1").set?)
83
+ assert_false(browser.checkbox(:name, "box2").set?)
84
+ assert(browser.checkbox(:name, "box3").set?)
85
85
 
86
- assert_false(browser.checkbox(:name => "box4", :value => 2 ).isSet?)
87
- assert(browser.checkbox(:name => "box4", :value => 1 ).isSet?)
86
+ assert_false(browser.checkbox(:name => "box4", :value => 2 ).set?)
87
+ assert(browser.checkbox(:name => "box4", :value => 1 ).set?)
88
88
 
89
- assert_false(browser.checkbox(:name => 'box6', :value => 'Milk').isSet?)
89
+ assert_false(browser.checkbox(:name => 'box6', :value => 'Milk').set?)
90
90
  end
91
91
 
92
92
  def test_checkbox_clear
93
93
  assert_raises(UnknownObjectException) { browser.checkbox(:name, "noName").clear }
94
94
  browser.checkbox(:name, "box1").clear
95
- assert_false(browser.checkbox(:name, "box1").isSet?)
95
+ assert_false(browser.checkbox(:name, "box1").set?)
96
96
 
97
97
  assert_raises(ObjectDisabledException) { browser.checkbox(:name, "box2").clear }
98
- assert_false(browser.checkbox(:name, "box2").isSet?)
98
+ assert_false(browser.checkbox(:name, "box2").set?)
99
99
 
100
100
  browser.checkbox(:name, "box3").clear
101
- assert_false(browser.checkbox(:name, "box3").isSet?)
101
+ assert_false(browser.checkbox(:name, "box3").set?)
102
102
 
103
103
  browser.checkbox(:name => "box4", :value => 1).clear
104
- assert_false(browser.checkbox(:name => "box4", :value => 1).isSet?)
104
+ assert_false(browser.checkbox(:name => "box4", :value => 1).set?)
105
105
 
106
106
  browser.checkbox(:name => "box6", :value => 'Tea').clear
107
- assert_false(browser.checkbox(:name => "box6", :value => 'Tea').isSet?)
108
- end
109
-
110
- def test_checkbox_getState
111
- assert_raises(UnknownObjectException) { browser.checkbox(:name, "noName").getState }
112
- assert_equal( false, browser.checkbox(:name, "box1").getState )
113
- assert_equal( true, browser.checkbox(:name, "box3").getState)
114
-
115
- # checkboxes that have the same name but different values
116
- assert_equal( false, browser.checkbox(:name => "box4", :value => 2).getState )
117
- assert_equal( true, browser.checkbox(:name => "box4", :value => 1).getState)
107
+ assert_false(browser.checkbox(:name => "box6", :value => 'Tea').set?)
118
108
  end
119
109
 
120
110
  def test_checkbox_set
121
111
  assert_raises(UnknownObjectException) { browser.checkbox(:name, "noName").set }
122
112
  browser.checkbox(:name, "box1").set
123
- assert(browser.checkbox(:name, "box1").isSet?)
113
+ assert(browser.checkbox(:name, "box1").set?)
124
114
 
125
115
  assert_raises(ObjectDisabledException) { browser.checkbox(:name, "box2").set }
126
116
 
127
117
  browser.checkbox(:name, "box3").set
128
- assert(browser.checkbox(:name, "box3").isSet?)
118
+ assert(browser.checkbox(:name, "box3").set?)
129
119
 
130
120
  # checkboxes that have the same name but different values
131
121
  browser.checkbox(:name => "box4", :value => 3).set
132
- assert(browser.checkbox(:name => "box4", :value => 3).isSet?)
122
+ assert(browser.checkbox(:name => "box4", :value => 3).set?)
133
123
 
134
124
  # test set using the optinal true/false
135
125
  # assumes the checkbox is already checked
136
126
  browser.checkbox(:name, "box1").set( false )
137
- assert_false(browser.checkbox(:name, "box1").isSet?)
127
+ assert_false(browser.checkbox(:name, "box1").set?)
138
128
 
139
129
  browser.checkbox(:name, "box1").set( true )
140
- assert(browser.checkbox(:name, "box1").isSet?)
130
+ assert(browser.checkbox(:name, "box1").set?)
141
131
 
142
132
  browser.checkbox(:name => "box6", :value => 'Tea').set( false )
143
- assert_false(browser.checkbox(:name => "box6", :value => 'Tea').isSet?)
133
+ assert_false(browser.checkbox(:name => "box6", :value => 'Tea').set?)
144
134
 
145
135
  browser.checkbox(:name => "box6", :value => 'Tea').set( true )
146
- assert(browser.checkbox(:name => "box6", :value => 'Tea').isSet?)
136
+ assert(browser.checkbox(:name => "box6", :value => 'Tea').set?)
147
137
  end
148
138
 
149
139
  def test_checkboxes_access
@@ -37,13 +37,8 @@ class TC_CSS_Selector < Test::Unit::TestCase
37
37
  assert_equal( "circle", browser.image(:css, "*[id ^= 'circ']").id )
38
38
  end
39
39
 
40
- def test_link
41
- goto_page "links1.html"
42
- assert_equal( "link_name", browser.link(:css, "*[name *= ink_nam]").name )
43
- end
44
-
45
40
  def test_table
46
41
  goto_page "table1.html"
47
- assert_equal( "Header", browser.cell(:css , ".sample th").text )
42
+ assert_equal( "Header", browser.th(:css , ".sample th").text )
48
43
  end
49
44
  end
@@ -31,11 +31,8 @@ class TC_CSS < Test::Unit::TestCase
31
31
  end
32
32
 
33
33
  def test_inline_style
34
- assert_equal("300px", browser.form(:index, 0).style.width)
34
+ assert_match(/300px/, browser.form(:index, 0).style)
35
35
  end
36
36
 
37
- def test_internal_style
38
- assert_equal("#f00", browser.div(:id => "Container").style.backgroundColor)
39
- end
40
37
  end
41
38
 
@@ -10,17 +10,6 @@ class TC_Divs < Test::Unit::TestCase
10
10
  uses_page "div.html"
11
11
  end
12
12
 
13
- def test_divs
14
- assert_raises(UnknownObjectException) { browser.div(:id, "div77").click }
15
- assert_raises(UnknownObjectException) { browser.div(:title, "div77").click }
16
-
17
- assert browser.text_field(:name, "text1").verify_contains("0")
18
- browser.div(:id, "div3").click
19
- assert browser.text_field(:name, "text1").verify_contains("1")
20
- browser.div(:id, "div4").click
21
- assert browser.text_field(:name, "text1").verify_contains("0")
22
- end
23
-
24
13
  tag_method :test_div_properties, :fails_on_firefox
25
14
  def test_div_properties
26
15
  assert_raises(UnknownObjectException) { browser.div(:id, "div77").text }
@@ -39,9 +28,7 @@ class TC_Divs < Test::Unit::TestCase
39
28
  assert_equal("div1" , browser.div(:index, 0).id)
40
29
  assert_equal("" , browser.div(:index, 0).class_name)
41
30
  assert_equal("blueText" , browser.div(:index, 1).class_name)
42
- assert_equal("" , browser.div(:index, 1).value)
43
- assert_equal(false , browser.div(:index, 1).disabled)
44
- assert_equal("" , browser.div(:index, 1).name)
31
+ assert_equal(false , browser.div(:index, 1).disabled?)
45
32
  assert_equal("div2", browser.div(:index, 1).id)
46
33
  end
47
34
 
@@ -51,7 +38,6 @@ class TC_Divs < Test::Unit::TestCase
51
38
 
52
39
  index = 0
53
40
  browser.divs.each do |s|
54
- assert_equal(browser.div(:index,index).name, s.name)
55
41
  assert_equal(browser.div(:index,index).id, s.id)
56
42
  assert_equal(browser.div(:index,index).class_name , s.class_name)
57
43
  index += 1
@@ -118,9 +104,7 @@ class TC_Divs < Test::Unit::TestCase
118
104
  assert_equal("span1" , browser.span(:index , 0).id )
119
105
  assert_equal("" , browser.span(:index , 0).class_name )
120
106
  assert_equal("blueText" , browser.span(:index , 1).class_name )
121
- assert_equal("" , browser.span(:index , 1).value)
122
- assert_equal(false , browser.span(:index , 1).disabled)
123
- assert_equal("" , browser.span(:index , 1).name)
107
+ assert_equal(false , browser.span(:index , 1).disabled?)
124
108
  assert_equal("span2", browser.span(:index , 1).id)
125
109
  end
126
110
 
@@ -130,8 +114,6 @@ class TC_Divs < Test::Unit::TestCase
130
114
 
131
115
  index = 0
132
116
  browser.spans.each do |s|
133
- # puts "each - span = " + s.to_s
134
- assert_equal(browser.span(:index, index ).name , s.name )
135
117
  assert_equal(browser.span(:index, index ).id , s.id )
136
118
  assert_equal(browser.span(:index, index ).class_name , s.class_name )
137
119
  index += 1
@@ -166,7 +148,7 @@ class TC_Divs < Test::Unit::TestCase
166
148
  assert_raises( UnknownObjectException) {browser.p(:id , 'missing').text }
167
149
  assert_raises( UnknownObjectException) {browser.p(:id , 'missing').title }
168
150
  assert_raises( UnknownObjectException) {browser.p(:id , 'missing').to_s }
169
- assert_raises( UnknownObjectException) {browser.p(:id , 'missing').disabled }
151
+ assert_raises( UnknownObjectException) {browser.p(:id , 'missing').disabled? }
170
152
 
171
153
  assert_equal('redText' , browser.p(:index,0).class_name)
172
154
  assert_equal('P_tag_1' , browser.p(:index,0).title)
@@ -10,7 +10,6 @@ class TC_DocumentStandards_Quirks < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_elements_exist_or_not
13
- assert(browser.document_mode.to_i == 5)
14
13
  assert(browser.text_field(:name,"quirks_text").exists?)
15
14
  browser.text_field(:name,"quirks_text").set "test"
16
15
  browser.text_field(:name,"quirks_text").fire_event "onClick"
@@ -26,7 +25,6 @@ class TC_DocumentStandards_IE7 < Test::Unit::TestCase
26
25
  end
27
26
 
28
27
  def test_elements_exist_or_not
29
- assert(browser.document_mode.to_i == 7)
30
28
  assert(browser.text_field(:name,"ie7_text").exists?)
31
29
  browser.text_field(:name,"ie7_text").set "test"
32
30
  browser.text_field(:name,"ie7_text").fire_event "onClick"
@@ -42,7 +40,6 @@ class TC_DocumentStandards_IE8 < Test::Unit::TestCase
42
40
  end
43
41
 
44
42
  def test_elements_exist_or_not
45
- assert(browser.document_mode.to_i == 8)
46
43
  assert(browser.text_field(:name,"ie8_text").exists?)
47
44
  browser.text_field(:name,"ie8_text").set "test"
48
45
  browser.text_field(:name,"ie8_text").fire_event "onClick"
@@ -58,7 +55,6 @@ class TC_DocumentStandards_IE9 < Test::Unit::TestCase
58
55
  end
59
56
 
60
57
  def test_elements_exist_or_not
61
- assert(browser.document_mode.to_i == 9)
62
58
  assert(browser.text_field(:name,"ie9_text").exists?)
63
59
  browser.text_field(:name,"ie9_text").set "test"
64
60
  browser.text_field(:name,"ie9_text").fire_event "onClick"
@@ -28,8 +28,8 @@ class TC_ElementCollections < Test::Unit::TestCase
28
28
  def test_brackets
29
29
  assert browser.buttons[0], browser.buttons(:class => "one")
30
30
  assert browser.buttons[1].exists?
31
- assert_raises(Watir::Exception::MissingWayOfFindingObjectException) {browser.buttons[2].exists?}
32
- assert_raises(Watir::Exception::MissingWayOfFindingObjectException) {browser.buttons[-1].exists?}
31
+ assert browser.buttons[2].exists? == false
32
+ assert_raise(Watir::Exception::UnknownObjectException) {browser.buttons[2].click}
33
33
  end
34
34
 
35
35
  def test_first
@@ -21,7 +21,7 @@ class TC_Elements < Test::Unit::TestCase
21
21
  def test_element_iterator
22
22
  assert_equal 3, browser.elements(:class, 'blueText').length
23
23
  assert_equal 3, browser.elements(:class, 'blueText').size
24
- assert_equal("span2", browser.elements(:class, 'blueText')[2].id)
24
+ assert_equal("number3", browser.elements(:class, 'blueText')[2].id)
25
25
 
26
26
  index = 0
27
27
  browser.elements(:id, /div/).each do |s|
@@ -80,36 +80,6 @@ class TC_Forms_Collection < Test::Unit::TestCase
80
80
  end
81
81
  end
82
82
 
83
- class TC_Form_Display < Test::Unit::TestCase
84
- include CaptureIOHelper
85
- def test_showforms
86
- goto_page "forms2.html"
87
- actual = capture_stdout { browser.showForms }
88
- expected = <<END_OF_MESSAGE
89
- There are 4 forms
90
- Form name:
91
- id:
92
- method: get
93
- action: pass.html
94
- Form name: test2
95
- id: f2
96
- method: get
97
- action: pass2.html
98
- Form name: test3
99
- id:
100
- method: get
101
- action: pass2.html
102
- Form name: test2
103
- id:
104
- method: get
105
- action: pass2.html
106
- END_OF_MESSAGE
107
- actual.gsub!(/(action: )file:.*\/(.*)$/,'\\1\\2') if actual =~ /file:/
108
- actual.gsub!(/\s+\n/,"\n")
109
- assert_equal(expected, actual)
110
- end
111
- end
112
-
113
83
  class TC_Forms3 < Test::Unit::TestCase
114
84
  def setup
115
85
  goto_page "forms3.html"
@@ -11,26 +11,26 @@ class TC_Frames < Test::Unit::TestCase
11
11
  end
12
12
 
13
13
  def test_frame_no_what
14
- assert_raises(UnknownObjectException) { browser.frame(:name => "missingFrame").button(:id, "b2").enabled? }
14
+ assert_raises(UnknownFrameException) { browser.frame(:name => "missingFrame").html }
15
15
  assert_raises(UnknownObjectException) { browser.frame(:name => "buttonFrame2").button(:id, "b2").enabled? }
16
16
  assert(browser.frame(:name => "buttonFrame").button(:id, "b2").enabled?)
17
17
  assert_false(browser.frame(:name => "buttonFrame").button(:caption, "Disabled Button").enabled?)
18
18
  end
19
19
 
20
20
  def test_frame_using_name
21
- assert_raises(UnknownObjectException) { browser.frame(:name, "missingFrame").button(:id, "b2").enabled? }
21
+ assert_raises(UnknownFrameException) { browser.frame(:name, "missingFrame").html }
22
22
  assert_raises(UnknownObjectException) { browser.frame(:name, "buttonFrame2").button(:id, "b2").enabled? }
23
23
  assert(browser.frame(:name, "buttonFrame").button(:id, "b2").enabled?)
24
24
  assert_false(browser.frame(:name, "buttonFrame").button(:caption, "Disabled Button").enabled?)
25
25
  end
26
26
 
27
27
  def test_frame_using_name_and_regexp
28
- assert_raises(UnknownObjectException) { browser.frame(:name, /missingFrame/).button(:id, "b2").enabled? }
28
+ assert_raises(UnknownFrameException) { browser.frame(:name, /missingFrame/).button(:id, "b2").enabled? }
29
29
  assert(browser.frame(:name, /button/).button(:id, "b2").enabled?)
30
30
  end
31
31
 
32
32
  def test_frame_using_index
33
- assert_raises(UnknownObjectException) { browser.frame(:index, 7).button(:id, "b2").enabled? }
33
+ assert_raises(UnknownFrameException) { browser.frame(:index, 7).button(:id, "b2").enabled? }
34
34
  assert_raises(UnknownObjectException) { browser.frame(:index, 1).button(:id, "b2").enabled? }
35
35
  assert(browser.frame(:index, 0 ).button(:id, "b2").enabled?)
36
36
  assert_false(browser.frame(:index, 0).button(:caption, "Disabled Button").enabled?)
@@ -58,11 +58,11 @@ class TC_Frames2 < Test::Unit::TestCase
58
58
  end
59
59
 
60
60
  def test_frame_with_no_name
61
- assert_raises(UnknownObjectException) { browser.frame(:name, "missingFrame").button(:id, "b2").enabled? }
61
+ assert_raises(UnknownFrameException) { browser.frame(:name, "missingFrame").button(:id, "b2").enabled? }
62
62
  end
63
63
 
64
64
  def test_frame_by_id
65
- assert_raises(UnknownObjectException) { browser.frame(:id, "missingFrame").button(:id, "b2").enabled? }
65
+ assert_raises(UnknownFrameException) { browser.frame(:id, "missingFrame").button(:id, "b2").enabled? }
66
66
  assert(browser.frame(:id, 'first_frame').button(:id, "b2").enabled?)
67
67
  end
68
68
 
@@ -80,8 +80,8 @@ class TC_NestedFrames < Test::Unit::TestCase
80
80
  end
81
81
 
82
82
  def test_frame
83
- assert_raises(UnknownObjectException) { browser.frame(:name => "missingFrame").button(:id, "b2").enabled? }
84
- assert_raises(UnknownObjectException) { browser.frame(:name => "nestedFrame").frame(:name => "subFrame").button(:id, "b2").enabled? }
83
+ assert_raises(UnknownFrameException) { browser.frame(:name => "missingFrame").button(:id, "b2").enabled? }
84
+ assert_raises(UnknownFrameException) { browser.frame(:name => "nestedFrame").frame(:name => "subFrame").button(:id, "b2").enabled? }
85
85
  assert(browser.frame(:name => "nestedFrame").frame(:name => "senderFrame").button(:name, "sendIt").enabled?)
86
86
  browser.frame(:name => "nestedFrame").frame(:name => "senderFrame").text_field(:index, "0").set("Hello")
87
87
  browser.frame(:name => "nestedFrame").frame(:name => "senderFrame").button(:name, "sendIt").click
@@ -112,47 +112,6 @@ class TC_IFrames < Test::Unit::TestCase
112
112
 
113
113
  end
114
114
 
115
- class TC_show_frames < Test::Unit::TestCase
116
- include CaptureIOHelper
117
-
118
- def capture_and_compare(page, expected)
119
- goto_page page
120
- actual = capture_stdout { browser.showFrames }
121
- assert_equal(expected, actual)
122
- end
123
-
124
- tag_method :test_show_nested_frames, :fails_on_firefox
125
-
126
- def test_show_nested_frames
127
- capture_and_compare("nestedFrames.html", <<END_OF_MESSAGE)
128
- there are 2 frames
129
- frame index: 1 name: nestedFrame
130
- frame index: 2 name: nestedFrame2
131
- END_OF_MESSAGE
132
- end
133
-
134
- tag_method :test_button_frames, :fails_on_firefox
135
-
136
- def test_button_frames
137
- capture_and_compare("frame_buttons.html", <<END_OF_MESSAGE)
138
- there are 2 frames
139
- frame index: 1 name: buttonFrame
140
- frame index: 2 name: buttonFrame2
141
- END_OF_MESSAGE
142
- end
143
-
144
- tag_method :test_iframes, :fails_on_firefox
145
-
146
- def test_iframes
147
- capture_and_compare("iframeTest.html", <<END_OF_MESSAGE)
148
- there are 2 frames
149
- frame index: 1 name: senderFrame
150
- frame index: 2 name: receiverFrame
151
- END_OF_MESSAGE
152
- end
153
-
154
- end
155
-
156
115
  class TC_Frames_click_no_wait < Test::Unit::TestCase
157
116
  def setup
158
117
  goto_page "frame_buttons.html"