au3 0.0.1-x86-mswin32-60

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.
@@ -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
data/test/test_ini.rb ADDED
@@ -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
data/test/test_tray.rb ADDED
@@ -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,82 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: au3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: x86-mswin32-60
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: au3 is a gem that provides Ruby bindings to the AutoIt Windows automation tool by using it's DLL interface AutoItX.
17
+ email: sutniuq@gmx.net
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - ext/README.rdoc
26
+ - ext/au3.so
27
+ - ext/au3.c
28
+ - ext/extconf.rb
29
+ - ext/parts/control.c
30
+ - ext/parts/filedir.c
31
+ - ext/parts/graphic.c
32
+ - ext/parts/keyboard.c
33
+ - ext/parts/misc.c
34
+ - ext/parts/mouse.c
35
+ - ext/parts/process.c
36
+ - ext/parts/utils.c
37
+ - ext/parts/wconv.c
38
+ - ext/parts/window.c
39
+ - test/test_clipboard.rb
40
+ - test/test_ini.rb
41
+ - test/test_keyboard.rb
42
+ - test/test_mouse.rb
43
+ - test/test_process.rb
44
+ - test/test_tray.rb
45
+ - test/test_window.rb
46
+ has_rdoc: true
47
+ homepage:
48
+ post_install_message:
49
+ rdoc_options:
50
+ - " -m ext/README.rdoc"
51
+ - -t 'au3 RDocs'
52
+ - -c Windows-1252
53
+ require_paths:
54
+ - lib
55
+ - ext
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: "1.8"
61
+ version:
62
+ required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: "0"
67
+ version:
68
+ requirements:
69
+ - Microsoft Windows
70
+ rubyforge_project: Automations
71
+ rubygems_version: 1.3.1
72
+ signing_key:
73
+ specification_version: 2
74
+ summary: A binding to the AutoItX3 Windows automation tool.
75
+ test_files:
76
+ - test/test_clipboard.rb
77
+ - test/test_ini.rb
78
+ - test/test_keyboard.rb
79
+ - test/test_mouse.rb
80
+ - test/test_process.rb
81
+ - test/test_tray.rb
82
+ - test/test_window.rb