casper 0.0.3 → 0.0.4
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.
- data/lib/casper.rb +18 -15
- data/test/casper_test.rb +1 -2
- data/test/cookbooks/rvm/recipes/default.rb +1 -1
- data/test/test_helper.rb +1 -1
- metadata +4 -4
data/lib/casper.rb
CHANGED
@@ -13,17 +13,17 @@ module Casper
|
|
13
13
|
|
14
14
|
# Press the given mouse button down (default is 1: primary)
|
15
15
|
def down(button=1)
|
16
|
-
Libxdo.xdo_mousedown
|
16
|
+
xdo { |xdo| Libxdo.xdo_mousedown(xdo, Libxdo::CurrentWindow, button) }
|
17
17
|
end
|
18
18
|
|
19
19
|
# Release the given mouse button (default is 1: primary)
|
20
20
|
def up(button=1)
|
21
|
-
Libxdo.xdo_mouseup
|
21
|
+
xdo { |xdo| Libxdo.xdo_mouseup(xdo, Libxdo::CurrentWindow, button) }
|
22
22
|
end
|
23
23
|
|
24
24
|
# Click the given mouse button (default is 1: primary)
|
25
25
|
def click(button=1)
|
26
|
-
Libxdo.xdo_click
|
26
|
+
xdo { |xdo| Libxdo.xdo_click(xdo, Libxdo::CurrentWindow, button) }
|
27
27
|
end
|
28
28
|
|
29
29
|
# Gives the current mouse position
|
@@ -31,7 +31,7 @@ module Casper
|
|
31
31
|
x = FFI::MemoryPointer.new :pointer
|
32
32
|
y = FFI::MemoryPointer.new :pointer
|
33
33
|
s = FFI::MemoryPointer.new :pointer
|
34
|
-
Libxdo.xdo_mouselocation
|
34
|
+
xdo { |xdo| Libxdo.xdo_mouselocation(xdo, x, y, s) }
|
35
35
|
[ x.read_int, y.read_int ]
|
36
36
|
end
|
37
37
|
|
@@ -69,7 +69,7 @@ module Casper
|
|
69
69
|
# drag :distance => [ 20, 0 ] do
|
70
70
|
# drag :distance => [ 0, 30 ]
|
71
71
|
# end
|
72
|
-
def drag(options={}, &block)
|
72
|
+
def drag(options={}, &block)
|
73
73
|
raise ArgumentError.new(":to or :distance is required to provide ending location") unless options.has_key?(:to) || options.has_key?(:distance)
|
74
74
|
raise ArgumentError.new(":increments must be > 0") if options.has_key?(:increments) && options[:increments] <= 0
|
75
75
|
|
@@ -90,25 +90,28 @@ module Casper
|
|
90
90
|
private
|
91
91
|
|
92
92
|
# Returns a new xdo instance
|
93
|
-
def xdo
|
94
|
-
Libxdo.xdo_new(nil)
|
93
|
+
def xdo(&block)
|
94
|
+
xdo = Libxdo.xdo_new(nil)
|
95
|
+
yield(xdo)
|
96
|
+
Libxdo.xdo_free(xdo)
|
95
97
|
end
|
96
98
|
|
97
99
|
# Performs an absolute mouse move
|
98
100
|
def absolute(x, y)
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
101
|
+
xdo do |xdo|
|
102
|
+
Libxdo.xdo_mousemove(xdo, x, y, 0)
|
103
|
+
Libxdo.xdo_mouse_wait_for_move_to(xdo, x, y)
|
104
|
+
end
|
103
105
|
end
|
104
106
|
|
105
107
|
# Performs a relative mouse move
|
106
108
|
def relative(x, y)
|
107
|
-
|
108
|
-
loc = location
|
109
|
+
loc = location
|
109
110
|
|
110
|
-
|
111
|
-
|
111
|
+
xdo do |xdo|
|
112
|
+
Libxdo.xdo_mousemove_relative(xdo, x, y)
|
113
|
+
Libxdo.xdo_mouse_wait_for_move_to(xdo, loc[0] + x, loc[1] + y)
|
114
|
+
end
|
112
115
|
end
|
113
116
|
end
|
114
117
|
end
|
data/test/casper_test.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__) + "/
|
2
|
-
require "casper"
|
1
|
+
require File.dirname(__FILE__) + "/test_helper"
|
3
2
|
|
4
3
|
# Yeah, we use Capybara & Selenium & jQuery & Firefox and X11 and all sorts
|
5
4
|
# of other stuff when we could just as easily mock out the xdo lib and
|
@@ -28,7 +28,7 @@ bash "install ruby 1.9.2" do
|
|
28
28
|
rvm package install readline
|
29
29
|
rvm install ruby-1.9.2 -C --with-readline-dir=$HOME/.rvm/usr
|
30
30
|
BASH
|
31
|
-
not_if { ::FileTest.exists?("/usr/local/rvm/rubies/ruby-1.9.2") }
|
31
|
+
not_if { ::FileTest.exists?("/usr/local/rvm/rubies/ruby-1.9.2") || ::FileTest.exists?("/usr/local/rvm/rubies/ruby-1.9.2-p0") }
|
32
32
|
end
|
33
33
|
|
34
34
|
bash "source rvm in bashrc" do
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: casper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ben Alavi
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-09-
|
19
|
+
date: 2010-09-27 00:00:00 -07:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|