vapir-ie 1.7.1.rc1 → 1.7.1

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.
@@ -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