watir 1.9.0.rc5 → 1.9.0.rc6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/VERSION +1 -1
  2. data/lib/watir/element.rb +24 -15
  3. metadata +10 -10
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.9.0.rc5
1
+ 1.9.0.rc6
@@ -310,9 +310,13 @@ module Watir
310
310
  end
311
311
 
312
312
  def dispatch_event(event)
313
- if IE.version_parts.first.to_i >= 8 && @container.page_container.document.respond_to?(:createEvent)
314
- # we're in IE9 document standards mode
315
- ole_object.dispatchEvent(create_event(event))
313
+ if IE.version_parts.first.to_i >= 8
314
+ begin
315
+ # we're in IE9 document standards mode
316
+ ole_object.dispatchEvent(create_event(event))
317
+ rescue WIN32OLERuntimeError
318
+ ole_object.fireEvent(event)
319
+ end
316
320
  else
317
321
  ole_object.fireEvent(event)
318
322
  end
@@ -322,28 +326,33 @@ module Watir
322
326
  event =~ /on(.*)/i
323
327
  event = $1 if $1
324
328
  event.downcase!
325
-
326
329
  # See http://www.howtocreate.co.uk/tutorials/javascript/domevents
327
330
  case event
328
331
  when 'abort', 'blur', 'change', 'error', 'focus', 'load',
329
332
  'reset', 'resize', 'scroll', 'select', 'submit', 'unload'
330
- dom_event_type = 'HTMLEvents'
331
- dom_event_init = "initEvent(\"#{event}\", true, true)"
333
+ event_name = :initEvent
334
+ event_type = 'HTMLEvents'
335
+ event_args = [event, true, true]
332
336
  when 'keydown', 'keypress', 'keyup'
333
- dom_event_type = 'KeyEvents'
334
- # 'type', bubbles, cancelable, windowObject, ctrlKey, altKey, shiftKey, metaKey, keyCode, charCode
335
- dom_event_init = "initKeyEvent(\"#{event}\", true, true, #{@container.page_container.window}, false, false, false, false, 0, 0)"
337
+ event_name = :initKeyEvent
338
+ event_type = 'KeyEvents'
339
+ # 'type', bubbles, cancelable, windowObject, ctrlKey, altKey, shiftKey, metaKey, keyCode, charCode
340
+ event_args = [event, true, true, @container.page_container.document.parentWindow, false, false, false, false, 0, 0]
336
341
  when 'click', 'dblclick', 'mousedown', 'mousemove', 'mouseout', 'mouseover',
337
342
  'mouseup'
338
- dom_event_type = 'MouseEvents'
339
- # 'type', bubbles, cancelable, windowObject, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget
340
- dom_event_init = "initMouseEvent(\"#{event}\", true, true, #{@container.page_container.window}, 1, 0, 0, 0, 0, false, false, false, false, 0, null)"
343
+ event_name = :initMouseEvent
344
+ event_type = 'MouseEvents'
345
+ # 'type', bubbles, cancelable, windowObject, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget
346
+ event_args = [event, true, true, @container.page_container.document.parentWindow, 1, 0, 0, 0, 0, false, false, false, false, 0, nil]
341
347
  else
342
348
  dom_event_type = 'HTMLEvents'
343
349
  dom_event_init = "initEvents(\"#{event}\", true, true)"
344
- end
345
- event = @container.page_container.document.createEvent("HTMLEvents")
346
- event.initEvent("change", true, true)
350
+ event_name = :initEvents
351
+ event_type = 'HTMLEvents'
352
+ event_args = [true, true]
353
+ end
354
+ event = @container.page_container.document.createEvent(event_type)
355
+ event.send event_name, *event_args
347
356
  event
348
357
  end
349
358
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15424175
4
+ hash: 15424169
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 1
8
8
  - 9
9
9
  - 0
10
10
  - rc
11
- - 5
12
- version: 1.9.0.rc5
11
+ - 6
12
+ version: 1.9.0.rc6
13
13
  platform: ruby
14
14
  authors:
15
15
  - Bret Pettichord
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-06-10 00:00:00 Z
20
+ date: 2011-06-13 00:00:00 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: win32-process
@@ -59,14 +59,14 @@ dependencies:
59
59
  requirements:
60
60
  - - "="
61
61
  - !ruby/object:Gem::Version
62
- hash: 15424175
62
+ hash: 15424169
63
63
  segments:
64
64
  - 1
65
65
  - 9
66
66
  - 0
67
67
  - rc
68
- - 5
69
- version: 1.9.0.rc5
68
+ - 6
69
+ version: 1.9.0.rc6
70
70
  type: :runtime
71
71
  version_requirements: *id003
72
72
  - !ruby/object:Gem::Dependency
@@ -77,14 +77,14 @@ dependencies:
77
77
  requirements:
78
78
  - - "="
79
79
  - !ruby/object:Gem::Version
80
- hash: 15424175
80
+ hash: 15424169
81
81
  segments:
82
82
  - 1
83
83
  - 9
84
84
  - 0
85
85
  - rc
86
- - 5
87
- version: 1.9.0.rc5
86
+ - 6
87
+ version: 1.9.0.rc6
88
88
  type: :runtime
89
89
  version_requirements: *id004
90
90
  - !ruby/object:Gem::Dependency