vapir-ie 1.7.1.rc1 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,7 +27,7 @@ module Vapir
27
27
  options=handle_options(options, :handle => :ignore)
28
28
  begin
29
29
  yield
30
- rescue WIN32OLERuntimeError, RuntimeError, Vapir::Exception::ExistenceFailureException
30
+ rescue WIN32OLERuntimeError, RuntimeError, NoMethodError, Vapir::Exception::ExistenceFailureException
31
31
  raise if $!.class==RuntimeError && $!.message !~ /HRESULT/ # sometimes WIN32OLE raises a RuntimeError instead of a WIN32OLERuntimeError. only catch a RuntimeError if it's from WIN32OLE, indicated by HRESULT in the error message.
32
32
  handle_existence_failure($!, options)
33
33
  end
@@ -333,7 +333,7 @@ module Vapir
333
333
  if (scroll_left=el.scrollLeft).is_a?(Numeric) && (scroll_top=el.scrollTop).is_a?(Numeric)
334
334
  xy+=Vector[scroll_left, scroll_top]
335
335
  end
336
- rescue WIN32OLERuntimeError
336
+ rescue WIN32OLERuntimeError, NoMethodError
337
337
  # doesn't respond to those; do nothing.
338
338
  end
339
339
  el=el.parentNode
@@ -349,7 +349,7 @@ module Vapir
349
349
  doc=container.document_object || (return false)
350
350
  win=doc.parentWindow || (return false)
351
351
  document_object=win.document || (return false) # I don't know why container.document_object != container.document_object.parentWindow.document
352
- rescue WIN32OLERuntimeError
352
+ rescue WIN32OLERuntimeError, NoMethodError
353
353
  # if a call to these methods from the above block raised this exception, we don't exist.
354
354
  # if that's not the error, it's unexpected; raise.
355
355
  if $!.message =~ /unknown property or method `(parentWindow|contentWindow|document)'/
@@ -361,7 +361,7 @@ module Vapir
361
361
  begin
362
362
  # we need a javascript function to test equality because comparing two WIN32OLEs always returns false (unless they have the same object_id, which these don't)
363
363
  win.execScript("__watir_javascript_equals__=function(a, b){return a==b;}")
364
- rescue WIN32OLERuntimeError
364
+ rescue WIN32OLERuntimeError, NoMethodError
365
365
  return false
366
366
  end
367
367
 
@@ -373,7 +373,7 @@ module Vapir
373
373
  return true
374
374
  end
375
375
  current_node=current_node.parentNode
376
- rescue WIN32OLERuntimeError
376
+ rescue WIN32OLERuntimeError, NoMethodError
377
377
  # two possibilities for why we're here:
378
378
  # if the method __watir_javascript_equals__ stops existing, then that probably means the window changed, meaning @element object doesn't exist anymore.
379
379
  # if we encounter an error trying to access parentNode before reaching the current document, @element_object doesn't exist.
@@ -272,13 +272,13 @@ module Vapir
272
272
  begin
273
273
  title = window.locationname
274
274
  title = window.document.title
275
- rescue WIN32OLERuntimeError
275
+ rescue WIN32OLERuntimeError, NoMethodError
276
276
  end
277
277
  ieTemp = window if Vapir::fuzzy_match(title, what)
278
278
  when :hwnd
279
279
  begin
280
280
  ieTemp = window if what == window.HWND
281
- rescue WIN32OLERuntimeError
281
+ rescue WIN32OLERuntimeError, NoMethodError
282
282
  end
283
283
  else
284
284
  raise ArgumentError
@@ -344,7 +344,7 @@ module Vapir
344
344
  def exists?
345
345
  !!(@ie && begin
346
346
  @ie.name
347
- rescue WIN32OLERuntimeError
347
+ rescue WIN32OLERuntimeError, NoMethodError
348
348
  raise unless $!.message =~ ExistenceFailureCodesRE
349
349
  false
350
350
  end)
@@ -440,7 +440,7 @@ module Vapir
440
440
  else
441
441
  true
442
442
  end
443
- rescue WIN32OLERuntimeError
443
+ rescue WIN32OLERuntimeError, NoMethodError
444
444
  raise unless $!.message =~ ExistenceFailureCodesRE
445
445
  true
446
446
  end
@@ -69,7 +69,7 @@ module Vapir
69
69
  result=nil
70
70
  begin
71
71
  result=document_object.parentWindow.eval(source)
72
- rescue WIN32OLERuntimeError
72
+ rescue WIN32OLERuntimeError, NoMethodError
73
73
  # don't retry more than once; don't catch anything but the particular thing we're looking for
74
74
  if retried || $!.message !~ /unknown property or method:? `eval'/
75
75
  raise
@@ -114,7 +114,7 @@ module Vapir
114
114
  doc_or_ret = proc do
115
115
  begin
116
116
  document_object
117
- rescue WIN32OLERuntimeError
117
+ rescue WIN32OLERuntimeError, NoMethodError
118
118
  return
119
119
  end
120
120
  end
@@ -171,7 +171,7 @@ module Vapir
171
171
  frame=document.frames[i.to_s]
172
172
  frame_document=begin
173
173
  frame.document
174
- rescue WIN32OLERuntimeError
174
+ rescue WIN32OLERuntimeError, NoMethodError
175
175
  $!
176
176
  end
177
177
  case frame_document
@@ -181,7 +181,7 @@ module Vapir
181
181
  when WIN32OLE
182
182
  # frame has a document - check recursively
183
183
  all_frames_complete?(frame_document, urls)
184
- when WIN32OLERuntimeError
184
+ when WIN32OLERuntimeError, NoMethodError
185
185
  # if we get a WIN32OLERuntimeError with access denied, that is probably a 404 and it's not going
186
186
  # to load, so no reason to keep waiting for it - consider it 'complete' and return true.
187
187
  # there's probably a better method of determining this but I haven't found it yet.
@@ -190,7 +190,7 @@ module Vapir
190
190
  raise RuntimeError, "unknown frame.document: #{frame_document.inspect} (#{frame_document.class})"
191
191
  end
192
192
  end
193
- rescue WIN32OLERuntimeError
193
+ rescue WIN32OLERuntimeError, NoMethodError
194
194
  return $!
195
195
  end
196
196
  end
@@ -1,5 +1,5 @@
1
1
  module Vapir
2
2
  class IE
3
- VERSION = '1.7.1.rc1'
3
+ VERSION = '1.7.1'
4
4
  end
5
5
  end
@@ -37,7 +37,7 @@ class WIN32OLE
37
37
  @respond_to_cache||=Hash.new do |hash, key|
38
38
  hash[key]=begin
39
39
  !!self.ole_method(key)
40
- rescue WIN32OLERuntimeError
40
+ rescue WIN32OLERuntimeError, NoMethodError
41
41
  false
42
42
  end
43
43
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vapir-ie
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: true
4
+ prerelease: false
5
5
  segments:
6
6
  - 1
7
7
  - 7
8
8
  - 1
9
- - rc1
10
- version: 1.7.1.rc1
9
+ version: 1.7.1
11
10
  platform: ruby
12
11
  authors:
13
12
  - Ethan
@@ -15,13 +14,14 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-08-06 00:00:00 -04:00
17
+ date: 2010-08-23 00:00:00 -04:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: win32-process
23
22
  prerelease: false
24
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
@@ -36,6 +36,7 @@ dependencies:
36
36
  name: windows-pr
37
37
  prerelease: false
38
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
39
40
  requirements:
40
41
  - - ">="
41
42
  - !ruby/object:Gem::Version
@@ -50,6 +51,7 @@ dependencies:
50
51
  name: vapir-common
51
52
  prerelease: false
52
53
  requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
53
55
  requirements:
54
56
  - - "="
55
57
  - !ruby/object:Gem::Version
@@ -57,14 +59,14 @@ dependencies:
57
59
  - 1
58
60
  - 7
59
61
  - 1
60
- - rc1
61
- version: 1.7.1.rc1
62
+ version: 1.7.1
62
63
  type: :runtime
63
64
  version_requirements: *id003
64
65
  - !ruby/object:Gem::Dependency
65
66
  name: nokogiri
66
67
  prerelease: false
67
68
  requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
68
70
  requirements:
69
71
  - - ">="
70
72
  - !ruby/object:Gem::Version
@@ -77,6 +79,7 @@ dependencies:
77
79
  name: ffi
78
80
  prerelease: false
79
81
  requirement: &id005 !ruby/object:Gem::Requirement
82
+ none: false
80
83
  requirements:
81
84
  - - ">="
82
85
  - !ruby/object:Gem::Version
@@ -142,6 +145,7 @@ rdoc_options:
142
145
  require_paths:
143
146
  - lib
144
147
  required_ruby_version: !ruby/object:Gem::Requirement
148
+ none: false
145
149
  requirements:
146
150
  - - ">="
147
151
  - !ruby/object:Gem::Version
@@ -149,19 +153,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
149
153
  - 0
150
154
  version: "0"
151
155
  required_rubygems_version: !ruby/object:Gem::Requirement
156
+ none: false
152
157
  requirements:
153
- - - ">"
158
+ - - ">="
154
159
  - !ruby/object:Gem::Version
155
160
  segments:
156
- - 1
157
- - 3
158
- - 1
159
- version: 1.3.1
161
+ - 0
162
+ version: "0"
160
163
  requirements:
161
164
  - Microsoft Windows
162
165
  - Internet Explorer
163
166
  rubyforge_project:
164
- rubygems_version: 1.3.6
167
+ rubygems_version: 1.3.7
165
168
  signing_key:
166
169
  specification_version: 3
167
170
  summary: Library for automating the Internet Explorer browser in Ruby