watir 1.7.0.rc1 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,8 +1,8 @@
1
- == Version 1.7.0 - 2010/12/20
1
+ == Version 1.7.0 - 2011/01/06
2
2
 
3
3
  === IE improvements
4
4
 
5
- * Fixed Watir::IE#close_all. Closes http://jira.openqa.org/browse/WTR-463 (Jarmo Pertman)
5
+ * Fixed Watir::IE#close_all to close all IE windows, even the ones with tabs. Closes http://jira.openqa.org/browse/WTR-463 (Jarmo Pertman)
6
6
  * IE#wait waits now again until browser has a state of READYSTATE_COMPLETE due to strange timing issues. Closes http://jira.openqa.org/browse/WTR-466 (Jarmo Pertman)
7
7
  * Added CSS3 selectors with usage like browser.text_field(:css => "input[name='text1']") (Jonas Tingeborn)
8
8
  * Updated bundled version of AutoIt to 3.3.6.1. Closes http://jira.openqa.org/browse/WTR-440 (Jarmo Pertman)
@@ -12,6 +12,12 @@
12
12
  * Fixed Element#exists? for cases where nested elements were used for locating (Alok Menghrajani)
13
13
  * Ignore uppercase tags in XHTML when searching for elements (Alok Menghrajani)
14
14
 
15
+ === General improvements
16
+
17
+ * Return Element#id correctly when using Element#when_present and friends methods. Closes http://jira.openqa.org/browse/WTR-469 (Jarmo Pertman)
18
+
19
+ Whole Changelog is available at http://github.com/bret/watir/compare/v1.6.7...v1.7.0
20
+
15
21
  == Version 1.6.7 - 2010/10/26
16
22
 
17
23
  === General improvements
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.7.0.rc1
1
+ 1.7.0
@@ -233,14 +233,18 @@ module Watir
233
233
  # Yields successively to each IE window on the current desktop. Takes a block.
234
234
  # This method will not work when
235
235
  # Watir/Ruby is run under a service (instead of a user).
236
- # Yields to the window and its hwnd.
236
+ # Yields to the window and its hwnd.
237
237
  def self.each
238
238
  shell = WIN32OLE.new('Shell.Application')
239
+ ie_browsers = []
239
240
  shell.Windows.each do |window|
240
241
  next unless (window.path =~ /Internet Explorer/ rescue false)
241
242
  next unless (hwnd = window.hwnd rescue false)
242
243
  ie = IE.bind(window)
243
244
  ie.hwnd = hwnd
245
+ ie_browsers << ie
246
+ end
247
+ ie_browsers.each do |ie|
244
248
  yield ie
245
249
  end
246
250
  end
@@ -312,7 +316,7 @@ module Watir
312
316
  # Are we attached to an open browser?
313
317
  def exists?
314
318
  begin
315
- @ie.name =~ /Internet Explorer/
319
+ !!(@ie.name =~ /Internet Explorer/)
316
320
  rescue WIN32OLERuntimeError
317
321
  false
318
322
  end
@@ -398,7 +402,13 @@ module Watir
398
402
  wait rescue nil
399
403
  chwnd = @ie.hwnd.to_i
400
404
  @ie.quit
401
- while Win32API.new("user32","IsWindow", 'L', 'L').Call(chwnd) == 1
405
+ t = Time.now
406
+ while exists?
407
+ # just in case to avoid possible endless loop
408
+ if Time.now - t > 10
409
+ puts "Impossible to close all IE windows, continuing."
410
+ break
411
+ end
402
412
  sleep 0.3
403
413
  end
404
414
  end
@@ -0,0 +1,17 @@
1
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..', '..') unless $SETUP_LOADED
2
+ require 'unittests/setup'
3
+
4
+ class TC_CloseAllWindows < Watir::TestCase
5
+
6
+ def setup
7
+ @browsers = []
8
+ 5.times {@browsers << Watir::Browser.new}
9
+ end
10
+
11
+ def test_close_all_windows
12
+ assert @browsers.all? {|browser| browser.exists?}
13
+ Watir::IE.close_all
14
+ assert @browsers.all? {|browser| not browser.exists?}
15
+ end
16
+
17
+ end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir
3
3
  version: !ruby/object:Gem::Version
4
- hash: 977940582
5
- prerelease: true
4
+ hash: 11
5
+ prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 7
9
9
  - 0
10
- - rc1
11
- version: 1.7.0.rc1
10
+ version: 1.7.0
12
11
  platform: ruby
13
12
  authors:
14
13
  - Bret Pettichord
@@ -16,7 +15,7 @@ autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
17
 
19
- date: 2010-12-21 00:00:00 +02:00
18
+ date: 2011-01-06 00:00:00 +02:00
20
19
  default_executable:
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
@@ -59,13 +58,12 @@ dependencies:
59
58
  requirements:
60
59
  - - "="
61
60
  - !ruby/object:Gem::Version
62
- hash: 977940582
61
+ hash: 11
63
62
  segments:
64
63
  - 1
65
64
  - 7
66
65
  - 0
67
- - rc1
68
- version: 1.7.0.rc1
66
+ version: 1.7.0
69
67
  type: :runtime
70
68
  version_requirements: *id003
71
69
  - !ruby/object:Gem::Dependency
@@ -76,13 +74,12 @@ dependencies:
76
74
  requirements:
77
75
  - - "="
78
76
  - !ruby/object:Gem::Version
79
- hash: 977940582
77
+ hash: 11
80
78
  segments:
81
79
  - 1
82
80
  - 7
83
81
  - 0
84
- - rc1
85
- version: 1.7.0.rc1
82
+ version: 1.7.0
86
83
  type: :runtime
87
84
  version_requirements: *id004
88
85
  - !ruby/object:Gem::Dependency
@@ -158,6 +155,7 @@ files:
158
155
  - unittests/checkbox_test.rb
159
156
  - unittests/checkbox_xpath_test.rb
160
157
  - unittests/click_no_wait_test.rb
158
+ - unittests/close_all_test.rb
161
159
  - unittests/core_tests.rb
162
160
  - unittests/css_selector_test.rb
163
161
  - unittests/css_test.rb
@@ -335,14 +333,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
335
333
  required_rubygems_version: !ruby/object:Gem::Requirement
336
334
  none: false
337
335
  requirements:
338
- - - ">"
336
+ - - ">="
339
337
  - !ruby/object:Gem::Version
340
- hash: 25
338
+ hash: 3
341
339
  segments:
342
- - 1
343
- - 3
344
- - 1
345
- version: 1.3.1
340
+ - 0
341
+ version: "0"
346
342
  requirements:
347
343
  - Microsoft Windows running Internet Explorer 5.5 or later.
348
344
  rubyforge_project: Watir