au3 0.0.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,19 @@
1
+ #Encoding: Windows-1252
2
+ #This file is part of au3.
3
+ #Copyright (c) 2009 Marvin G�lker
4
+ begin
5
+ require "../ext/au3"
6
+ rescue LoadError
7
+ #Aha, this is the gem, not the build environment
8
+ require "au3"
9
+ end
10
+ require "test/unit"
11
+
12
+ class ClipboardTest < Test::Unit::TestCase
13
+
14
+ def test_clipboard
15
+ AutoItX3.cliptext = "HDGDL"
16
+ assert_equal("HDGDL", AutoItX3.cliptext)
17
+ end
18
+
19
+ end
@@ -0,0 +1,48 @@
1
+ #Encoding: Windows-1252
2
+ #This file is part of au3.
3
+ #Copyright (c) 2009 Marvin G�lker
4
+ begin
5
+ require "../ext/au3"
6
+ rescue LoadError
7
+ #Aha, this is the gem, not the build environment
8
+ require "au3"
9
+ end
10
+ require "test/unit"
11
+
12
+ class IniTest < Test::Unit::TestCase
13
+
14
+ TEST_INI =<<EOF
15
+ [Section1]
16
+ key1=val1
17
+ [Section2]
18
+ key1=val2
19
+ EOF
20
+
21
+ INI_NAME = "test.ini"
22
+
23
+ def self.startup
24
+ File.open(INI_NAME, "w"){|f| f.write(TEST_INI)}
25
+ end
26
+
27
+ def test_read
28
+ assert_equal("val1", AutoItX3.read_ini_entry(INI_NAME, "Section1", "key1", ""))
29
+ assert_equal("val2", AutoItX3.read_ini_entry(INI_NAME, "Section2", "key1", ""))
30
+ assert_equal("XXX", AutoItX3.read_ini_entry(INI_NAME, "Section3", "key1", "XXX"))
31
+ end
32
+
33
+ def test_write
34
+ AutoItX3.write_ini_entry(INI_NAME, "NewSection", "key", "aValue")
35
+ assert_equal("aValue", AutoItX3.read_ini_entry(INI_NAME, "NewSection", "key", ""))
36
+ end
37
+
38
+ def test_delete
39
+ AutoItX3.write_ini_entry(INI_NAME, "ASection", "key", "aValue")
40
+ AutoItX3.delete_ini_entry(INI_NAME, "ASection", "key")
41
+ assert_equal("XXX", AutoItX3.read_ini_entry(INI_NAME, "ASection", "key", "XXX"))
42
+ end
43
+
44
+ def self.shutdown
45
+ File.delete(INI_NAME)
46
+ end
47
+
48
+ end
@@ -0,0 +1,61 @@
1
+ #Encoding: Windows-1252
2
+ #This file is part of au3.
3
+ #Copyright (c) 2009 Marvin G�lker
4
+ begin
5
+ require "../ext/au3"
6
+ rescue LoadError
7
+ #Aha, this is the gem, not the build environment
8
+ require "au3"
9
+ end
10
+ require "test/unit"
11
+
12
+ class KeyboardTest < Test::Unit::TestCase
13
+
14
+ TEXT1 = "abc"
15
+ TEXT2 = "One with\nNewline"
16
+ TEXT3 = "With{TAB}tab"
17
+
18
+ def setup
19
+ @pid = AutoItX3.run("notepad", "", AutoItX3::Window::SW_MAXIMIZE)
20
+ sleep 2
21
+ AutoItX3.mouse_click(150, 150)
22
+ end
23
+
24
+ def teardown
25
+ AutoItX3.kill_process(@pid)
26
+ sleep 1
27
+ end
28
+
29
+ def copy_all
30
+ AutoItX3.send_keys("^a")
31
+ AutoItX3.msleep(200)
32
+ AutoItX3.send_keys("^c")
33
+ AutoItX3.msleep(200)
34
+ end
35
+
36
+ def delete_all
37
+ AutoItX3.send_keys("^a")
38
+ AutoItX3.msleep(200)
39
+ AutoItX3.send_keys("{BS}")
40
+ AutoItX3.msleep(200)
41
+ end
42
+
43
+ def test_send
44
+ AutoItX3.send_keys(TEXT1)
45
+ copy_all
46
+ assert_equal(TEXT1, AutoItX3.cliptext)
47
+ delete_all
48
+ AutoItX3.send_keys(TEXT2)
49
+ copy_all
50
+ assert_equal(TEXT2.sub("\n", "\r\n"), AutoItX3.cliptext)
51
+ delete_all
52
+ AutoItX3.send_keys(TEXT3)
53
+ copy_all
54
+ assert_equal(TEXT3.sub("{TAB}", "\t"), AutoItX3.cliptext)
55
+ delete_all
56
+ AutoItX3.send_keys(TEXT3, true)
57
+ copy_all
58
+ assert_equal(TEXT3, AutoItX3.cliptext)
59
+ end
60
+
61
+ end
@@ -0,0 +1,43 @@
1
+ #Encoding: Windows-1252
2
+ #This file is part of au3.
3
+ #Copyright (c) 2009 Marvin G�lker
4
+ begin
5
+ require "../ext/au3"
6
+ rescue LoadError
7
+ #Aha, this is the gem, not the build environment
8
+ require "au3"
9
+ end
10
+ require "test/unit"
11
+
12
+ class MouseTest < Test::Unit::TestCase
13
+
14
+ THREADS = []
15
+
16
+ def self.shutdown
17
+ THREADS.each{|t| t.join}
18
+ end
19
+
20
+ def test_cursor_id
21
+ pid = AutoItX3.run("notepad", "", AutoItX3::Window::SW_MAXIMIZE)
22
+ AutoItX3.move_mouse(150, 150)
23
+ THREADS << Thread.new{sleep 1;AutoItX3.kill_process(pid)}
24
+ assert_equal(AutoItX3::IBEAM_CURSOR, AutoItX3.cursor_id)
25
+ end
26
+
27
+ def test_move_curpos
28
+ AutoItX3.move_mouse(23, 74)
29
+ assert_equal([23, 74], AutoItX3.cursor_pos)
30
+ end
31
+
32
+ def test_click
33
+ pid = AutoItX3.run("notepad", "", AutoItX3::Window::SW_MAXIMIZE)
34
+ AutoItX3.mouse_click(1000000, 5) #End of screen
35
+ THREADS << Thread.new{sleep 1;AutoItX3.kill_process(pid)}
36
+ end
37
+
38
+ def test_tooltip
39
+ assert_nil(AutoItX3.tooltip("Google is watching you!"))
40
+ sleep 1
41
+ end
42
+
43
+ end
@@ -0,0 +1,50 @@
1
+ #Encoding: Windows-1252
2
+ #This file is part of au3.
3
+ #Copyright (c) 2009 Marvin G�lker
4
+ begin
5
+ require "../ext/au3"
6
+ rescue LoadError
7
+ #Aha, this is the gem, not the build environment
8
+ require "au3"
9
+ end
10
+ require "test/unit"
11
+
12
+ class ProcessTest < Test::Unit::TestCase
13
+
14
+ DUMMY_PROG =<<EOF
15
+ #Encoding: Windows-1252
16
+ loop{sleep 1}
17
+ EOF
18
+
19
+ def self.startup
20
+ AutoItX3.opt("WinTitleMatchMode", 2)
21
+ end
22
+
23
+ def test_exists
24
+ assert_equal($$, AutoItX3.process_exists?($$))
25
+ end
26
+
27
+ def test_kill
28
+ File.open("dummy.rb", "w"){|f| f.write(DUMMY_PROG)}
29
+ pid = AutoItX3.run("ruby dummy.rb")
30
+ sleep 1
31
+ assert_equal(pid, AutoItX3.process_exists?(pid))
32
+ AutoItX3.kill_process(pid)
33
+ sleep 1
34
+ assert_equal(false, AutoItX3.process_exists?(pid))
35
+ File.delete("dummy.rb")
36
+ end
37
+
38
+ def test_wait
39
+ pid = AutoItX3.run("mspaint")
40
+ assert(AutoItX3.wait_for_process("mspaint.exe", 5))
41
+ sleep 1
42
+ AutoItX3.kill_process(pid)
43
+ assert(AutoItX3.wait_for_process_close("mspaint.exe", 2))
44
+ end
45
+
46
+ def test_run_and_wait
47
+ assert_equal(1, AutoItX3.run_and_wait("dir gibtsnich"))
48
+ end
49
+
50
+ end
@@ -0,0 +1,29 @@
1
+ #Encoding: Windows-1252
2
+ #This file is part of au3.
3
+ #Copyright (c) 2009 Marvin G�lker
4
+ begin
5
+ require "../ext/au3"
6
+ rescue LoadError
7
+ #Aha, this is the gem, not the build environment
8
+ require "au3"
9
+ end
10
+ require "test/unit"
11
+
12
+ class CDTrayTest < Test::Unit::TestCase
13
+
14
+ TEST_TRAY = "E:"
15
+
16
+ def test_open
17
+ assert(AutoItX3.open_cd_tray(TEST_TRAY))
18
+ end
19
+
20
+ def test_close
21
+ AutoItX3.open_cd_tray(TEST_TRAY)
22
+ if !AutoItX3.close_cd_tray(TEST_TRAY)
23
+ notify "Could not close your CD tray. Are you running on a laptop?"
24
+ else
25
+ assert(true)
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,104 @@
1
+ #Encoding: Windows-1252
2
+ #This file is part of au3.
3
+ #Copyright (c) 2009 Marvin G�lker
4
+ begin
5
+ require "../ext/au3"
6
+ rescue LoadError
7
+ #Aha, this is the gem, not the build environment
8
+ require "au3"
9
+ end
10
+ require "test/unit"
11
+
12
+ class WindowTest < Test::Unit::TestCase
13
+
14
+ THREADS = []
15
+
16
+ def self.startup
17
+ AutoItX3.opt("WinTitleMatchMode", 2)
18
+ end
19
+
20
+ def self.shutdown
21
+ THREADS.each{|t| t.join}
22
+ end
23
+
24
+ def setup
25
+ @pid = AutoItX3.run("mspaint")
26
+ AutoItX3::Window.wait("Paint")
27
+ @win = AutoItX3::Window.new("Paint")
28
+ end
29
+
30
+ def teardown
31
+ @win.kill
32
+ end
33
+
34
+ def test_exists
35
+ assert_true(AutoItX3::Window.exists?(@win.title))
36
+ end
37
+
38
+ def test_activate
39
+ pid = AutoItX3.run("calc")
40
+ THREADS << Thread.new{sleep 3; AutoItX3.kill_process(pid)}
41
+ sleep 1
42
+ assert_equal(false, @win.active?)
43
+ @win.activate
44
+ sleep 1
45
+ assert_true(@win.active?)
46
+ end
47
+
48
+ def test_states
49
+ @win.state = AutoItX3::Window::SW_MINIMIZE
50
+ sleep 1
51
+ assert_true(@win.minimized?)
52
+ @win.state = AutoItX3::Window::SW_RESTORE
53
+ sleep 1
54
+ assert_equal(false, @win.minimized?)
55
+ @win.state = AutoItX3::Window::SW_MAXIMIZE
56
+ sleep 1
57
+ assert_true(@win.maximized?)
58
+ end
59
+
60
+ def test_move_and_resize
61
+ @win.move(37, 45, 200, 200)
62
+ sleep 1
63
+ assert_equal([37, 45], @win.rect[0..1])
64
+ @win.move(0, 0, 420, 450)
65
+ sleep 1
66
+ assert_equal([0, 0, 420, 450], @win.rect)
67
+ end
68
+
69
+ def test_pid
70
+ assert_equal(@pid, @win.pid)
71
+ end
72
+
73
+ def test_statusbar_text
74
+ assert_compare(0, "<", @win.statusbar_text.size)
75
+ end
76
+
77
+ def test_text
78
+ assert_compare(0, "<", @win.text.size)
79
+ end
80
+
81
+ def test_title
82
+ assert_match(/Paint/, @win.title)
83
+ end
84
+
85
+ def test_to_i
86
+ assert_equal(@win.handle.to_i(16), @win.to_i)
87
+ end
88
+
89
+ def test_transparency
90
+ assert_equal(100, @win.transparency = 100)
91
+ sleep 1
92
+ end
93
+
94
+ def test_visible
95
+ assert_true(@win.visible?)
96
+ end
97
+
98
+ def test_close
99
+ @win.close
100
+ assert_true(@win.wait_not_active)
101
+ assert_true(@win.wait_close)
102
+ end
103
+
104
+ end
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: au3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: x86-mingw32
6
+ authors:
7
+ - Marvin Guelker
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-09-09 00:00:00 +02:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: |
17
+ au3 is a gem that provides Ruby bindings to the AutoIt Windows automation tool by
18
+ using it's DLL interface AutoItX.
19
+
20
+ email: sutniuq@gmx.net
21
+ executables: []
22
+
23
+ extensions: []
24
+
25
+ extra_rdoc_files: []
26
+
27
+ files:
28
+ - ext/README.rdoc
29
+ - ext/au3.o
30
+ - ext/au3.so
31
+ - ext/au3.c
32
+ - ext/extconf.rb
33
+ - ext/parts/control.c
34
+ - ext/parts/filedir.c
35
+ - ext/parts/graphic.c
36
+ - ext/parts/keyboard.c
37
+ - ext/parts/misc.c
38
+ - ext/parts/mouse.c
39
+ - ext/parts/process.c
40
+ - ext/parts/utils.c
41
+ - ext/parts/wconv.c
42
+ - ext/parts/window.c
43
+ - test/test_clipboard.rb
44
+ - test/test_ini.rb
45
+ - test/test_keyboard.rb
46
+ - test/test_mouse.rb
47
+ - test/test_process.rb
48
+ - test/test_tray.rb
49
+ - test/test_window.rb
50
+ has_rdoc: true
51
+ homepage:
52
+ licenses: []
53
+
54
+ post_install_message:
55
+ rdoc_options:
56
+ - " -m ext/README.rdoc"
57
+ - -t 'au3 RDocs'
58
+ - -c Windows-1252
59
+ require_paths:
60
+ - lib
61
+ - ext
62
+ required_ruby_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: "1.8"
67
+ version:
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: "0"
73
+ version:
74
+ requirements:
75
+ - Microsoft Windows
76
+ rubyforge_project: Automations
77
+ rubygems_version: 1.3.5
78
+ signing_key:
79
+ specification_version: 3
80
+ summary: A binding to the AutoItX3 Windows automation tool.
81
+ test_files:
82
+ - test/test_clipboard.rb
83
+ - test/test_ini.rb
84
+ - test/test_keyboard.rb
85
+ - test/test_mouse.rb
86
+ - test/test_process.rb
87
+ - test/test_tray.rb
88
+ - test/test_window.rb