watir 1.6.6 → 1.6.7.rc1
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.
- data/CHANGES +29 -0
- data/LICENSE +34 -0
- data/VERSION +1 -1
- data/lib/watir/container.rb +2 -1
- data/lib/watir/contrib/enabled_popup.rb +1 -1
- data/lib/watir/core.rb +6 -4
- data/lib/watir/element.rb +6 -1
- data/lib/watir/frame.rb +1 -1
- data/lib/watir/ie-class.rb +3 -2
- data/lib/watir/ie-process.rb +1 -1
- data/lib/watir/ie.rb +1 -39
- data/lib/watir/input_elements.rb +7 -1
- data/lib/watir/locator.rb +10 -3
- data/lib/watir/module.rb +1 -3
- data/lib/watir/winClicker.rb +0 -36
- data/rakefile.rb +0 -30
- data/unittests/buttons_xpath_test.rb +0 -1
- data/unittests/checkbox_test.rb +0 -1
- data/unittests/checkbox_xpath_test.rb +0 -1
- data/unittests/css_test.rb +0 -1
- data/unittests/defer_test.rb +0 -1
- data/unittests/dialog_test.rb +0 -1
- data/unittests/div2_xpath_test.rb +0 -1
- data/unittests/div_test.rb +0 -1
- data/unittests/div_xpath_test.rb +0 -1
- data/unittests/element_test.rb +0 -1
- data/unittests/errorchecker_test.rb +0 -1
- data/unittests/filefield_xpath_test.rb +0 -1
- data/unittests/form_test.rb +0 -1
- data/unittests/form_xpath_test.rb +0 -1
- data/unittests/frame_test.rb +73 -55
- data/unittests/google_form_test.rb +0 -1
- data/unittests/html/blankpage.html +0 -1
- data/unittests/html/buttons1.html +0 -1
- data/unittests/html/checkboxes1.html +0 -1
- data/unittests/html/complex_table.html +0 -1
- data/unittests/html/div.html +0 -1
- data/unittests/html/fileupload.html +0 -1
- data/unittests/html/formTest1.html +0 -1
- data/unittests/html/forms2.html +0 -1
- data/unittests/html/forms3.html +0 -1
- data/unittests/html/forms4.html +0 -1
- data/unittests/html/images1.html +0 -2
- data/unittests/html/links1.html +0 -1
- data/unittests/html/links_multi.html +0 -2
- data/unittests/html/map_test.html +0 -1
- data/unittests/html/popups1.html +0 -1
- data/unittests/html/radioButtons1.html +0 -1
- data/unittests/html/selectboxes1.html +0 -1
- data/unittests/html/simple_table.html +0 -1
- data/unittests/html/simple_table_columns.html +0 -1
- data/unittests/html/table1.html +0 -3
- data/unittests/html/textfields1.html +0 -2
- data/unittests/html/xpath_nbsp.html +0 -1
- data/unittests/ie_exists_test.rb +0 -1
- data/unittests/ie_test.rb +0 -1
- data/unittests/images_test.rb +0 -1
- data/unittests/images_xpath_test.rb +0 -1
- data/unittests/links_multi_test.rb +0 -1
- data/unittests/links_test.rb +0 -1
- data/unittests/links_xpath_test.rb +0 -1
- data/unittests/minmax_test.rb +0 -1
- data/unittests/navigate_test.rb +0 -1
- data/unittests/nbsp_xpath_test.rb +0 -1
- data/unittests/other/jscript_test.rb +0 -1
- data/unittests/other/navigate_exception_test.rb +0 -1
- data/unittests/other/screen_capture_test.rb +0 -1
- data/unittests/other/wait_until_test.rb +3 -0
- data/unittests/pagecontainstext_test.rb +0 -1
- data/unittests/popups_test.rb +0 -2
- data/unittests/pre_test.rb +0 -1
- data/unittests/radios_test.rb +0 -1
- data/unittests/radios_xpath_test.rb +0 -1
- data/unittests/selectbox_test.rb +0 -1
- data/unittests/selectbox_xpath_test.rb +0 -1
- data/unittests/setup.rb +1 -1
- data/unittests/speed_settings_test.rb +0 -1
- data/unittests/table_cell_using_xpath_test.rb +0 -1
- data/unittests/table_test.rb +0 -2
- data/unittests/table_xpath_test.rb +0 -1
- data/unittests/textarea_test.rb +0 -1
- data/unittests/textarea_xpath_test.rb +0 -1
- data/unittests/textfields_test.rb +0 -1
- data/unittests/textfields_xpath_test.rb +0 -1
- data/unittests/windows/attach_to_existing_window_test.rb +0 -1
- data/unittests/windows/attach_to_new_window_test.rb +0 -1
- data/unittests/windows/close_window_test.rb +0 -1
- data/unittests/windows/frame_links_test.rb +1 -3
- data/unittests/windows/ie-each_test.rb +1 -3
- data/unittests/windows/iedialog_test.rb +0 -1
- data/unittests/windows/js_events_test.rb +0 -1
- data/unittests/windows/modal_dialog_test.rb +0 -1
- data/unittests/windows/send_keys_test.rb +0 -1
- data/watir.gemspec +2 -2
- metadata +21 -17
- data/lib/watir/datahandler.rb +0 -107
- data/lib/watir/watir_simple.rb +0 -475
data/CHANGES
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
== Version 1.6.7 - 2010/10/21
|
|
2
|
+
|
|
3
|
+
=== General improvements
|
|
4
|
+
|
|
5
|
+
* added new waiting methods on Watir::Element: #when_present, #wait_until_present and #wait_while_present (Jari Bakken and Jarmo Pertman)
|
|
6
|
+
* added new waiting methods on Watir::IE and Watir::Firefox: #wait_until and #wait_while (Jari Bakken and Jarmo Pertman)
|
|
7
|
+
* added method #present? for Watir::Element (Jari Bakken and Jarmo Pertman)
|
|
8
|
+
* deprecated old waiting methods in Watir::Waiter which will be removed in some future version - use Watir::Wait instead (Jarmo Pertman)
|
|
9
|
+
|
|
10
|
+
=== IE improvements
|
|
11
|
+
|
|
12
|
+
* removed Watir::Simple (Željko Filipin)
|
|
13
|
+
* #click_no_wait was not working with frame elements. Closes http://jira.openqa.org/browse/WTR-459 (Jarmo Pertman)
|
|
14
|
+
|
|
15
|
+
=== Firefox improvements
|
|
16
|
+
|
|
17
|
+
* get_attribute_value now works with attributes named something like "foo-bar" (Alan Shields)
|
|
18
|
+
|
|
19
|
+
=== Cleanup & Maintenance
|
|
20
|
+
|
|
21
|
+
* cleaned up repo at GitHub
|
|
22
|
+
* merge licenses into one (Željko Filipin)
|
|
23
|
+
* Rakefile works now under non-Windows systems too (Alan Shields)
|
|
24
|
+
* Removed datahandler.rb
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Whole Changelog is available at http://github.com/bret/watir/compare/v1.6.6...v1.6.7
|
|
28
|
+
|
|
29
|
+
|
|
1
30
|
== Version 1.6.6 - 2010/10/2
|
|
2
31
|
|
|
3
32
|
=== IE improvements
|
data/LICENSE
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---------------------------------------------------------------------------
|
|
2
|
+
Copyright (c) 2004 - 2006, Paul Rogers
|
|
3
|
+
Copyright (c) 2006 - 2007, Angrez Singh
|
|
4
|
+
Copyright (c) 2004 - 2010, Bret Pettichord
|
|
5
|
+
All rights reserved.
|
|
6
|
+
|
|
7
|
+
Redistribution and use in source and binary forms, with or without
|
|
8
|
+
modification, are permitted provided that the following conditions are met:
|
|
9
|
+
|
|
10
|
+
1. Redistributions of source code must retain the above copyright notice,
|
|
11
|
+
this list of conditions and the following disclaimer.
|
|
12
|
+
|
|
13
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
14
|
+
notice, this list of conditions and the following disclaimer in the
|
|
15
|
+
documentation and/or other materials provided with the distribution.
|
|
16
|
+
|
|
17
|
+
3. Neither the names Paul Rogers, nor Bret Pettichord, nor Angrez Singh nor the names of any
|
|
18
|
+
other contributors to this software may be used to endorse or promote
|
|
19
|
+
products derived from this software without specific prior written
|
|
20
|
+
permission.
|
|
21
|
+
|
|
22
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
|
|
23
|
+
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
24
|
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
25
|
+
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
|
|
26
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
27
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
28
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
29
|
+
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
30
|
+
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
31
|
+
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
32
|
+
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
33
|
+
--------------------------------------------------------------------------
|
|
34
|
+
(based on BSD Open Source License)
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.6.
|
|
1
|
+
1.6.7.rc1
|
data/lib/watir/container.rb
CHANGED
|
@@ -820,7 +820,7 @@ module Watir
|
|
|
820
820
|
# * what - string that we are looking for, ex. the name, or id tag attribute or index of the object we are looking for.
|
|
821
821
|
# * types - what object types we will look at.
|
|
822
822
|
# * value - used for objects that have one name, but many values. ex. radio lists and checkboxes
|
|
823
|
-
def locate_input_element(how, what, types, value=nil)
|
|
823
|
+
def locate_input_element(how, what, types, value=nil, klass=nil)
|
|
824
824
|
case how
|
|
825
825
|
when :xpath
|
|
826
826
|
return element_by_xpath(what)
|
|
@@ -835,6 +835,7 @@ module Watir
|
|
|
835
835
|
return locator.element if locator.fast_locate
|
|
836
836
|
# todo: restrict search to elements.getElementsByTag('INPUT'); faster
|
|
837
837
|
locator.elements = ole_inner_elements if locator.elements.nil?
|
|
838
|
+
locator.klass = klass if klass
|
|
838
839
|
locator.locate
|
|
839
840
|
end
|
|
840
841
|
|
data/lib/watir/core.rb
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
# these require statements are needed for Watir
|
|
2
2
|
# to work with minimum functionality
|
|
3
|
-
#
|
|
4
|
-
# this is needed for #click_no_wait to perform faster
|
|
5
3
|
require 'timeout'
|
|
6
4
|
require 'watir/win32ole'
|
|
7
5
|
|
|
8
|
-
|
|
6
|
+
# these are required already in commonwatir, but not when using click_no_wait!
|
|
9
7
|
require 'watir/exceptions'
|
|
10
8
|
require 'watir/matches'
|
|
9
|
+
require 'watir/wait'
|
|
10
|
+
require 'watir/wait_helper'
|
|
11
|
+
require 'watir/element_extensions'
|
|
11
12
|
|
|
13
|
+
require 'logger'
|
|
12
14
|
require 'watir/core_ext'
|
|
13
15
|
require 'watir/logger'
|
|
14
16
|
require 'watir/container'
|
|
@@ -18,6 +20,7 @@ require 'watir/ie-class'
|
|
|
18
20
|
require 'watir/element'
|
|
19
21
|
require 'watir/element_collections'
|
|
20
22
|
require 'watir/form'
|
|
23
|
+
require 'watir/frame'
|
|
21
24
|
require 'watir/non_control_elements'
|
|
22
25
|
require 'watir/input_elements'
|
|
23
26
|
require 'watir/table'
|
|
@@ -25,5 +28,4 @@ require 'watir/image'
|
|
|
25
28
|
require 'watir/link'
|
|
26
29
|
require 'watir/html_element'
|
|
27
30
|
|
|
28
|
-
require 'watir/waiter'
|
|
29
31
|
require 'watir/module'
|
data/lib/watir/element.rb
CHANGED
|
@@ -2,7 +2,8 @@ module Watir
|
|
|
2
2
|
# Base class for html elements.
|
|
3
3
|
# This is not a class that users would normally access.
|
|
4
4
|
class Element # Wrapper
|
|
5
|
-
include
|
|
5
|
+
include ElementExtensions
|
|
6
|
+
include Exception
|
|
6
7
|
include Container # presumes @container is defined
|
|
7
8
|
attr_accessor :container
|
|
8
9
|
|
|
@@ -231,6 +232,7 @@ module Watir
|
|
|
231
232
|
end
|
|
232
233
|
|
|
233
234
|
def click_no_wait
|
|
235
|
+
assert_exists
|
|
234
236
|
assert_enabled
|
|
235
237
|
highlight(:set)
|
|
236
238
|
element = "#{self.class}.new(#{@page_container.attach_command}, :unique_number, #{self.unique_number})"
|
|
@@ -256,6 +258,7 @@ module Watir
|
|
|
256
258
|
private :spawned_click_no_wait_command
|
|
257
259
|
|
|
258
260
|
def click!
|
|
261
|
+
assert_exists
|
|
259
262
|
assert_enabled
|
|
260
263
|
|
|
261
264
|
highlight(:set)
|
|
@@ -281,6 +284,7 @@ module Watir
|
|
|
281
284
|
# raises: UnknownObjectException if the object is not found
|
|
282
285
|
# ObjectDisabledException if the object is currently disabled
|
|
283
286
|
def fire_event(event)
|
|
287
|
+
assert_exists
|
|
284
288
|
assert_enabled
|
|
285
289
|
|
|
286
290
|
highlight(:set)
|
|
@@ -293,6 +297,7 @@ module Watir
|
|
|
293
297
|
# raises: UnknownObjectException if the object is not found
|
|
294
298
|
# ObjectDisabledException if the object is currently disabled
|
|
295
299
|
def focus
|
|
300
|
+
assert_exists
|
|
296
301
|
assert_enabled
|
|
297
302
|
ole_object.focus
|
|
298
303
|
end
|
data/lib/watir/frame.rb
CHANGED
data/lib/watir/ie-class.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
module Watir
|
|
2
2
|
class IE
|
|
3
|
-
include
|
|
3
|
+
include WaitHelper
|
|
4
|
+
include Exception
|
|
4
5
|
include Container
|
|
5
6
|
include PageContainer
|
|
6
7
|
|
|
@@ -294,7 +295,7 @@ module Watir
|
|
|
294
295
|
Watir::until_with_timeout do
|
|
295
296
|
ieTemp = IE._find how, what
|
|
296
297
|
end
|
|
297
|
-
rescue
|
|
298
|
+
rescue Watir::Wait::TimeoutError
|
|
298
299
|
raise NoMatchingWindowFoundException,
|
|
299
300
|
"Unable to locate a window with #{how} of #{what}"
|
|
300
301
|
end
|
data/lib/watir/ie-process.rb
CHANGED
data/lib/watir/ie.rb
CHANGED
|
@@ -1,40 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
license
|
|
3
|
-
---------------------------------------------------------------------------
|
|
4
|
-
Copyright (c) 2004 - 2005, Paul Rogers and Bret Pettichord
|
|
5
|
-
Copyright (c) 2006 - 2008, Bret Pettichord
|
|
6
|
-
All rights reserved.
|
|
7
|
-
|
|
8
|
-
Redistribution and use in source and binary forms, with or without
|
|
9
|
-
modification, are permitted provided that the following conditions are met:
|
|
10
|
-
|
|
11
|
-
1. Redistributions of source code must retain the above copyright notice,
|
|
12
|
-
this list of conditions and the following disclaimer.
|
|
13
|
-
|
|
14
|
-
2. Redistributions in binary form must reproduce the above copyright
|
|
15
|
-
notice, this list of conditions and the following disclaimer in the
|
|
16
|
-
documentation and/or other materials provided with the distribution.
|
|
17
|
-
|
|
18
|
-
3. Neither the names Paul Rogers, nor Bret Pettichord nor the names of any
|
|
19
|
-
other contributors to this software may be used to endorse or promote
|
|
20
|
-
products derived from this software without specific prior written
|
|
21
|
-
permission.
|
|
22
|
-
|
|
23
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
|
|
24
|
-
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
25
|
-
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
26
|
-
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
|
|
27
|
-
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
28
|
-
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
29
|
-
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
30
|
-
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
31
|
-
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
32
|
-
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
33
|
-
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
34
|
-
--------------------------------------------------------------------------
|
|
35
|
-
(based on BSD Open Source License)
|
|
36
|
-
=end
|
|
37
|
-
|
|
1
|
+
require 'watir'
|
|
38
2
|
require 'watir/core'
|
|
39
3
|
require 'watir/winClicker'
|
|
40
4
|
require 'watir/close_all'
|
|
@@ -62,9 +26,7 @@ ARGV.delete('-s')
|
|
|
62
26
|
|
|
63
27
|
require 'watir/win32'
|
|
64
28
|
require 'watir/popup'
|
|
65
|
-
require 'watir/frame'
|
|
66
29
|
require 'watir/modal_dialog'
|
|
67
30
|
require 'watir/collections'
|
|
68
|
-
require 'watir'
|
|
69
31
|
|
|
70
32
|
require 'watir/camel_case'
|
data/lib/watir/input_elements.rb
CHANGED
|
@@ -325,6 +325,7 @@ module Watir
|
|
|
325
325
|
# Raises ObjectDisabledException if the object is disabled
|
|
326
326
|
# Raises ObjectReadOnlyException if the object is read only
|
|
327
327
|
def clear
|
|
328
|
+
assert_exists
|
|
328
329
|
assert_enabled
|
|
329
330
|
assert_not_readonly
|
|
330
331
|
|
|
@@ -346,6 +347,7 @@ module Watir
|
|
|
346
347
|
# Raises ObjectDisabledException if the object is disabled
|
|
347
348
|
# Raises ObjectReadOnlyException if the object is read only
|
|
348
349
|
def append(value)
|
|
350
|
+
assert_exists
|
|
349
351
|
assert_enabled
|
|
350
352
|
assert_not_readonly
|
|
351
353
|
|
|
@@ -361,6 +363,7 @@ module Watir
|
|
|
361
363
|
# Raises ObjectDisabledException if the object is disabled
|
|
362
364
|
# Raises ObjectReadOnlyException if the object is read only
|
|
363
365
|
def set(value)
|
|
366
|
+
assert_exists
|
|
364
367
|
assert_enabled
|
|
365
368
|
assert_not_readonly
|
|
366
369
|
|
|
@@ -524,7 +527,7 @@ module Watir
|
|
|
524
527
|
# most of the methods available to this element are inherited from the Element class
|
|
525
528
|
class RadioCheckCommon < InputElement
|
|
526
529
|
def locate #:nodoc:
|
|
527
|
-
@o = @container.locate_input_element(@how, @what, self.class::INPUT_TYPES, @value)
|
|
530
|
+
@o = @container.locate_input_element(@how, @what, self.class::INPUT_TYPES, @value, self.class)
|
|
528
531
|
end
|
|
529
532
|
def initialize(container, how, what, value=nil)
|
|
530
533
|
super container, how, what
|
|
@@ -566,6 +569,7 @@ module Watir
|
|
|
566
569
|
# Raises UnknownObjectException if its unable to locate an object
|
|
567
570
|
# ObjectDisabledException IF THE OBJECT IS DISABLED
|
|
568
571
|
def clear
|
|
572
|
+
assert_exists
|
|
569
573
|
assert_enabled
|
|
570
574
|
highlight(:set)
|
|
571
575
|
set_clear_item(false)
|
|
@@ -576,6 +580,7 @@ module Watir
|
|
|
576
580
|
# Raises UnknownObjectException if it's unable to locate an object
|
|
577
581
|
# ObjectDisabledException if the object is disabled
|
|
578
582
|
def set
|
|
583
|
+
assert_exists
|
|
579
584
|
assert_enabled
|
|
580
585
|
highlight(:set)
|
|
581
586
|
@o.scrollIntoView
|
|
@@ -595,6 +600,7 @@ module Watir
|
|
|
595
600
|
# Raises UnknownObjectException if it's unable to locate an object
|
|
596
601
|
# ObjectDisabledException if the object is disabled
|
|
597
602
|
def set(value=true)
|
|
603
|
+
assert_exists
|
|
598
604
|
assert_enabled
|
|
599
605
|
highlight :set
|
|
600
606
|
unless @o.checked == value
|
data/lib/watir/locator.rb
CHANGED
|
@@ -89,14 +89,15 @@ module Watir
|
|
|
89
89
|
end
|
|
90
90
|
class InputElementLocator < Locator
|
|
91
91
|
|
|
92
|
-
attr_accessor :document, :element, :elements
|
|
92
|
+
attr_accessor :document, :element, :elements, :klass
|
|
93
93
|
|
|
94
94
|
def initialize container, types
|
|
95
95
|
@container = container
|
|
96
96
|
@types = types
|
|
97
97
|
@elements = nil
|
|
98
|
+
@klass = Element
|
|
98
99
|
end
|
|
99
|
-
|
|
100
|
+
|
|
100
101
|
def specifier= arg
|
|
101
102
|
how, what, value = arg
|
|
102
103
|
|
|
@@ -117,7 +118,13 @@ module Watir
|
|
|
117
118
|
def locate
|
|
118
119
|
count = 0
|
|
119
120
|
@elements.each do |object|
|
|
120
|
-
|
|
121
|
+
if @klass == Element
|
|
122
|
+
element = Element.new(object)
|
|
123
|
+
else
|
|
124
|
+
element = @klass.new(@container, @specifiers, nil)
|
|
125
|
+
element.ole_object = object
|
|
126
|
+
def element.locate; @o; end
|
|
127
|
+
end
|
|
121
128
|
|
|
122
129
|
catch :next_element do
|
|
123
130
|
throw :next_element unless @types.include?(element.type)
|
data/lib/watir/module.rb
CHANGED
|
@@ -4,12 +4,10 @@ module Watir
|
|
|
4
4
|
# Directory containing the watir.rb file
|
|
5
5
|
@@dir = File.expand_path(File.dirname(__FILE__))
|
|
6
6
|
|
|
7
|
-
ATTACHER = Waiter.new
|
|
8
7
|
# Like regular Ruby "until", except that a TimeOutException is raised
|
|
9
8
|
# if the timeout is exceeded. Timeout is IE.attach_timeout.
|
|
10
9
|
def self.until_with_timeout # block
|
|
11
|
-
|
|
12
|
-
ATTACHER.wait_until { yield }
|
|
10
|
+
Wait.until(IE.attach_timeout) { yield }
|
|
13
11
|
end
|
|
14
12
|
|
|
15
13
|
@@autoit = nil
|
data/lib/watir/winClicker.rb
CHANGED
|
@@ -1,39 +1,3 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
license
|
|
3
|
-
---------------------------------------------------------------------------
|
|
4
|
-
Copyright (c) 2004-2006, Paul Rogers and Bret Pettichord
|
|
5
|
-
All rights reserved.
|
|
6
|
-
|
|
7
|
-
Redistribution and use in source and binary forms, with or without
|
|
8
|
-
modification, are permitted provided that the following conditions are met:
|
|
9
|
-
|
|
10
|
-
1. Redistributions of source code must retain the above copyright notice,
|
|
11
|
-
this list of conditions and the following disclaimer.
|
|
12
|
-
|
|
13
|
-
2. Redistributions in binary form must reproduce the above copyright
|
|
14
|
-
notice, this list of conditions and the following disclaimer in the
|
|
15
|
-
documentation and/or other materials provided with the distribution.
|
|
16
|
-
|
|
17
|
-
3. Neither the names Paul Rogers, nor Bret Pettichord nor the names of any
|
|
18
|
-
other contributors to this software may be used to endorse or promote
|
|
19
|
-
products derived from this software without specific prior written
|
|
20
|
-
permission.
|
|
21
|
-
|
|
22
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
|
|
23
|
-
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
24
|
-
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
25
|
-
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
|
|
26
|
-
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
27
|
-
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
28
|
-
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
29
|
-
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
30
|
-
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
31
|
-
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
32
|
-
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
33
|
-
--------------------------------------------------------------------------
|
|
34
|
-
(based on BSD Open Source License)
|
|
35
|
-
=end
|
|
36
|
-
|
|
37
1
|
=begin rdoc
|
|
38
2
|
This is Watir's window clicker helper class, uses Win32 api
|
|
39
3
|
calls to access buttons and windows.
|
data/rakefile.rb
CHANGED
|
@@ -44,33 +44,3 @@ if defined? Rake::GemPackageTask
|
|
|
44
44
|
else
|
|
45
45
|
puts 'Warning: without Rubygems packaging tasks are not available'
|
|
46
46
|
end
|
|
47
|
-
|
|
48
|
-
desc "Create the bonus files zip"
|
|
49
|
-
task :bonus_zip => [:rdoc] do
|
|
50
|
-
|
|
51
|
-
begin
|
|
52
|
-
gem 'rubyzip'
|
|
53
|
-
require 'zip/zip'
|
|
54
|
-
rescue LoadError
|
|
55
|
-
puts "rubyzip needs to be installed: gem install rubyzip."
|
|
56
|
-
raise
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
version = File.read("VERSION").strip rescue "0.0.0"
|
|
60
|
-
bonus_zip = "pkg/watir-bonus-#{version}.zip"
|
|
61
|
-
|
|
62
|
-
if File.exist?(bonus_zip)
|
|
63
|
-
File.delete(bonus_zip)
|
|
64
|
-
end
|
|
65
|
-
if !File.directory?("pkg")
|
|
66
|
-
Dir.mkdir("pkg")
|
|
67
|
-
end
|
|
68
|
-
Zip::ZipFile::open(bonus_zip, true) do |zf|
|
|
69
|
-
Dir['{doc,rdoc,examples,unittests}/**/*'].each { |f| zf.add(f, f) }
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
puts " Successfully built BonusZip"
|
|
73
|
-
puts " File: #{bonus_zip}"
|
|
74
|
-
|
|
75
|
-
end
|
|
76
|
-
|