sikuli 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -6,7 +6,7 @@ Sikuli Ruby
6
6
  Requirements
7
7
  ------------
8
8
 
9
- * JRuby (rvm install jruby)
9
+ * JRuby `rvm install jruby`
10
10
  * [Sikuli X 1.0rc2](http://sikuli.org/)
11
11
  * OSX
12
12
 
@@ -21,7 +21,10 @@ Usage
21
21
  require 'java'
22
22
  require 'sikuli'
23
23
 
24
- Sikuli.addImagePath("#{Dir.pwd}/images/")
24
+ Sikuli::Config.run do |config|
25
+ config.image_path = "#{Dir.pwd}/images/"
26
+ config.logging = false
27
+ end
25
28
 
26
29
  screen = Sikuli::Screen.new
27
30
  screen.click(10, 10) # should open your apple menu
data/lib/sikuli.rb CHANGED
@@ -5,26 +5,4 @@ require "sikuli/app"
5
5
  require "sikuli/region"
6
6
  require "sikuli/screen"
7
7
  require "sikuli/key_code"
8
-
9
- module Sikuli
10
- include KeyCode
11
-
12
- def self.getImagePath
13
- paths = java.lang.System.getProperty("SIKULI_IMAGE_PATH") || ""
14
- paths.split(":")
15
- end
16
-
17
- def self.addImagePath(path)
18
- paths = self.getImagePath
19
- paths << path
20
-
21
- java.lang.System.setProperty("SIKULI_IMAGE_PATH", paths.join(':'))
22
- end
23
-
24
- def self.logging=(boolean)
25
- return unless [TrueClass, FalseClass].include? boolean.class
26
- org.sikuli.script::Settings.InfoLogs = boolean
27
- org.sikuli.script::Settings.ActionLogs = boolean
28
- org.sikuli.script::Settings.DebugLogs = boolean
29
- end
30
- end
8
+ require "sikuli/config"
@@ -0,0 +1,24 @@
1
+ module Sikuli
2
+ class Config
3
+ def self.image_path
4
+ java.lang.System.getProperty("SIKULI_IMAGE_PATH")
5
+ end
6
+
7
+ def self.image_path=(path)
8
+ java.lang.System.setProperty("SIKULI_IMAGE_PATH", path)
9
+ end
10
+
11
+ def self.logging=(boolean)
12
+ return unless [TrueClass, FalseClass].include? boolean.class
13
+ org.sikuli.script::Settings.InfoLogs = boolean
14
+ org.sikuli.script::Settings.ActionLogs = boolean
15
+ org.sikuli.script::Settings.DebugLogs = boolean
16
+ end
17
+
18
+ def self.run(*args)
19
+ if block_given?
20
+ yield self
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,16 +1,14 @@
1
1
  module Sikuli
2
- module KeyCode
3
- KEY_CMD = java.awt.event.InputEvent::META_MASK
4
- KEY_SHIFT = java.awt.event.InputEvent::SHIFT_MASK
5
- KEY_CTRL = java.awt.event.InputEvent::CTRL_MASK
6
- KEY_ALT = java.awt.event.InputEvent::ALT_MASK
7
-
8
- KEY_BACKSPACE = "\u0008"
9
- KEY_RETURN = "\n"
10
-
11
- UP_ARROW = nil
12
- LEFT_ARROW = "\ue003"
13
- DOWN_ARROW = nil
14
- RIGHT_ARROW = nil
15
- end
2
+ KEY_CMD = java.awt.event.InputEvent::META_MASK
3
+ KEY_SHIFT = java.awt.event.InputEvent::SHIFT_MASK
4
+ KEY_CTRL = java.awt.event.InputEvent::CTRL_MASK
5
+ KEY_ALT = java.awt.event.InputEvent::ALT_MASK
6
+
7
+ KEY_BACKSPACE = "\u0008"
8
+ KEY_RETURN = "\n"
9
+
10
+ UP_ARROW = nil
11
+ LEFT_ARROW = "\ue003"
12
+ DOWN_ARROW = nil
13
+ RIGHT_ARROW = nil
16
14
  end
@@ -13,5 +13,6 @@ module Sikuli
13
13
  pattern = org.sikuli.script::Pattern.new(filename).similar(similarity)
14
14
  @java_obj.exists(pattern, time)
15
15
  end
16
+ alias_method :contains?, :exists?
16
17
  end
17
18
  end
@@ -1,3 +1,3 @@
1
1
  module Sikuli
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -1,17 +1,24 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Sikuli, "image path" do
3
+ describe Sikuli::Config do
4
4
  it "should retain a list of directories to search in for images" do
5
- Sikuli.getImagePath().should == []
5
+ Sikuli::Config.image_path = ""
6
+ java.lang.System.getProperty("SIKULI_IMAGE_PATH").should == ""
6
7
  end
7
8
 
8
9
  it "should allow a path to be added" do
9
- Sikuli.addImagePath('/Users/images/')
10
- Sikuli.getImagePath().should == ['/Users/images/']
10
+ Sikuli::Config.run do |config|
11
+ config.image_path = '/Users/images/'
12
+ end
13
+
14
+ java.lang.System.getProperty("SIKULI_IMAGE_PATH").should == '/Users/images/'
15
+ Sikuli::Config.image_path.should == '/Users/images/'
11
16
  end
12
17
 
13
18
  it "should allow logging to be turned on" do
14
- Sikuli.logging = true
19
+ Sikuli::Config.run do |config|
20
+ config.logging = true
21
+ end
15
22
 
16
23
  org.sikuli.script::Settings.InfoLogs.should be_true
17
24
  org.sikuli.script::Settings.ActionLogs.should be_true
@@ -19,7 +26,9 @@ describe Sikuli, "image path" do
19
26
  end
20
27
 
21
28
  it "should allow logging to be turned off" do
22
- Sikuli.logging = false
29
+ Sikuli::Config.run do |config|
30
+ config.logging = false
31
+ end
23
32
 
24
33
  org.sikuli.script::Settings.InfoLogs.should be_false
25
34
  org.sikuli.script::Settings.ActionLogs.should be_false
@@ -22,6 +22,10 @@ describe Sikuli::Region, "#Searchable" do
22
22
  @region.exists?("smiley_face.png").should be_true
23
23
  end
24
24
 
25
+ it "should allow you to call contains?" do
26
+ @region.contains?("smiley_face.png").should be_true
27
+ end
28
+
25
29
  it "should return false if the image is not found" do
26
30
  @region.exists?("apple.png").should be_false
27
31
  end
data/spec/spec_helper.rb CHANGED
@@ -3,10 +3,10 @@ require 'java'
3
3
  require 'rspec'
4
4
  require 'sikuli'
5
5
 
6
- Sikuli.logging = false
6
+ Sikuli::Config.logging = false
7
7
 
8
8
  def setup_test_area
9
- Sikuli.addImagePath("#{Dir.pwd}/spec/support/images/")
9
+ Sikuli::Config.image_path = "#{Dir.pwd}/spec/support/images/"
10
10
  screen = Sikuli::Screen.new
11
11
  app = Sikuli::App.new('Preview')
12
12
  app.focus()
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: sikuli
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.2
5
+ version: 0.1.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Chas Lemley
@@ -41,6 +41,7 @@ files:
41
41
  - lib/sikuli.rb
42
42
  - lib/sikuli/app.rb
43
43
  - lib/sikuli/clickable.rb
44
+ - lib/sikuli/config.rb
44
45
  - lib/sikuli/key_code.rb
45
46
  - lib/sikuli/region.rb
46
47
  - lib/sikuli/screen.rb
@@ -51,11 +52,11 @@ files:
51
52
  - sikuli.gemspec
52
53
  - spec/sikuli/app_spec.rb
53
54
  - spec/sikuli/clickable_spec.rb
55
+ - spec/sikuli/config_spec.rb
54
56
  - spec/sikuli/region_spec.rb
55
57
  - spec/sikuli/screen_spec.rb
56
58
  - spec/sikuli/searchable_spec.rb
57
59
  - spec/sikuli/typeable_spec.rb
58
- - spec/sikuli_spec.rb
59
60
  - spec/spec_helper.rb
60
61
  - spec/support/images/.DS_Store
61
62
  - spec/support/images/apple.png
@@ -92,11 +93,11 @@ summary: Ruby wrapper for Sikuli GUI automation library
92
93
  test_files:
93
94
  - spec/sikuli/app_spec.rb
94
95
  - spec/sikuli/clickable_spec.rb
96
+ - spec/sikuli/config_spec.rb
95
97
  - spec/sikuli/region_spec.rb
96
98
  - spec/sikuli/screen_spec.rb
97
99
  - spec/sikuli/searchable_spec.rb
98
100
  - spec/sikuli/typeable_spec.rb
99
- - spec/sikuli_spec.rb
100
101
  - spec/spec_helper.rb
101
102
  - spec/support/images/.DS_Store
102
103
  - spec/support/images/apple.png