watir 1.6.2 → 1.6.5
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +326 -188
- data/bin/watir-console +7 -8
- data/lib/changes.rb +3 -3
- data/lib/license.rb +38 -38
- data/lib/readme.rb +140 -140
- data/lib/watir/WindowHelper.rb +49 -49
- data/lib/watir/camel_case.rb +66 -45
- data/lib/watir/clickJSDialog.rb +19 -19
- data/lib/watir/close_all.rb +37 -37
- data/lib/watir/collections.rb +344 -312
- data/lib/watir/container.rb +815 -753
- data/lib/watir/contrib/enabled_popup.rb +20 -20
- data/lib/watir/contrib/ie-new-process.rb +27 -27
- data/lib/watir/contrib/page_checker.rb +29 -29
- data/lib/watir/cookiemanager.rb +55 -55
- data/lib/watir/core_ext.rb +18 -0
- data/lib/watir/datahandler.rb +107 -107
- data/lib/watir/dialog.rb +46 -46
- data/lib/watir/element.rb +343 -312
- data/lib/watir/element_collections.rb +97 -81
- data/lib/watir/form.rb +170 -170
- data/lib/watir/frame.rb +59 -59
- data/lib/watir/ie-class.rb +1009 -1003
- data/lib/watir/ie-process.rb +39 -39
- data/lib/watir/ie.rb +133 -132
- data/lib/watir/image.rb +130 -130
- data/lib/watir/input_elements.rb +572 -539
- data/lib/watir/irb-history.rb +30 -30
- data/lib/watir/link.rb +64 -64
- data/lib/watir/locator.rb +176 -161
- data/lib/watir/logger.rb +19 -19
- data/lib/watir/modal_dialog.rb +122 -122
- data/lib/watir/non_control_elements.rb +145 -127
- data/lib/watir/page-container.rb +107 -105
- data/lib/watir/popup.rb +29 -29
- data/lib/watir/process.rb +19 -19
- data/lib/watir/screen_capture.rb +115 -115
- data/lib/watir/setFileDialog.rb +16 -16
- data/lib/watir/table.rb +362 -362
- data/lib/watir/utils.rb +19 -19
- data/lib/watir/version.rb +5 -5
- data/lib/watir/watir_simple.rb +475 -475
- data/lib/watir/win32.rb +35 -28
- data/lib/watir/win32ole.rb +14 -6
- data/lib/watir/winClicker.rb +496 -479
- data/unittests/all_tests.rb +10 -10
- data/unittests/buttons_xpath_test.rb +69 -69
- data/unittests/checkbox_test.rb +179 -176
- data/unittests/checkbox_xpath_test.rb +107 -107
- data/unittests/core_tests.rb +17 -16
- data/unittests/css_test.rb +35 -35
- data/unittests/defer_test.rb +46 -46
- data/unittests/dialog_test.rb +77 -77
- data/unittests/div2_xpath_test.rb +21 -21
- data/unittests/div_test.rb +188 -183
- data/unittests/div_xpath_test.rb +96 -96
- data/unittests/errorchecker_test.rb +22 -22
- data/unittests/filefield_test.rb +39 -40
- data/unittests/filefield_xpath_test.rb +33 -33
- data/unittests/form_test.rb +280 -293
- data/unittests/form_xpath_test.rb +252 -253
- data/unittests/frame_test.rb +155 -157
- data/unittests/google_form_test.rb +15 -15
- data/unittests/html/JavascriptClick.html +39 -39
- data/unittests/html/blankpage.html +11 -11
- data/unittests/html/buttons1.html +40 -40
- data/unittests/html/checkboxes1.html +89 -89
- data/unittests/html/complex_table.html +36 -36
- data/unittests/html/cssTest.html +42 -42
- data/unittests/html/depot_store.html +51 -51
- data/unittests/html/div.html +93 -93
- data/unittests/html/div_xml.html +20 -20
- data/unittests/html/fileupload.html +45 -45
- data/unittests/html/formTest1.html +38 -38
- data/unittests/html/forms2.html +44 -44
- data/unittests/html/forms3.html +131 -131
- data/unittests/html/forms4.html +27 -27
- data/unittests/html/frame_buttons.html +3 -3
- data/unittests/html/frame_links.html +3 -3
- data/unittests/html/frame_multi.html +4 -4
- data/unittests/html/google_india.html +107 -107
- data/unittests/html/iframeTest.html +12 -12
- data/unittests/html/iframeTest1.html +6 -6
- data/unittests/html/iframeTest2.html +5 -5
- data/unittests/html/images1.html +66 -66
- data/unittests/html/javascriptevents.html +35 -35
- data/unittests/html/link_pass.html +10 -10
- data/unittests/html/links1.html +38 -38
- data/unittests/html/links2.html +10 -10
- data/unittests/html/links_multi.html +14 -14
- data/unittests/html/list_matters.html +720 -720
- data/unittests/html/lists.html +17 -17
- data/unittests/html/map_test.html +31 -31
- data/unittests/html/modal_dialog.html +10 -10
- data/unittests/html/modal_dialog_launcher.html +11 -11
- data/unittests/html/nestedFrames.html +6 -6
- data/unittests/html/new_browser.html +16 -16
- data/unittests/html/pass.html +12 -12
- data/unittests/html/popups1.html +59 -59
- data/unittests/html/pre.html +27 -27
- data/unittests/html/radioButtons1.html +71 -71
- data/unittests/html/select_tealeaf.html +54 -54
- data/unittests/html/selectboxes1.html +52 -55
- data/unittests/html/simple_table.html +26 -26
- data/unittests/html/simple_table_buttons.html +104 -104
- data/unittests/html/simple_table_columns.html +76 -76
- data/unittests/html/table1.html +181 -181
- data/unittests/html/tableCell_using_xpath.html +19 -19
- data/unittests/html/textarea.html +30 -30
- data/unittests/html/textfields1.html +88 -88
- data/unittests/html/textsearch.html +44 -44
- data/unittests/html/wallofcheckboxes.html +1003 -1003
- data/unittests/html/xpath_nbsp.html +12 -12
- data/unittests/ie_exists_test.rb +33 -33
- data/unittests/ie_mock.rb +94 -94
- data/unittests/ie_test.rb +51 -50
- data/unittests/images_test.rb +157 -157
- data/unittests/images_xpath_test.rb +91 -91
- data/unittests/links_multi_test.rb +48 -48
- data/unittests/links_test.rb +175 -177
- data/unittests/links_xpath_test.rb +39 -39
- data/unittests/map_test.rb +98 -98
- data/unittests/minmax_test.rb +31 -31
- data/unittests/navigate_test.rb +39 -39
- data/unittests/nbsp_xpath_test.rb +16 -16
- data/unittests/non_core_tests.rb +12 -12
- data/unittests/other/WindowLogonExample.rb +27 -27
- data/unittests/other/WindowLogonExtra.rb +6 -6
- data/unittests/other/all_tests_concurrent.rb +57 -57
- data/unittests/{windows → other}/jscriptExtraAlert.rb +6 -6
- data/unittests/{windows → other}/jscriptExtraConfirmCancel.rb +6 -6
- data/unittests/{windows → other}/jscriptExtraConfirmOk.rb +6 -6
- data/unittests/{windows → other}/jscriptPushButton.rb +6 -6
- data/unittests/{windows → other}/jscript_test.rb +63 -63
- data/unittests/other/navigate_exception_test.rb +24 -24
- data/unittests/other/rexml_unit_test.rb +27 -24
- data/unittests/other/screen_capture_test.rb +54 -54
- data/unittests/other/testcase_method_order_test.rb +35 -35
- data/unittests/other/testcase_verify_test.rb +24 -24
- data/unittests/other/wait_until_test.rb +99 -99
- data/unittests/pagecontainstext_test.rb +69 -69
- data/unittests/parent_child_test.rb +43 -43
- data/unittests/perf_test.rb +20 -20
- data/unittests/popups_test.rb +43 -43
- data/unittests/pre_test.rb +53 -53
- data/unittests/radios_test.rb +212 -212
- data/unittests/radios_xpath_test.rb +101 -101
- data/unittests/security_setting_test.rb +23 -23
- data/unittests/selectbox_test.rb +148 -139
- data/unittests/selectbox_xpath_test.rb +113 -113
- data/unittests/setup.rb +77 -75
- data/unittests/speed_settings_test.rb +67 -65
- data/unittests/table_cell_using_xpath_test.rb +35 -35
- data/unittests/table_test.rb +376 -362
- data/unittests/table_xpath_test.rb +110 -110
- data/unittests/test_tests.rb +9 -9
- data/unittests/textarea_test.rb +92 -92
- data/unittests/textarea_xpath_test.rb +78 -78
- data/unittests/textfield_for_ch_char_test.rb +31 -29
- data/unittests/textfields_test.rb +218 -218
- data/unittests/textfields_xpath_test.rb +111 -111
- data/unittests/window_tests.rb +10 -7
- data/unittests/windows/attach_to_existing_window_test.rb +53 -52
- data/unittests/windows/attach_to_new_window_test.rb +83 -82
- data/unittests/windows/close_window_test.rb +20 -20
- data/unittests/windows/frame_links_test.rb +25 -25
- data/unittests/windows/ie-each_test.rb +47 -47
- data/unittests/windows/iedialog_test.rb +54 -54
- data/unittests/windows/js_events_test.rb +55 -55
- data/unittests/windows/modal_dialog_test.rb +128 -126
- data/unittests/windows/new_test.rb +57 -55
- data/unittests/windows/open_close_test.rb +18 -18
- data/unittests/windows/send_keys_test.rb +33 -32
- data/unittests/xpath_tests.rb +10 -10
- metadata +20 -20
- data/lib/watir/contrib/visible.rb +0 -47
- data/unittests/iostring.rb +0 -30
- data/unittests/iostring_test.rb +0 -48
@@ -1,56 +1,58 @@
|
|
1
|
-
$LOAD_PATH.unshift File.
|
2
|
-
|
3
|
-
require 'unittests/setup'
|
4
|
-
require 'watir/contrib/ie-new-process'
|
5
|
-
require 'watir/process'
|
6
|
-
|
7
|
-
class TC_New < Test::Unit::TestCase
|
8
|
-
|
9
|
-
def setup
|
10
|
-
@background_iexplore_processes = Watir::IE.process_count
|
11
|
-
if @background_iexplore_process == 0
|
12
|
-
@background = Watir::IE.new
|
13
|
-
assert_equal 1, Watir::IE.process_count
|
14
|
-
@background_iexplore_process = 1
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def teardown
|
19
|
-
@background.close if @background
|
20
|
-
@new.close if @new
|
21
|
-
sleep 1.0 # give it time to close
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_new_window_does_not_create_new_process
|
25
|
-
@new = Watir::IE.new_window
|
26
|
-
assert_equal @background_iexplore_processes, Watir::IE.process_count
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_new_does_not_create_new_process
|
30
|
-
@new = Watir::IE.new
|
31
|
-
assert_equal @background_iexplore_processes, Watir::IE.process_count
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_start_window_with_no_args_works_like_new_window
|
35
|
-
@new = Watir::IE.start_window
|
36
|
-
assert_equal @background_iexplore_processes, Watir::IE.process_count
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_start_window_with_url_also_goes_to_that_page
|
40
|
-
@new = Watir::IE.start_window 'http://wtr.rubyforge.org'
|
41
|
-
assert_equal @background_iexplore_processes, Watir::IE.process_count
|
42
|
-
assert_equal 'http://wtr.rubyforge.org/', @new.url
|
43
|
-
end
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
1
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', '..') unless $SETUP_LOADED
|
2
|
+
|
3
|
+
require 'unittests/setup'
|
4
|
+
require 'watir/contrib/ie-new-process'
|
5
|
+
require 'watir/process'
|
6
|
+
|
7
|
+
class TC_New < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@background_iexplore_processes = Watir::IE.process_count
|
11
|
+
if @background_iexplore_process == 0
|
12
|
+
@background = Watir::IE.new
|
13
|
+
assert_equal 1, Watir::IE.process_count
|
14
|
+
@background_iexplore_process = 1
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def teardown
|
19
|
+
@background.close if @background
|
20
|
+
@new.close if @new
|
21
|
+
sleep 1.0 # give it time to close
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_new_window_does_not_create_new_process
|
25
|
+
@new = Watir::IE.new_window
|
26
|
+
assert_equal @background_iexplore_processes, Watir::IE.process_count
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_new_does_not_create_new_process
|
30
|
+
@new = Watir::IE.new
|
31
|
+
assert_equal @background_iexplore_processes, Watir::IE.process_count
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_start_window_with_no_args_works_like_new_window
|
35
|
+
@new = Watir::IE.start_window
|
36
|
+
assert_equal @background_iexplore_processes, Watir::IE.process_count
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_start_window_with_url_also_goes_to_that_page
|
40
|
+
@new = Watir::IE.start_window 'http://wtr.rubyforge.org'
|
41
|
+
assert_equal @background_iexplore_processes, Watir::IE.process_count
|
42
|
+
assert_equal 'http://wtr.rubyforge.org/', @new.url
|
43
|
+
end
|
44
|
+
|
45
|
+
tag_method :test_new_process_creates_a_new_process, :fails_on_ie
|
46
|
+
def test_new_process_creates_a_new_process
|
47
|
+
@new = Watir::IE.new_process
|
48
|
+
assert_equal @background_iexplore_processes + 1, Watir::IE.process_count
|
49
|
+
end
|
50
|
+
|
51
|
+
tag_method :test_start_process_with_arg_creates_a_new_process_and_goes_to_that_page, :fails_on_ie
|
52
|
+
def test_start_process_with_arg_creates_a_new_process_and_goes_to_that_page
|
53
|
+
@new = Watir::IE.start_process 'http://wtr.rubyforge.org'
|
54
|
+
assert_equal @background_iexplore_processes + 1, Watir::IE.process_count
|
55
|
+
assert_equal 'http://wtr.rubyforge.org/', @new.url
|
56
|
+
end
|
57
|
+
end
|
56
58
|
|
@@ -1,19 +1,19 @@
|
|
1
|
-
# rapidly open and close IE windows
|
2
|
-
|
3
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
|
4
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', '..', '..', '
|
5
|
-
require 'test/unit'
|
6
|
-
require 'watir/ie'
|
7
|
-
require 'watir/contrib/ie-new-process'
|
8
|
-
|
9
|
-
class ZZ_OpenClose < Test::Unit::TestCase
|
10
|
-
20.times do | i |
|
11
|
-
define_method "test_#{i}" do
|
12
|
-
sleep 0.05
|
13
|
-
sleep i * 0.01
|
14
|
-
ie = Watir::IE.new_process
|
15
|
-
ie.goto 'http://blogs.dovetailsoftware.com/blogs/gsherman/default.aspx'
|
16
|
-
ie.close
|
17
|
-
end
|
18
|
-
end
|
1
|
+
# rapidly open and close IE windows
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'commonwatir', 'lib')
|
5
|
+
require 'test/unit'
|
6
|
+
require 'watir/ie'
|
7
|
+
require 'watir/contrib/ie-new-process'
|
8
|
+
|
9
|
+
class ZZ_OpenClose < Test::Unit::TestCase
|
10
|
+
20.times do | i |
|
11
|
+
define_method "test_#{i}" do
|
12
|
+
sleep 0.05
|
13
|
+
sleep i * 0.01
|
14
|
+
ie = Watir::IE.new_process
|
15
|
+
ie.goto 'http://blogs.dovetailsoftware.com/blogs/gsherman/default.aspx'
|
16
|
+
ie.close
|
17
|
+
end
|
18
|
+
end
|
19
19
|
end
|
@@ -1,32 +1,33 @@
|
|
1
|
-
# feature tests for IE#send_keys
|
2
|
-
# revision: $Revision
|
3
|
-
|
4
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', '..') unless $SETUP_LOADED
|
5
|
-
require 'unittests/setup'
|
6
|
-
|
7
|
-
class
|
8
|
-
def setup
|
9
|
-
goto_page "textfields1.html"
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_tabbing
|
13
|
-
browser.text_field(:name, 'text1').focus
|
14
|
-
browser.send_keys('{tab}')
|
15
|
-
browser.send_keys('Scooby')
|
16
|
-
assert('Scooby', browser.text_field(:name, 'beforetest').value)
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_enter
|
20
|
-
browser.text_field(:name, 'text1').focus
|
21
|
-
browser.send_keys('{tab}{tab}{tab}{tab}{tab}')
|
22
|
-
browser.send_keys('Dooby{enter}')
|
23
|
-
sleep 0.2
|
24
|
-
assert(browser.text.include?('PASS'))
|
25
|
-
end
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
end
|
1
|
+
# feature tests for IE#send_keys
|
2
|
+
# revision: $Revision$
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', '..') unless $SETUP_LOADED
|
5
|
+
require 'unittests/setup'
|
6
|
+
|
7
|
+
class TC_SendKeys < Test::Unit::TestCase
|
8
|
+
def setup
|
9
|
+
goto_page "textfields1.html"
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_tabbing
|
13
|
+
browser.text_field(:name, 'text1').focus
|
14
|
+
browser.send_keys('{tab}')
|
15
|
+
browser.send_keys('Scooby')
|
16
|
+
assert('Scooby', browser.text_field(:name, 'beforetest').value)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_enter
|
20
|
+
browser.text_field(:name, 'text1').focus
|
21
|
+
browser.send_keys('{tab}{tab}{tab}{tab}{tab}')
|
22
|
+
browser.send_keys('Dooby{enter}')
|
23
|
+
sleep 0.2
|
24
|
+
assert(browser.text.include?('PASS'))
|
25
|
+
end
|
26
|
+
|
27
|
+
tag_method :test_autoregistration, :fails_on_ie
|
28
|
+
def test_autoregistration
|
29
|
+
Watir::_unregister('AutoItX3.dll')
|
30
|
+
assert_raises(WIN32OLERuntimeError) { WIN32OLE.new('AutoItX3.Control') }
|
31
|
+
assert_nothing_raised { browser.send_keys('{tab}') }
|
32
|
+
end
|
33
|
+
end
|
data/unittests/xpath_tests.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
TOPDIR = File.join(File.dirname(__FILE__), '..')
|
2
|
-
$LOAD_PATH.unshift TOPDIR
|
3
|
-
|
4
|
-
require 'unittests/setup.rb'
|
5
|
-
|
6
|
-
Dir.chdir TOPDIR
|
7
|
-
$all_tests.each {|x| require x }
|
8
|
-
|
9
|
-
Watir::UnitTest.filter_out do |t|
|
10
|
-
t.class.to_s !~ /xpath/i
|
1
|
+
TOPDIR = File.join(File.dirname(__FILE__), '..')
|
2
|
+
$LOAD_PATH.unshift TOPDIR
|
3
|
+
|
4
|
+
require 'unittests/setup.rb'
|
5
|
+
|
6
|
+
Dir.chdir TOPDIR
|
7
|
+
$all_tests.each {|x| require x }
|
8
|
+
|
9
|
+
Watir::UnitTest.filter_out do |t|
|
10
|
+
t.class.to_s !~ /xpath/i
|
11
11
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watir
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bret Pettichord
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-11-10 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -33,27 +33,27 @@ dependencies:
|
|
33
33
|
version: 0.6.6
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
36
|
+
name: commonwatir
|
37
37
|
type: :runtime
|
38
38
|
version_requirement:
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
|
-
- - "
|
41
|
+
- - "="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 1.6.5
|
44
44
|
version:
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
|
-
name:
|
46
|
+
name: firewatir
|
47
47
|
type: :runtime
|
48
48
|
version_requirement:
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 1.6.
|
53
|
+
version: 1.6.5
|
54
54
|
version:
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: nokogiri
|
57
57
|
type: :runtime
|
58
58
|
version_requirement:
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -62,7 +62,7 @@ dependencies:
|
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: "0"
|
64
64
|
version:
|
65
|
-
description: WATIR is "Web Application Testing in Ruby". Watir (pronounced water) is a free
|
65
|
+
description: " WATIR is \"Web Application Testing in Ruby\". Watir (pronounced water) is a free,\n open-source functional testing tool for automating browser-based tests of web applications.\n It works with applications written in any language.\n Watir drives the Internet Explorer browser the same way an end user would.\n It clicks links, fills in forms, presses buttons.\n Watir also checks results, such as whether expected text appears on the\n page, or whether a control is enabled.\n Watir can test web applications written in any language.\n Watir is a Ruby library that works with Internet Explorer on Windows.\n"
|
66
66
|
email: watir-general@groups.google.com
|
67
67
|
executables:
|
68
68
|
- watir-console
|
@@ -78,6 +78,7 @@ files:
|
|
78
78
|
- lib/watir/collections.rb
|
79
79
|
- lib/watir/container.rb
|
80
80
|
- lib/watir/cookiemanager.rb
|
81
|
+
- lib/watir/core_ext.rb
|
81
82
|
- lib/watir/datahandler.rb
|
82
83
|
- lib/watir/dialog.rb
|
83
84
|
- lib/watir/element.rb
|
@@ -132,8 +133,6 @@ files:
|
|
132
133
|
- unittests/ie_test.rb
|
133
134
|
- unittests/images_test.rb
|
134
135
|
- unittests/images_xpath_test.rb
|
135
|
-
- unittests/iostring.rb
|
136
|
-
- unittests/iostring_test.rb
|
137
136
|
- unittests/links_multi_test.rb
|
138
137
|
- unittests/links_test.rb
|
139
138
|
- unittests/links_xpath_test.rb
|
@@ -229,6 +228,11 @@ files:
|
|
229
228
|
- unittests/html/images/square.jpg
|
230
229
|
- unittests/html/images/triangle.jpg
|
231
230
|
- unittests/other/all_tests_concurrent.rb
|
231
|
+
- unittests/other/jscriptExtraAlert.rb
|
232
|
+
- unittests/other/jscriptExtraConfirmCancel.rb
|
233
|
+
- unittests/other/jscriptExtraConfirmOk.rb
|
234
|
+
- unittests/other/jscriptPushButton.rb
|
235
|
+
- unittests/other/jscript_test.rb
|
232
236
|
- unittests/other/navigate_exception_test.rb
|
233
237
|
- unittests/other/rexml_unit_test.rb
|
234
238
|
- unittests/other/screen_capture_test.rb
|
@@ -243,11 +247,6 @@ files:
|
|
243
247
|
- unittests/windows/frame_links_test.rb
|
244
248
|
- unittests/windows/ie-each_test.rb
|
245
249
|
- unittests/windows/iedialog_test.rb
|
246
|
-
- unittests/windows/jscriptExtraAlert.rb
|
247
|
-
- unittests/windows/jscriptExtraConfirmCancel.rb
|
248
|
-
- unittests/windows/jscriptExtraConfirmOk.rb
|
249
|
-
- unittests/windows/jscriptPushButton.rb
|
250
|
-
- unittests/windows/jscript_test.rb
|
251
250
|
- unittests/windows/js_events_test.rb
|
252
251
|
- unittests/windows/modal_dialog_test.rb
|
253
252
|
- unittests/windows/new_test.rb
|
@@ -258,12 +257,13 @@ files:
|
|
258
257
|
- lib/watir/contrib/enabled_popup.rb
|
259
258
|
- lib/watir/contrib/ie-new-process.rb
|
260
259
|
- lib/watir/contrib/page_checker.rb
|
261
|
-
- lib/watir/contrib/visible.rb
|
262
260
|
- lib/readme.rb
|
263
261
|
- lib/changes.rb
|
264
262
|
- lib/license.rb
|
265
263
|
has_rdoc: true
|
266
|
-
homepage: http://
|
264
|
+
homepage: http://www.watir.com/
|
265
|
+
licenses: []
|
266
|
+
|
267
267
|
post_install_message:
|
268
268
|
rdoc_options:
|
269
269
|
- --title
|
@@ -291,9 +291,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
291
291
|
requirements:
|
292
292
|
- Microsoft Windows running Internet Explorer 5.5 or later.
|
293
293
|
rubyforge_project: Watir
|
294
|
-
rubygems_version: 1.
|
294
|
+
rubygems_version: 1.3.5
|
295
295
|
signing_key:
|
296
|
-
specification_version:
|
296
|
+
specification_version: 3
|
297
297
|
summary: Automated testing tool for web applications.
|
298
298
|
test_files: []
|
299
299
|
|
@@ -1,47 +0,0 @@
|
|
1
|
-
# visible.rb
|
2
|
-
# Original Author: David Schmidt
|
3
|
-
|
4
|
-
# See http://wiki.openqa.org/pages/viewpage.action?pageId=1119
|
5
|
-
# for description and sample code.
|
6
|
-
|
7
|
-
# Here is an example of adding a new #visible? method to the Watir::Element
|
8
|
-
# class which returns true or false to indicate whether the cell is visible.
|
9
|
-
# The question of visibility isn't as easy as it seems, because there are
|
10
|
-
# multiple styles to indicate visibility ("display: none" or
|
11
|
-
# "visibility: hidden"). In addition, an element is hidden if any PARENT
|
12
|
-
# element is hidden, even if that element would otherwise be visible.
|
13
|
-
|
14
|
-
# This method first checks the current element and then each parent element
|
15
|
-
# for visibility until it reaches the top of the DOM element tree. Note that
|
16
|
-
# this method is quite slow compared to other methods because it must recurse
|
17
|
-
# all the way to the top of the DOM to guarantee that an element is truly
|
18
|
-
# visible.
|
19
|
-
|
20
|
-
class Watir::Element
|
21
|
-
|
22
|
-
# If any parent element isn't visible then we cannot write to the
|
23
|
-
# element. The only realiable way to determine this is to iterate
|
24
|
-
# up the DOM element tree checking every element to make sure it's
|
25
|
-
# visible.
|
26
|
-
def visible?
|
27
|
-
# Now iterate up the DOM element tree and return false if any
|
28
|
-
# parent element isn't visible or is disabled.
|
29
|
-
object = document
|
30
|
-
while object
|
31
|
-
begin
|
32
|
-
if object.currentstyle.invoke('visibility') =~ /^hidden$/i
|
33
|
-
return false
|
34
|
-
end
|
35
|
-
if object.currentstyle.invoke('display') =~ /^none$/i
|
36
|
-
return false
|
37
|
-
end
|
38
|
-
if object.invoke('isDisabled')
|
39
|
-
return false
|
40
|
-
end
|
41
|
-
rescue WIN32OLERuntimeError
|
42
|
-
end
|
43
|
-
object = object.parentElement
|
44
|
-
end
|
45
|
-
true
|
46
|
-
end
|
47
|
-
end
|
data/unittests/iostring.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# class useful for testing output to stdout
|
2
|
-
class IOString < String
|
3
|
-
def write x
|
4
|
-
self.<< x
|
5
|
-
end
|
6
|
-
def readline!
|
7
|
-
line = slice!(/^.*(\n|$)/)
|
8
|
-
if $1 == "\n" then line.chop!
|
9
|
-
elsif line == "" then nil
|
10
|
-
else line
|
11
|
-
end
|
12
|
-
end
|
13
|
-
def puts( x )
|
14
|
-
stdout_orig = $stdout
|
15
|
-
$stdout = self
|
16
|
-
Kernel.puts x
|
17
|
-
$stdout = stdout_orig
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
module MockStdoutTestCase
|
22
|
-
def setup
|
23
|
-
@mockout = IOString.new ""
|
24
|
-
end
|
25
|
-
def teardown
|
26
|
-
$stdout = STDOUT
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
|
data/unittests/iostring_test.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
# unit tests for IOString in iostring.rb
|
2
|
-
|
3
|
-
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED
|
4
|
-
require 'unittests/iostring'
|
5
|
-
require 'test/unit'
|
6
|
-
|
7
|
-
class IOStringTests < Test::Unit::TestCase
|
8
|
-
include MockStdoutTestCase
|
9
|
-
def setup
|
10
|
-
@mockout = IOString.new ""
|
11
|
-
$stdout = @mockout
|
12
|
-
end
|
13
|
-
def test_io_string_write
|
14
|
-
puts "hello"
|
15
|
-
assert_equal "hello\n", @mockout
|
16
|
-
end
|
17
|
-
def test_iostring_readline
|
18
|
-
puts "hello"
|
19
|
-
puts "there"
|
20
|
-
$stdout = STDOUT
|
21
|
-
assert_equal "hello", @mockout.readline!
|
22
|
-
assert_equal "there", @mockout.readline!
|
23
|
-
end
|
24
|
-
def test_iostring_realine_no_final_cr
|
25
|
-
print "hello"
|
26
|
-
$stdout = STDOUT
|
27
|
-
assert_equal "hello", @mockout.readline!
|
28
|
-
end
|
29
|
-
def test_ending_with_cr
|
30
|
-
puts "hello"
|
31
|
-
@mockout.readline!
|
32
|
-
assert_equal nil, @mockout.readline!
|
33
|
-
end
|
34
|
-
def test_ending_without_cr
|
35
|
-
print "hello"
|
36
|
-
@mockout.readline!
|
37
|
-
assert_equal nil, @mockout.readline!
|
38
|
-
end
|
39
|
-
def test_blank_line
|
40
|
-
puts "hello"
|
41
|
-
puts
|
42
|
-
puts "there"
|
43
|
-
@mockout.readline!
|
44
|
-
assert_equal "", @mockout.readline!
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
|