lebowski 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.md CHANGED
@@ -1,10 +1,19 @@
1
+ # lebowski 0.3.1 January 23, 2011
2
+
3
+ * Fixed mouse down and right mouse down user actions
4
+ * Fixed double click user action
5
+ * Fixed mouse event simulation bug. Event's which property now assigned the correct value
6
+
1
7
  # lebowski 0.3.0 December 6, 2010
2
8
 
3
9
  * Updated to now work with Ruby 1.9.2 and RSpec v2
4
10
  * Fixes drag and drop user actions
5
11
  * Fixes clicking on segmented view's buttons
6
12
  * Fixes mouse user actions so that, by default, DOM elements are clicked in the center instead of relative (0, 0)
7
- * Fixes RSpec extension That operator's contains? method
13
+ * Fixes RSpec extension That operator's contains? method
14
+ * Added user actions mouse_wheel_delta_x and mouse_wheel_delta_y
15
+ * View proxy now includes scrollable_parent_view method
16
+ * Updated framework to build gem with Jeweler. Rubyforge and Hoe are no longer used
8
17
  * Note: If creating an instance of the Selenium client driver that you want to pass to Lebowski's
9
18
  MainApplication, you must now supply the client with a timeout value or else you will immediately get a
10
19
  timeout error (e.g. set :timeout_in_seconds => 60)
data/License.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010 Michael Cohen <http://frozencanuck.wordpress.com>
1
+ Copyright (c) 2010, 2011 Michael Cohen <http://frozencanuck.wordpress.com>
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -33,7 +33,7 @@ module Lebowski
33
33
  end
34
34
 
35
35
  def scroll_to_visible()
36
-
36
+ # no-op
37
37
  end
38
38
 
39
39
  end
@@ -27,11 +27,13 @@ module Lebowski
27
27
  end
28
28
 
29
29
  def mouse_down_at(x, y)
30
+ scroll_to_visible
30
31
  @driver.sc_mouse_down_at action_target, x, y, *action_locator_args
31
32
  stall :mouse_down
32
33
  end
33
34
 
34
35
  def right_mouse_down_at(x, y)
36
+ scroll_to_visible
35
37
  @driver.sc_right_mouse_down_at action_target, x, y, *action_locator_args
36
38
  stall :right_mouse_down
37
39
  end
@@ -47,6 +49,12 @@ module Lebowski
47
49
  stall :click
48
50
  end
49
51
 
52
+ def double_click_at(x, y)
53
+ scroll_to_visible
54
+ @driver.sc_double_click_at action_target, x, y, *action_locator_args
55
+ stall :double_click
56
+ end
57
+
50
58
  def right_click_at(x, y)
51
59
  right_mouse_down_at x, y
52
60
  right_mouse_up_at x, y
@@ -86,6 +94,13 @@ module Lebowski
86
94
  right_mouse_up_at :center, :center
87
95
  end
88
96
 
97
+ #
98
+ # Used to perform a double click on this view in the remote application
99
+ #
100
+ def double_click()
101
+ double_click_at :center, :center
102
+ end
103
+
89
104
  #
90
105
  # Used to perform a single click on this view in the remote application
91
106
  #
@@ -108,18 +123,11 @@ module Lebowski
108
123
  # Used to perform a single basic click on this view in the remote application
109
124
  #
110
125
  def basic_click()
126
+ scroll_to_visible
111
127
  @driver.sc_basic_click action_target, *action_locator_args
112
128
  stall :click
113
129
  end
114
130
 
115
- #
116
- # Used to perform a double click on this view in the remote application
117
- #
118
- def double_click()
119
- @driver.sc_double_click action_target, *action_locator_args
120
- stall :double_click
121
- end
122
-
123
131
  #
124
132
  # Used to perform a mouse wheel action on the x-axis
125
133
  #
@@ -223,8 +231,6 @@ module Lebowski
223
231
  # and drop user action
224
232
  @driver.sc_disable_all_autoscrolling
225
233
 
226
- self.scroll_to_visible
227
-
228
234
  mouse_down_at mouse_offset_x, mouse_offset_y
229
235
  mouse_move_at mouse_offset_x, mouse_offset_y
230
236
 
@@ -212,6 +212,11 @@ module Lebowski
212
212
  __remote_control_command("scMouseUpRightAt", [__locator(type, *params), encoded_params])
213
213
  end
214
214
 
215
+ def sc_double_click_at(type, x, y, *params)
216
+ encoded_params = ObjectEncoder.encode_hash({ :x => x, :y => y })
217
+ __remote_control_command("scDoubleClickAt", [__locator(type, *params), encoded_params])
218
+ end
219
+
215
220
  def sc_basic_click(type, *params)
216
221
  __remote_control_command("click", [__locator(type, *params), ])
217
222
  end
@@ -224,10 +229,6 @@ module Lebowski
224
229
  __remote_control_command("scRightClick", [__locator(type, *params), ])
225
230
  end
226
231
 
227
- def sc_double_click(type, *params)
228
- __remote_control_command("scDoubleClick", [__locator(type, *params), ])
229
- end
230
-
231
232
  def sc_mouse_wheel_delta_x(type, delta, *params)
232
233
  __remote_control_command("scMouseWheelDeltaX", [__locator(type, *params), delta])
233
234
  end
@@ -7,7 +7,7 @@ module Lebowski
7
7
  module Version
8
8
  MAJOR = 0
9
9
  MINOR = 3
10
- PATCH = 0
10
+ PATCH = 1
11
11
  BUILD = nil
12
12
 
13
13
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
@@ -351,11 +351,28 @@ ScExt.MouseEventSimulation = {
351
351
  var element = selenium.browserbot.findElement(locator),
352
352
  coord = element ? $SC.viewportOffset(element) : { x: 0, y: 0 },
353
353
  width = element ? element.clientWidth : 0,
354
- height = element ? element.clientHeight : 0;
354
+ height = element ? element.clientHeight : 0,
355
+ which = 1;
355
356
 
356
357
  x = x ? (x === 'center' ? width / 2 : x) : 0;
357
358
  y = y ? (y === 'center' ? height / 2 : y) : 0;
358
359
 
360
+ if ($SC.browser.msie) {
361
+ button = button ? button : 1;
362
+ switch (button) {
363
+ case 1: which = 1; break;
364
+ case 4: which = 2; break;
365
+ case 2: which = 3; break;
366
+ }
367
+ } else {
368
+ button = button ? button : 0;
369
+ switch (button) {
370
+ case 0: which = 1; break;
371
+ case 1: which = 2; break;
372
+ case 2: which = 3; break;
373
+ }
374
+ }
375
+
359
376
  var coords = element ? $SC.viewportOffset(element) : { x: 0, y: 0 },
360
377
  clientX = coords.x + x,
361
378
  clientY = coords.y + y;
@@ -368,7 +385,8 @@ ScExt.MouseEventSimulation = {
368
385
  pageX: clientX,
369
386
  pageY: clientY,
370
387
  bubbles: true,
371
- button: button ? button : 0,
388
+ button: button,
389
+ which: which,
372
390
  altKey: selenium.browserbot.altKeyDown,
373
391
  metaKey: selenium.browserbot.metaKeyDown,
374
392
  ctrlKey: selenium.browserbot.controlKeyDown,
@@ -1319,6 +1337,22 @@ Selenium.prototype.doScMouseDownRightAt = function(locator, params) {
1319
1337
  } catch (e) {}
1320
1338
  };
1321
1339
 
1340
+ /**
1341
+ Action performs a click at event
1342
+ */
1343
+ Selenium.prototype.doScClickAt = function(locator, params) {
1344
+ this.doScMouseDownAt(locator, params);
1345
+ this.doScMouseUpAt(locator, params);
1346
+ };
1347
+
1348
+ /**
1349
+ Action performs a double click at event
1350
+ */
1351
+ Selenium.prototype.doScDoubleClickAt = function(locator, params) {
1352
+ this.doScClickAt(locator, params);
1353
+ this.doScClickAt(locator, params);
1354
+ };
1355
+
1322
1356
  /**
1323
1357
  Action performs a single click that is recognized by the SproutCore framework.
1324
1358
  */
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 3
8
- - 0
9
- version: 0.3.0
8
+ - 1
9
+ version: 0.3.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Michael Cohen
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-06 00:00:00 -05:00
17
+ date: 2011-01-23 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -291,7 +291,7 @@ licenses:
291
291
  post_install_message: |
292
292
  **************************************************
293
293
 
294
- Thank you for installing lebowski-0.3.0
294
+ Thank you for installing lebowski-0.3.1
295
295
 
296
296
  Please be sure to read the README.md and History.md
297
297
  for useful information on how to use this framework
@@ -314,7 +314,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
314
314
  requirements:
315
315
  - - ">="
316
316
  - !ruby/object:Gem::Version
317
- hash: 1711173086384596866
317
+ hash: 456298455366827608
318
318
  segments:
319
319
  - 0
320
320
  version: "0"