watir 1.9.2 → 2.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +27 -0
- data/VERSION +1 -1
- data/lib/watir/collections.rb +29 -387
- data/lib/watir/container.rb +14 -784
- data/lib/watir/dialogs/javascript.rb +7 -0
- data/lib/watir/element.rb +24 -4
- data/lib/watir/element_collections.rb +35 -57
- data/lib/watir/form.rb +13 -33
- data/lib/watir/frame.rb +14 -27
- data/lib/watir/html_element.rb +11 -3
- data/lib/watir/ie-class.rb +10 -1
- data/lib/watir/image.rb +3 -11
- data/lib/watir/input_elements.rb +11 -11
- data/lib/watir/link.rb +8 -15
- data/lib/watir/locator.rb +98 -73
- data/lib/watir/modal_dialog.rb +7 -1
- data/lib/watir/non_control_elements.rb +5 -89
- data/lib/watir/table.rb +46 -49
- data/unittests/checkbox_test.rb +39 -44
- data/unittests/checkbox_xpath_test.rb +2 -2
- data/unittests/css_test.rb +1 -1
- data/unittests/div_test.rb +43 -43
- data/unittests/div_xpath_test.rb +12 -12
- data/unittests/element_collections_test.rb +85 -0
- data/unittests/element_test.rb +4 -4
- data/unittests/form_test.rb +16 -19
- data/unittests/form_xpath_test.rb +6 -6
- data/unittests/frame_test.rb +114 -120
- data/unittests/html/multiple_specifiers.html +64 -0
- data/unittests/ie_test.rb +5 -5
- data/unittests/images_test.rb +12 -12
- data/unittests/index_specifier_test.rb +32 -0
- data/unittests/js_events_test.rb +3 -3
- data/unittests/links_multi_test.rb +4 -4
- data/unittests/links_test.rb +20 -20
- data/unittests/lists_test.rb +1 -1
- data/unittests/map_test.rb +1 -1
- data/unittests/multiple_specifiers_test.rb +29 -0
- data/unittests/no_wait_test.rb +2 -2
- data/unittests/pagecontainstext_test.rb +2 -2
- data/unittests/parent_child_test.rb +2 -2
- data/unittests/pre_test.rb +5 -5
- data/unittests/radios_test.rb +41 -60
- data/unittests/selectbox_test.rb +15 -15
- data/unittests/speed_settings_test.rb +2 -2
- data/unittests/table_and_tablerow_to_a_test.rb +7 -7
- data/unittests/table_test.rb +81 -94
- data/unittests/textfields_test.rb +26 -27
- data/unittests/windows/attach_to_new_window_test.rb +1 -1
- data/watir-rdoc.rb +1 -1
- data/watir.gemspec +1 -2
- metadata +34 -40
data/unittests/ie_test.rb
CHANGED
@@ -25,25 +25,25 @@ class TC_ie < Test::Unit::TestCase
|
|
25
25
|
|
26
26
|
# is this correct?
|
27
27
|
def test_getLink_ByIndexReturnsNilOnNoLinks
|
28
|
-
assert_nil(@faked_ie.
|
29
|
-
assert_nil(@faked_ie.
|
28
|
+
assert_nil(@faked_ie.tagged_element_locator('A', :index, 0))
|
29
|
+
assert_nil(@faked_ie.tagged_element_locator('A', :index, 0))
|
30
30
|
end
|
31
31
|
|
32
32
|
def test_getLink_ByBadHow
|
33
33
|
@faked_ie.addLink "foo"
|
34
34
|
assert_raise(MissingWayOfFindingObjectException) do
|
35
|
-
@faked_ie.
|
35
|
+
@faked_ie.tagged_element_locator('A', :no_such_mechanism, "verifying error handling")
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
39
|
# is this correct?
|
40
40
|
def test_getLink_ByUrlReturnsNilOnNoLinks
|
41
|
-
assert_nil(@faked_ie.
|
41
|
+
assert_nil(@faked_ie.tagged_element_locator('A', :url, "whatever"))
|
42
42
|
end
|
43
43
|
|
44
44
|
# is this correct?
|
45
45
|
def test_getLink_ByTextReturnsNilOnNoLinks
|
46
|
-
assert_nil(@faked_ie.
|
46
|
+
assert_nil(@faked_ie.tagged_element_locator('A', :text, "whatever"))
|
47
47
|
end
|
48
48
|
|
49
49
|
end
|
data/unittests/images_test.rb
CHANGED
@@ -96,25 +96,25 @@ class TC_Images < Test::Unit::TestCase
|
|
96
96
|
assert_raises(UnknownObjectException) { browser.image(:index, 82).alt}
|
97
97
|
assert_raises(UnknownObjectException) { browser.image(:index, 82).title}
|
98
98
|
|
99
|
-
assert_equal( "" , browser.image(:index,
|
100
|
-
assert_equal( "square" , browser.image(:index,
|
101
|
-
assert_match( /square\.jpg/i ,browser.image(:index,
|
102
|
-
assert_equal( "" , browser.image(:index,
|
103
|
-
assert_equal( "88" , browser.image(:index,
|
104
|
-
assert_equal( "88" , browser.image(:index,
|
99
|
+
assert_equal( "" , browser.image(:index, 1).name )
|
100
|
+
assert_equal( "square" , browser.image(:index, 1).id )
|
101
|
+
assert_match( /square\.jpg/i ,browser.image(:index, 1).src )
|
102
|
+
assert_equal( "" , browser.image(:index, 1).value )
|
103
|
+
assert_equal( "88" , browser.image(:index, 1).height )
|
104
|
+
assert_equal( "88" , browser.image(:index, 1).width )
|
105
105
|
|
106
106
|
# this line fails, as the date is when it is installed on the local oc, not the date the file was really created
|
107
107
|
#assert_equal( "03/10/2005" , browser.image(:index, 2).fileCreatedDate )
|
108
|
-
assert_equal( "788", browser.image(:index,
|
108
|
+
assert_equal( "788", browser.image(:index, 1).fileSize )
|
109
109
|
|
110
110
|
# tool tips: alt text + title
|
111
|
-
assert_equal('circle' , browser.image(:index,
|
112
|
-
assert_equal( "" , browser.image(:index,
|
111
|
+
assert_equal('circle' , browser.image(:index, 5).alt)
|
112
|
+
assert_equal( "" , browser.image(:index, 1).alt)
|
113
113
|
assert_equal('square_image', browser.image(:id, 'square').title)
|
114
114
|
|
115
115
|
# TODO: to string tests -- output should be verified!
|
116
116
|
browser.image(:name , "circle").to_s
|
117
|
-
browser.image(:index ,
|
117
|
+
browser.image(:index , 1).to_s
|
118
118
|
end
|
119
119
|
|
120
120
|
def test_image_iterator
|
@@ -123,7 +123,7 @@ class TC_Images < Test::Unit::TestCase
|
|
123
123
|
assert_equal("square", browser.images[2].id )
|
124
124
|
assert_match(/square/, browser.images[2].src )
|
125
125
|
|
126
|
-
index =
|
126
|
+
index = 0
|
127
127
|
browser.images.each do |i|
|
128
128
|
assert_equal( browser.image(:index, index).id , i.id )
|
129
129
|
assert_equal( browser.image(:index, index).name , i.name )
|
@@ -133,7 +133,7 @@ class TC_Images < Test::Unit::TestCase
|
|
133
133
|
|
134
134
|
index += 1
|
135
135
|
end
|
136
|
-
assert_equal(index
|
136
|
+
assert_equal(index, browser.images.length)
|
137
137
|
end
|
138
138
|
|
139
139
|
def test_save_local_image
|
@@ -0,0 +1,32 @@
|
|
1
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED
|
2
|
+
require 'unittests/setup'
|
3
|
+
|
4
|
+
class TC_BaseIndex < Test::Unit::TestCase
|
5
|
+
include Watir::Exception
|
6
|
+
|
7
|
+
def setup
|
8
|
+
goto_page "multiple_specifiers.html"
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_default_index
|
12
|
+
assert "one", browser.table.row.cell.class_name
|
13
|
+
assert "testcell", browser.table.row.cell.name
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_zero_based_indexing
|
17
|
+
assert "one", browser.button(:index => 0).class_name
|
18
|
+
assert "two", browser.button(:index => 1).class_name
|
19
|
+
|
20
|
+
Watir::IE.zero_based_indexing = false
|
21
|
+
|
22
|
+
assert "one", browser.button(:index => 1).class_name
|
23
|
+
assert "two", browser.button(:index => 2).class_name
|
24
|
+
|
25
|
+
Watir::IE.zero_based_indexing = true
|
26
|
+
|
27
|
+
assert "one", browser.button(:index => 0).class_name
|
28
|
+
assert "two", browser.button(:index => 1).class_name
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
data/unittests/js_events_test.rb
CHANGED
@@ -9,17 +9,17 @@ class TC_JSEvents < Test::Unit::TestCase
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def test_keyboard_event
|
12
|
-
browser.text_field(:index,
|
12
|
+
browser.text_field(:index, 0).fire_event("onkeyup")
|
13
13
|
assert(browser.div(:id, 'event_name').text == 'onkeyup')
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_mouse_event
|
17
|
-
browser.text_field(:index,
|
17
|
+
browser.text_field(:index, 0).fire_event("onmouseup")
|
18
18
|
assert(browser.div(:id, 'event_name').text == 'onmouseup')
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_html_event
|
22
|
-
browser.select_list(:index,
|
22
|
+
browser.select_list(:index, 0).fire_event("onchange")
|
23
23
|
assert(browser.div(:id, 'event_name').text == 'onchange')
|
24
24
|
end
|
25
25
|
|
@@ -28,7 +28,7 @@ class TC_Links_Multi < Test::Unit::TestCase
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_class_and_index
|
31
|
-
assert_match(/papa.html/, browser.link(:class => 'Papa', :index =>
|
31
|
+
assert_match(/papa.html/, browser.link(:class => 'Papa', :index => 1).href)
|
32
32
|
end
|
33
33
|
|
34
34
|
def test_not_found_single
|
@@ -40,9 +40,9 @@ class TC_Links_Multi < Test::Unit::TestCase
|
|
40
40
|
|
41
41
|
def test_not_found_with_multi
|
42
42
|
exception = assert_raise(UnknownObjectException) do
|
43
|
-
browser.link(:class => 'Missing', :index =>
|
43
|
+
browser.link(:class => 'Missing', :index => 1).href
|
44
44
|
end
|
45
|
-
assert_equal('Unable to locate element, using {:class=>"Missing", :index=>
|
45
|
+
assert_equal('Unable to locate element, using {:class=>"Missing", :index=>1}', exception.message)
|
46
46
|
end
|
47
47
|
|
48
|
-
end
|
48
|
+
end
|
data/unittests/links_test.rb
CHANGED
@@ -70,7 +70,7 @@ class TC_Links < Test::Unit::TestCase
|
|
70
70
|
assert( browser.text.include?("Links3-Pass") )
|
71
71
|
end
|
72
72
|
def test_link3_click
|
73
|
-
browser.link(:index,
|
73
|
+
browser.link(:index, 0).click
|
74
74
|
assert( browser.text.include?("Links2-Pass") )
|
75
75
|
end
|
76
76
|
def test_link4_click
|
@@ -87,28 +87,28 @@ class TC_Links < Test::Unit::TestCase
|
|
87
87
|
assert_raises(UnknownObjectException) { browser.link(:index, 199).type }
|
88
88
|
assert_raises(UnknownObjectException) { browser.link(:index, 199).class_name }
|
89
89
|
|
90
|
-
assert_match(/links2/ ,browser.link(:index,
|
91
|
-
assert_equal("" , browser.link(:index,
|
92
|
-
assert_equal("test1" , browser.link(:index,
|
93
|
-
assert_equal("" , browser.link(:index,
|
94
|
-
assert_equal("" , browser.link(:index,
|
95
|
-
assert_equal(false , browser.link(:index,
|
96
|
-
assert_equal("" , browser.link(:index,
|
97
|
-
assert_equal("link_class_1" , browser.link(:index,
|
90
|
+
assert_match(/links2/ ,browser.link(:index, 0).href )
|
91
|
+
assert_equal("" , browser.link(:index, 0).value)
|
92
|
+
assert_equal("test1" , browser.link(:index, 0).innerText )
|
93
|
+
assert_equal("" , browser.link(:index, 0).name )
|
94
|
+
assert_equal("" , browser.link(:index, 0).id )
|
95
|
+
assert_equal(false , browser.link(:index, 0).disabled )
|
96
|
+
assert_equal("" , browser.link(:index, 0).class_name)
|
97
|
+
assert_equal("link_class_1" , browser.link(:index, 1).class_name)
|
98
98
|
|
99
|
-
assert_equal("link_id" , browser.link(:index,
|
100
|
-
assert_equal("link_name" , browser.link(:index,
|
99
|
+
assert_equal("link_id" , browser.link(:index, 5).id )
|
100
|
+
assert_equal("link_name" , browser.link(:index, 6).name )
|
101
101
|
|
102
|
-
assert_equal("" , browser.link(:index,
|
102
|
+
assert_equal("" , browser.link(:index, 6).title)
|
103
103
|
|
104
|
-
assert_equal("link_title" , browser.link(:index,
|
104
|
+
assert_equal("link_title" , browser.link(:index, 7).title)
|
105
105
|
end
|
106
106
|
|
107
107
|
def test_link_iterator
|
108
108
|
assert_equal(9, browser.links.length )
|
109
|
-
assert_equal("Link Using a name" , browser.links[
|
109
|
+
assert_equal("Link Using a name" , browser.links[6].innerText)
|
110
110
|
|
111
|
-
index =
|
111
|
+
index = 0
|
112
112
|
browser.links.each do |link|
|
113
113
|
assert_equal(browser.link(:index, index).href , link.href )
|
114
114
|
assert_equal(browser.link(:index, index).id , link.id )
|
@@ -132,14 +132,14 @@ class TC_Frame_Links < Test::Unit::TestCase
|
|
132
132
|
end
|
133
133
|
|
134
134
|
def test_links_in_frames
|
135
|
-
assert(browser.frame("linkFrame").link(:text, "test1").exists?)
|
136
|
-
assert_false(browser.frame("linkFrame").link(:text, "missing").exists?)
|
135
|
+
assert(browser.frame(:name => "linkFrame").link(:text, "test1").exists?)
|
136
|
+
assert_false(browser.frame(:name => "linkFrame").link(:text, "missing").exists?)
|
137
137
|
|
138
|
-
assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.frame("linkFrame").link(:index, 199).href }
|
139
|
-
assert_match(/links2/, browser.frame("linkFrame").link(:index,
|
138
|
+
assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.frame(:name => "linkFrame").link(:index, 199).href }
|
139
|
+
assert_match(/links2/, browser.frame(:name => "linkFrame").link(:index, 0).href)
|
140
140
|
|
141
141
|
count =0
|
142
|
-
browser.frame("linkFrame").links.each do |l|
|
142
|
+
browser.frame(:name => "linkFrame").links.each do |l|
|
143
143
|
count+=1
|
144
144
|
end
|
145
145
|
|
data/unittests/lists_test.rb
CHANGED
@@ -12,7 +12,7 @@ class Lists_Tests < Watir::TestCase
|
|
12
12
|
assert(browser.li(:id, 'list2').exists?)
|
13
13
|
assert(browser.li(:id, 'list3').exists?)
|
14
14
|
assert(browser.li(:id, 'ordered1').exists?)
|
15
|
-
assert_equal('Coffee', browser.li(:index,
|
15
|
+
assert_equal('Coffee', browser.li(:index, 0).text)
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_list_item_exists_by_name
|
data/unittests/map_test.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED
|
2
|
+
require 'unittests/setup'
|
3
|
+
|
4
|
+
class TC_MultipleSpecifiers < Test::Unit::TestCase
|
5
|
+
include Watir::Exception
|
6
|
+
|
7
|
+
def setup
|
8
|
+
goto_page "multiple_specifiers.html"
|
9
|
+
end
|
10
|
+
|
11
|
+
%w[form table cell row button file_field text_field
|
12
|
+
hidden select_list checkbox radio link image element div].each do |element|
|
13
|
+
class_eval %Q{
|
14
|
+
def test_#{element}
|
15
|
+
assert "one", browser.#{element}(:name => "test#{element}", :class => "one").class_name
|
16
|
+
assert "two", browser.#{element}(:name => "test#{element}", :class => "two").class_name
|
17
|
+
assert_raises(UnknownObjectException) {browser.#{element}(:name => "nonexistent", :class => "one").class_name}
|
18
|
+
end
|
19
|
+
}
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_frame
|
23
|
+
goto_page "frame_buttons.html"
|
24
|
+
assert "buttons1.html", browser.frame(:name => /buttonFrame/, :src => "buttons1.html").src
|
25
|
+
assert "blankpage.html", browser.frame(:name => /buttonFrame/, :src => "blankpage.html").src
|
26
|
+
assert_raises(UnknownObjectException) {browser.frame(:name => "nonexistent", :src => "buttons1.html").src}
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
data/unittests/no_wait_test.rb
CHANGED
@@ -4,7 +4,7 @@ require 'unittests/setup'
|
|
4
4
|
class TC_No_Wait_Commands < Test::Unit::TestCase
|
5
5
|
def test_fire_event_no_wait
|
6
6
|
goto_page "javascriptevents.html"
|
7
|
-
browser.text_field(:index,
|
7
|
+
browser.text_field(:index, 0).fire_event_no_wait("onkeyup")
|
8
8
|
assert_nothing_raised{
|
9
9
|
Watir::Wait.until {browser.div(:id, 'event_name').text == 'onkeyup'}
|
10
10
|
}
|
@@ -25,4 +25,4 @@ class TC_No_Wait_Commands < Test::Unit::TestCase
|
|
25
25
|
Watir::Wait.until {browser.select_list(:name , 'sel1').selected_options.first == 'Option 1'}
|
26
26
|
}
|
27
27
|
end
|
28
|
-
end
|
28
|
+
end
|
@@ -64,6 +64,6 @@ class TC_contains_text_in_frame < Test::Unit::TestCase
|
|
64
64
|
goto_page "frame_links.html"
|
65
65
|
end
|
66
66
|
def test_in_frame
|
67
|
-
assert browser.frame('linkFrame').contains_text('The button is really a link')
|
67
|
+
assert browser.frame(:name => 'linkFrame').contains_text('The button is really a link')
|
68
68
|
end
|
69
|
-
end
|
69
|
+
end
|
@@ -26,7 +26,7 @@ class TC_Relative < Test::Unit::TestCase
|
|
26
26
|
|
27
27
|
tag_method :test_before_and_after, :fails_on_firefox
|
28
28
|
def test_before_and_after
|
29
|
-
link = browser.link(:class => 'addtocart', :index =>
|
29
|
+
link = browser.link(:class => 'addtocart', :index => 1)
|
30
30
|
assert_equal 'http://localhost:3000/store/add_to_cart/12', link.href
|
31
31
|
assert(link.after?(@headline))
|
32
32
|
assert(@headline.before?(link))
|
@@ -41,4 +41,4 @@ class TC_Relative < Test::Unit::TestCase
|
|
41
41
|
assert_equal 'http://localhost:3000/store/add_to_cart/12', link.href
|
42
42
|
end
|
43
43
|
|
44
|
-
end
|
44
|
+
end
|
data/unittests/pre_test.rb
CHANGED
@@ -15,7 +15,7 @@ class TC_Pre < Test::Unit::TestCase
|
|
15
15
|
|
16
16
|
def test_Pre_Exists
|
17
17
|
assert_false( browser.pre( :index, 33 ).exists? )
|
18
|
-
assert( browser.pre( :index,
|
18
|
+
assert( browser.pre( :index, 2 ).exists? )
|
19
19
|
|
20
20
|
assert( browser.pre( :id, '1' ).exists? )
|
21
21
|
assert( browser.pre( :id, /[3-9]/ ).exists? )
|
@@ -27,25 +27,25 @@ class TC_Pre < Test::Unit::TestCase
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def test_simple_access
|
30
|
-
pre = browser.pre( :index,
|
30
|
+
pre = browser.pre( :index, 0 )
|
31
31
|
assert( pre.text.include?( "simple pre space" ) )
|
32
32
|
assert_false( pre.text.include?( "A second block" ) )
|
33
33
|
|
34
|
-
pre = browser.pre( :index,
|
34
|
+
pre = browser.pre( :index, 1 )
|
35
35
|
assert( pre.text.include?( "A second block" ) )
|
36
36
|
assert_false( pre.text.include?( "this is the last block" ) )
|
37
37
|
end
|
38
38
|
|
39
39
|
tag_method :test_embedded_spaces, :fails_on_firefox # http://jira.openqa.org/browse/WTR-267
|
40
40
|
def test_embedded_spaces
|
41
|
-
pre = browser.pre( :index,
|
41
|
+
pre = browser.pre( :index, 2 )
|
42
42
|
assert( pre.text.include?( "continue to work" ) )
|
43
43
|
assert_false( pre.text.include?( "Pre Tag Test" ) )
|
44
44
|
end
|
45
45
|
|
46
46
|
tag_method :test_html, :fails_on_firefox # http://jira.openqa.org/browse/WTR-260
|
47
47
|
def test_html
|
48
|
-
pre = browser.pre(:index,
|
48
|
+
pre = browser.pre(:index, 0)
|
49
49
|
assert( pre.html.gsub('"','').include?( "id=1 name=1" ) )
|
50
50
|
end
|
51
51
|
|
data/unittests/radios_test.rb
CHANGED
@@ -27,7 +27,7 @@ class TC_Radios < Test::Unit::TestCase
|
|
27
27
|
def test_Radio_Enabled
|
28
28
|
assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name, "noName").enabled? }
|
29
29
|
assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:id, "noName").enabled? }
|
30
|
-
assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name
|
30
|
+
assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name => "box4", :value => 6).enabled? }
|
31
31
|
|
32
32
|
assert_false(browser.radio(:name, "box2").enabled?)
|
33
33
|
assert(browser.radio(:id, "box5").enabled?)
|
@@ -44,29 +44,29 @@ class TC_Radios < Test::Unit::TestCase
|
|
44
44
|
assert_false(browser.button(:value , "foo").enabled?)
|
45
45
|
|
46
46
|
# first click the button is enabled and the radio is set
|
47
|
-
browser.radio(:name
|
48
|
-
assert(browser.radio(:name
|
49
|
-
assert(browser.radio(:name
|
47
|
+
browser.radio(:name => "box5", :value => 1).set
|
48
|
+
assert(browser.radio(:name => "box5", :value => 1).isSet?)
|
49
|
+
assert(browser.radio(:name => "box5", :value => 1).checked?)
|
50
50
|
assert(browser.button(:value, "foo").enabled?)
|
51
51
|
|
52
52
|
# second click the button is disabled and the radio is still set
|
53
|
-
browser.radio(:name
|
54
|
-
assert(browser.radio(:name
|
55
|
-
assert(browser.radio(:name
|
53
|
+
browser.radio(:name => "box5", :value => 1).set
|
54
|
+
assert(browser.radio(:name => "box5", :value => 1).isSet?)
|
55
|
+
assert(browser.radio(:name => "box5", :value => 1).checked?)
|
56
56
|
assert_false(browser.button(:value, "foo").enabled?)
|
57
57
|
|
58
58
|
# third click the button is enabled and the radio is still set
|
59
|
-
browser.radio(:name
|
60
|
-
assert(browser.radio(:name
|
61
|
-
assert(browser.radio(:name
|
59
|
+
browser.radio(:name => "box5", :value => 1).set
|
60
|
+
assert(browser.radio(:name => "box5", :value => 1).isSet?)
|
61
|
+
assert(browser.radio(:name => "box5", :value => 1).checked?)
|
62
62
|
assert(browser.button(:value, "foo").enabled?)
|
63
63
|
|
64
64
|
# click the radio with a value of 2 , button is disabled and the radio is still set
|
65
|
-
browser.radio(:name
|
66
|
-
assert_false(browser.radio(:name
|
67
|
-
assert_false(browser.radio(:name
|
68
|
-
assert(browser.radio(:name
|
69
|
-
assert(browser.radio(:name
|
65
|
+
browser.radio(:name => "box5", :value => 2).set
|
66
|
+
assert_false(browser.radio(:name => "box5", :value => 1).isSet?)
|
67
|
+
assert_false(browser.radio(:name => "box5", :value => 1).checked?)
|
68
|
+
assert(browser.radio(:name => "box5", :value => 2).isSet?)
|
69
|
+
assert(browser.radio(:name => "box5", :value => 2).checked?)
|
70
70
|
assert_false(browser.button(:value, "foo").enabled?)
|
71
71
|
end
|
72
72
|
|
@@ -76,14 +76,14 @@ class TC_Radios < Test::Unit::TestCase
|
|
76
76
|
assert_false(browser.radio(:name, "box1").isSet?)
|
77
77
|
assert( browser.radio(:name, "box3").isSet?)
|
78
78
|
assert_false(browser.radio(:name, "box2").isSet?)
|
79
|
-
assert( browser.radio(:name
|
80
|
-
assert_false(browser.radio(:name
|
79
|
+
assert( browser.radio(:name => "box4", :value => 1).isSet?)
|
80
|
+
assert_false(browser.radio(:name => "box4", :value => 2).isSet?)
|
81
81
|
|
82
82
|
assert_false(browser.radio(:name, "box1").checked?)
|
83
83
|
assert( browser.radio(:name, "box3").checked?)
|
84
84
|
assert_false(browser.radio(:name, "box2").checked?)
|
85
|
-
assert( browser.radio(:name
|
86
|
-
assert_false(browser.radio(:name
|
85
|
+
assert( browser.radio(:name => "box4", :value => 1).checked?)
|
86
|
+
assert_false(browser.radio(:name => "box4", :value => 2).checked?)
|
87
87
|
end
|
88
88
|
|
89
89
|
def test_radio_clear
|
@@ -98,8 +98,8 @@ class TC_Radios < Test::Unit::TestCase
|
|
98
98
|
browser.radio(:name, "box3").clear
|
99
99
|
assert_false(browser.radio(:name, "box3").isSet?)
|
100
100
|
|
101
|
-
browser.radio(:name
|
102
|
-
assert_false(browser.radio(:name
|
101
|
+
browser.radio(:name => "box4", :value => 1).clear
|
102
|
+
assert_false(browser.radio(:name => "box4", :value => 1).isSet?)
|
103
103
|
end
|
104
104
|
|
105
105
|
def test_radio_getState
|
@@ -109,8 +109,8 @@ class TC_Radios < Test::Unit::TestCase
|
|
109
109
|
assert_equal( true , browser.radio(:name, "box3").getState)
|
110
110
|
|
111
111
|
# radioes that have the same name but different values
|
112
|
-
assert_equal( false , browser.radio(:name
|
113
|
-
assert_equal( true , browser.radio(:name
|
112
|
+
assert_equal( false , browser.radio(:name => "box4", :value => 2).getState )
|
113
|
+
assert_equal( true , browser.radio(:name => "box4", :value => 1).getState)
|
114
114
|
end
|
115
115
|
|
116
116
|
def test_radio_set
|
@@ -124,8 +124,8 @@ class TC_Radios < Test::Unit::TestCase
|
|
124
124
|
assert(browser.radio(:name, "box3").isSet?)
|
125
125
|
|
126
126
|
# radioes that have the same name but different values
|
127
|
-
browser.radio(:name
|
128
|
-
assert(browser.radio(:name
|
127
|
+
browser.radio(:name => "box4", :value => 3).set
|
128
|
+
assert(browser.radio(:name => "box4", :value => 3).isSet?)
|
129
129
|
end
|
130
130
|
|
131
131
|
def test_radio_properties
|
@@ -136,28 +136,28 @@ class TC_Radios < Test::Unit::TestCase
|
|
136
136
|
assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).disabled }
|
137
137
|
assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).type }
|
138
138
|
|
139
|
-
assert_equal("on" , browser.radio(:index,
|
140
|
-
assert_equal("box1" , browser.radio(:index,
|
141
|
-
assert_equal("" , browser.radio(:index,
|
142
|
-
assert_equal("radio", browser.radio(:index,
|
139
|
+
assert_equal("on" , browser.radio(:index, 0).value)
|
140
|
+
assert_equal("box1" , browser.radio(:index, 0).name )
|
141
|
+
assert_equal("" , browser.radio(:index, 0).id )
|
142
|
+
assert_equal("radio", browser.radio(:index, 0).type )
|
143
143
|
|
144
|
-
assert_equal( false, browser.radio(:index,
|
145
|
-
assert_equal( true, browser.radio(:index,
|
144
|
+
assert_equal( false, browser.radio(:index, 0).disabled )
|
145
|
+
assert_equal( true, browser.radio(:index, 2).disabled )
|
146
146
|
|
147
|
-
assert_equal("box5" , browser.radio(:index,
|
148
|
-
assert_equal("" , browser.radio(:index,
|
147
|
+
assert_equal("box5" , browser.radio(:index, 1).id )
|
148
|
+
assert_equal("" , browser.radio(:index, 1).name )
|
149
149
|
|
150
|
-
assert_equal("box4-value5", browser.radio(:name
|
151
|
-
assert_equal("", browser.radio(:name
|
150
|
+
assert_equal("box4-value5", browser.radio(:name => "box4", :value => 5).title )
|
151
|
+
assert_equal("", browser.radio(:name => "box4", :value => 4).title )
|
152
152
|
end
|
153
153
|
|
154
154
|
def test_radio_iterators
|
155
155
|
assert_equal(13, browser.radios.length)
|
156
|
-
assert_equal("box5" , browser.radios[
|
157
|
-
assert_equal(true , browser.radios[
|
158
|
-
assert_equal(false , browser.radios[
|
156
|
+
assert_equal("box5" , browser.radios[1].id )
|
157
|
+
assert_equal(true , browser.radios[2].disabled )
|
158
|
+
assert_equal(false , browser.radios[0].disabled )
|
159
159
|
|
160
|
-
index =
|
160
|
+
index = 0
|
161
161
|
browser.radios.each do |r|
|
162
162
|
assert_equal( browser.radio(:index, index).name , r.name )
|
163
163
|
assert_equal( browser.radio(:index, index).id , r.id )
|
@@ -165,30 +165,11 @@ class TC_Radios < Test::Unit::TestCase
|
|
165
165
|
assert_equal( browser.radio(:index, index).disabled , r.disabled )
|
166
166
|
index+=1
|
167
167
|
end
|
168
|
-
assert_equal(index
|
168
|
+
assert_equal(index, browser.radios.length)
|
169
169
|
end
|
170
170
|
|
171
171
|
# test radio buttons that have a string as a value
|
172
172
|
def test_value_string
|
173
|
-
tea = browser.radio(:name, 'box6', 'Tea')
|
174
|
-
milk = browser.radio(:name, 'box6', 'Milk')
|
175
|
-
|
176
|
-
assert(tea.exists?)
|
177
|
-
assert(milk.exists?)
|
178
|
-
|
179
|
-
milk.set
|
180
|
-
assert(milk.isSet?)
|
181
|
-
assert_false(tea.isSet?)
|
182
|
-
|
183
|
-
tea.set
|
184
|
-
assert_false(milk.isSet?)
|
185
|
-
assert(tea.isSet?)
|
186
|
-
|
187
|
-
tea.clear
|
188
|
-
assert_false(tea.isSet?)
|
189
|
-
end
|
190
|
-
|
191
|
-
def test_value_specified
|
192
173
|
tea = browser.radio(:name => 'box6', :value => 'Tea')
|
193
174
|
milk = browser.radio(:name => 'box6', :value => 'Milk')
|
194
175
|
|
@@ -206,6 +187,6 @@ class TC_Radios < Test::Unit::TestCase
|
|
206
187
|
tea.clear
|
207
188
|
assert_false(tea.isSet?)
|
208
189
|
end
|
209
|
-
|
190
|
+
|
210
191
|
end
|
211
192
|
|