watir 1.9.0.rc5 → 1.9.0.rc6

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