win32-autogui 0.4.3 → 0.5.0
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/.gemfiles +3 -3
- data/.gitignore +5 -8
- data/Gemfile +1 -1
- data/Gemfile.lock +54 -34
- data/HISTORY.markdown +4 -1
- data/README.markdown +20 -17
- data/Rakefile +43 -32
- data/TODO.markdown +10 -4
- data/VERSION +1 -1
- data/config/cucumber.yml +4 -3
- data/examples/quicknote/FormAboutU.dfm +0 -0
- data/examples/quicknote/FormAboutU.pas +0 -0
- data/examples/quicknote/FormMainU.dfm +0 -0
- data/examples/quicknote/FormMainU.pas +0 -0
- data/examples/quicknote/FormSplashU.dfm +0 -0
- data/examples/quicknote/FormSplashU.pas +0 -0
- data/examples/quicknote/Gemfile +18 -0
- data/examples/quicknote/Gemfile.lock +69 -0
- data/examples/quicknote/LICENSE +0 -0
- data/examples/quicknote/README.markdown +11 -1
- data/examples/quicknote/Rakefile +5 -5
- data/examples/quicknote/TODO.markdown +0 -0
- data/examples/quicknote/exe/.gitignore +0 -0
- data/examples/quicknote/lib/quicknote.rb +0 -0
- data/examples/quicknote/quicknote.cfg +0 -0
- data/examples/quicknote/quicknote.dof +0 -0
- data/examples/quicknote/quicknote.dpr +0 -0
- data/examples/quicknote/quicknote.res +0 -0
- data/examples/quicknote/spec/quicknote/form_about_spec.rb +0 -0
- data/examples/quicknote/spec/quicknote/form_main_spec.rb +5 -5
- data/examples/quicknote/spec/quicknote/form_splash_spec.rb +3 -3
- data/examples/quicknote/spec/spec_helper.rb +6 -4
- data/examples/quicknote/spec/watchr.rb +0 -0
- data/examples/skeleton/Gemfile +18 -0
- data/examples/skeleton/HISTORY.markdown +0 -0
- data/examples/skeleton/LICENSE +0 -0
- data/examples/skeleton/README.markdown +2 -2
- data/examples/skeleton/Rakefile +5 -5
- data/examples/skeleton/TODO.markdown +0 -0
- data/examples/skeleton/config/cucumber.yml +0 -0
- data/examples/skeleton/exe/.gitignore +0 -0
- data/examples/skeleton/features/basic.feature +0 -0
- data/examples/skeleton/features/step_definitions/.gitignore +0 -0
- data/examples/skeleton/features/step_definitions/application_steps.rb +0 -0
- data/examples/skeleton/features/support/env.rb +6 -2
- data/examples/skeleton/lib/myapp.rb +0 -0
- data/examples/skeleton/spec/myapp/form_about_spec.rb +0 -0
- data/examples/skeleton/spec/myapp/form_main_spec.rb +0 -0
- data/examples/skeleton/spec/spec_helper.rb +6 -4
- data/examples/skeleton/spec/watchr.rb +0 -0
- data/features/support/env.rb +6 -2
- data/lib/win32/autogui/application.rb +3 -2
- data/lib/win32/autogui/input.rb +2 -2
- data/lib/win32/autogui/window.rb +8 -0
- data/lib/win32/autogui/windows/window.rb +1 -0
- data/spec/applications/notepad.rb +0 -0
- data/spec/auto_gui/application_spec.rb +15 -1
- data/spec/auto_gui/input_spec.rb +0 -0
- data/spec/auto_gui/logging_spec.rb +1 -1
- data/spec/auto_gui/window_spec.rb +2 -2
- data/spec/basic_gem/aruba_helper_spec.rb +2 -2
- data/spec/basic_gem/basic_gem_spec.rb +5 -1
- data/spec/basic_gem/gemspec_spec.rb +6 -6
- data/spec/spec_helper.rb +6 -4
- data/spec/watchr.rb +2 -0
- data/win32-autogui.gemspec +25 -35
- metadata +131 -198
- data/examples/quicknote/spec/spec.opts +0 -2
- data/examples/skeleton/spec/spec.opts +0 -2
- data/spec/spec.opts +0 -2
data/.gemfiles
CHANGED
@@ -18,6 +18,8 @@ examples/quicknote/FormMainU.dfm
|
|
18
18
|
examples/quicknote/FormMainU.pas
|
19
19
|
examples/quicknote/FormSplashU.dfm
|
20
20
|
examples/quicknote/FormSplashU.pas
|
21
|
+
examples/quicknote/Gemfile
|
22
|
+
examples/quicknote/Gemfile.lock
|
21
23
|
examples/quicknote/LICENSE
|
22
24
|
examples/quicknote/README.markdown
|
23
25
|
examples/quicknote/Rakefile
|
@@ -34,10 +36,10 @@ examples/quicknote/spec/aruba_helper.rb
|
|
34
36
|
examples/quicknote/spec/quicknote/form_about_spec.rb
|
35
37
|
examples/quicknote/spec/quicknote/form_main_spec.rb
|
36
38
|
examples/quicknote/spec/quicknote/form_splash_spec.rb
|
37
|
-
examples/quicknote/spec/spec.opts
|
38
39
|
examples/quicknote/spec/spec_helper.rb
|
39
40
|
examples/quicknote/spec/watchr.rb
|
40
41
|
examples/skeleton/.gitignore
|
42
|
+
examples/skeleton/Gemfile
|
41
43
|
examples/skeleton/HISTORY.markdown
|
42
44
|
examples/skeleton/LICENSE
|
43
45
|
examples/skeleton/README.markdown
|
@@ -54,7 +56,6 @@ examples/skeleton/lib/myapp.rb
|
|
54
56
|
examples/skeleton/spec/aruba_helper.rb
|
55
57
|
examples/skeleton/spec/myapp/form_about_spec.rb
|
56
58
|
examples/skeleton/spec/myapp/form_main_spec.rb
|
57
|
-
examples/skeleton/spec/spec.opts
|
58
59
|
examples/skeleton/spec/spec_helper.rb
|
59
60
|
examples/skeleton/spec/watchr.rb
|
60
61
|
features/automating_an_application.feature
|
@@ -77,7 +78,6 @@ spec/auto_gui/window_spec.rb
|
|
77
78
|
spec/basic_gem/aruba_helper_spec.rb
|
78
79
|
spec/basic_gem/basic_gem_spec.rb
|
79
80
|
spec/basic_gem/gemspec_spec.rb
|
80
|
-
spec/spec.opts
|
81
81
|
spec/spec_helper.rb
|
82
82
|
spec/watchr.rb
|
83
83
|
win32-autogui.gemspec
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,55 +1,75 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
win32-autogui (0.
|
4
|
+
win32-autogui (0.5.0)
|
5
5
|
log4r (>= 1.1.9)
|
6
|
-
win32-clipboard (
|
7
|
-
win32-process (
|
8
|
-
windows-api (
|
9
|
-
windows-pr (
|
6
|
+
win32-clipboard (~> 0.5.2)
|
7
|
+
win32-process (~> 0.6.5)
|
8
|
+
windows-api (~> 0.4.0)
|
9
|
+
windows-pr (~> 1.2.0)
|
10
10
|
|
11
11
|
GEM
|
12
12
|
remote: http://rubygems.org/
|
13
13
|
specs:
|
14
|
-
aruba (0.
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
aruba (0.4.6)
|
15
|
+
bcat (>= 0.6.1)
|
16
|
+
childprocess (>= 0.2.0)
|
17
|
+
cucumber (>= 1.0.2)
|
18
|
+
rdiscount (>= 1.6.8)
|
19
|
+
rspec (>= 2.6.0)
|
20
|
+
bcat (0.6.1)
|
21
|
+
rack (~> 1.0)
|
22
|
+
builder (3.0.0)
|
23
|
+
childprocess (0.2.1)
|
24
|
+
ffi (~> 1.0.6)
|
25
|
+
cucumber (1.0.2)
|
26
|
+
builder (>= 2.1.2)
|
27
|
+
diff-lcs (>= 1.1.2)
|
28
|
+
gherkin (~> 2.4.5)
|
29
|
+
json (>= 1.4.6)
|
30
|
+
term-ansicolor (>= 1.0.5)
|
22
31
|
diff-lcs (1.1.2)
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
json (1.
|
27
|
-
kramdown (0.12.0)
|
32
|
+
ffi (1.0.9-x86-mingw32)
|
33
|
+
gherkin (2.4.11-x86-mingw32)
|
34
|
+
json (>= 1.4.6)
|
35
|
+
json (1.5.3)
|
28
36
|
log4r (1.1.9)
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
37
|
+
rack (1.3.2)
|
38
|
+
rake (0.9.2)
|
39
|
+
rdiscount (1.6.8)
|
40
|
+
redcarpet (1.17.2)
|
41
|
+
rspec (2.6.0)
|
42
|
+
rspec-core (~> 2.6.0)
|
43
|
+
rspec-expectations (~> 2.6.0)
|
44
|
+
rspec-mocks (~> 2.6.0)
|
45
|
+
rspec-core (2.6.4)
|
46
|
+
rspec-expectations (2.6.0)
|
47
|
+
diff-lcs (~> 1.1.2)
|
48
|
+
rspec-mocks (2.6.0)
|
49
|
+
term-ansicolor (1.0.6)
|
50
|
+
win32-api (1.4.8-x86-mingw32)
|
33
51
|
win32-clipboard (0.5.2)
|
34
52
|
windows-pr (>= 1.0.3)
|
35
|
-
win32-process (0.6.
|
36
|
-
windows-pr (>= 1.1.
|
53
|
+
win32-process (0.6.5)
|
54
|
+
windows-pr (>= 1.1.2)
|
55
|
+
win32console (1.3.0-x86-mingw32)
|
37
56
|
windows-api (0.4.0)
|
38
57
|
win32-api (>= 1.4.5)
|
39
|
-
windows-pr (1.
|
58
|
+
windows-pr (1.2.0)
|
40
59
|
win32-api (>= 1.4.5)
|
41
60
|
windows-api (>= 0.3.0)
|
42
|
-
yard (0.
|
61
|
+
yard (0.7.2)
|
43
62
|
|
44
63
|
PLATFORMS
|
45
|
-
|
64
|
+
x86-mingw32
|
46
65
|
|
47
66
|
DEPENDENCIES
|
48
|
-
aruba (
|
49
|
-
bundler (>= 1.0.
|
50
|
-
cucumber (
|
51
|
-
|
52
|
-
|
53
|
-
rspec (
|
67
|
+
aruba (~> 0.4.2)
|
68
|
+
bundler (>= 1.0.14)
|
69
|
+
cucumber (~> 1.0)
|
70
|
+
rake (>= 0.9.2)
|
71
|
+
redcarpet (>= 1.17.2)
|
72
|
+
rspec (>= 2.6.0)
|
54
73
|
win32-autogui!
|
55
|
-
|
74
|
+
win32console (>= 1.2.0)
|
75
|
+
yard (>= 0.7.2)
|
data/HISTORY.markdown
CHANGED
data/README.markdown
CHANGED
@@ -21,21 +21,20 @@ with the Win32-autogui RubyGem.
|
|
21
21
|
|
22
22
|
Read our introduction blog posting here: <http://www.gearheadforhire.com/articles/ruby/win32-autogui/using-ruby-to-drive-windows-applications>
|
23
23
|
|
24
|
-
Run Win32-autogui's internal specs and example programs
|
24
|
+
Run Win32-autogui's internal specs and example programs from the system gem location
|
25
25
|
|
26
26
|
gem install win32-autogui
|
27
|
-
gem install
|
28
|
-
gem install rspec -v 1.3.1
|
27
|
+
gem install bundler
|
29
28
|
|
30
|
-
cd C:\Ruby187\lib\ruby\gems\1.8\gems\win32-autogui-
|
29
|
+
cd C:\Ruby187\lib\ruby\gems\1.8\gems\win32-autogui-X.X.X
|
31
30
|
bundle install
|
32
31
|
|
33
32
|
# run the calculator specs and features
|
34
|
-
rake
|
33
|
+
bundle exec rake
|
35
34
|
|
36
35
|
# run the example quicknote specs
|
37
36
|
cd examples\quicknote
|
38
|
-
rake
|
37
|
+
bundle exec rake
|
39
38
|
|
40
39
|
|
41
40
|
Example Usage: Driving Calc.exe
|
@@ -238,13 +237,14 @@ Testing was done on the following Ruby platforms:
|
|
238
237
|
|
239
238
|
* ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin]
|
240
239
|
* ruby 1.8.7 (2010-08-16 patchlevel 302) [i386-mingw32]
|
240
|
+
* ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
|
241
241
|
|
242
242
|
|
243
243
|
Dependencies
|
244
244
|
------------
|
245
245
|
Win32-autogui depends on the following RubyGems
|
246
246
|
|
247
|
-
* Windows-api <http://github.com/djberg96/
|
247
|
+
* Windows-api <http://github.com/djberg96/windows-api>
|
248
248
|
* Windows-pr <http://github.com/djberg96/windows-pr>
|
249
249
|
* Win32-process <http://github.com/djberg96/win32-process>
|
250
250
|
* Win32-clipboard <http://github.com/djberg96/win32-clipboard>
|
@@ -261,27 +261,29 @@ Win32-autogui is available on [RubyGems.org](http://rubygems.org/gems/win32-auto
|
|
261
261
|
References and Alternative Libraries
|
262
262
|
------------------------------------
|
263
263
|
|
264
|
-
* Scripted GUI Testing with Ruby by Ian Dees
|
264
|
+
* Scripted GUI Testing with Ruby by Ian Dees
|
265
|
+
<http://pragprog.com/titles/idgtr/scripted-gui-testing-with-ruby>
|
265
266
|
* RAA - win32-guitest <http://raa.ruby-lang.org/project/win32-guitest>
|
266
267
|
* Updated win32-guitest <http://rubyforge.org/projects/guitest>
|
267
268
|
|
268
269
|
|
269
270
|
Development
|
270
271
|
-----------
|
271
|
-
Win32-autogui development was jump-started by cloning
|
272
|
+
Win32-autogui development was jump-started by cloning
|
273
|
+
[BasicGem](http://github.com/robertwahler/basic_gem).
|
272
274
|
|
273
275
|
### Dependencies ###
|
274
276
|
|
275
277
|
* Bundler for dependency management <http://github.com/carlhuda/bundler>
|
276
|
-
*
|
277
|
-
* Cucumber for functional testing <http://github.com/
|
278
|
-
* Aruba for CLI testing <http://github.com/
|
279
|
-
*
|
280
|
-
*
|
278
|
+
* Rspec for unit testing <http://github.com/rspec/rspec>
|
279
|
+
* Cucumber for functional testing <http://github.com/cucumber/cucumber>
|
280
|
+
* Aruba for CLI testing <http://github.com/cucumber/aruba>
|
281
|
+
* Yard for documentation generation <http://github.com/lsegal/yard>
|
282
|
+
* Redcarpet for documentation markup processing <http://github.com/tanoku/redcarpet>
|
281
283
|
|
282
284
|
### Rake tasks ###
|
283
285
|
|
284
|
-
rake -T
|
286
|
+
bundle exec rake -T
|
285
287
|
|
286
288
|
rake build # Build win32-autogui-0.0.1.gem into the pkg directory
|
287
289
|
rake doc:clean # Remove generated documenation
|
@@ -318,10 +320,11 @@ Grab the source
|
|
318
320
|
cd examples/quicknote
|
319
321
|
watchr spec/watchr.rb
|
320
322
|
|
321
|
-
Watchr will now watch the files defined in 'spec/watchr.rb' and run RSpec or
|
323
|
+
Watchr will now watch the files defined in 'spec/watchr.rb' and run RSpec or
|
324
|
+
Cucumber, as appropriate.
|
322
325
|
|
323
326
|
|
324
327
|
Copyright
|
325
328
|
---------
|
326
329
|
|
327
|
-
Copyright (c) 2010 GearheadForHire, LLC. See [LICENSE](LICENSE) for details.
|
330
|
+
Copyright (c) 2010-2011 GearheadForHire, LLC. See [LICENSE](LICENSE) for details.
|
data/Rakefile
CHANGED
@@ -1,35 +1,15 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
#
|
4
|
-
#
|
5
|
-
|
6
|
-
require 'rubygems'
|
3
|
+
# Bundler is managing $LOAD_PATH, any gem needed by this Rakefile must be
|
4
|
+
# listed as a development dependency in the gemspec
|
7
5
|
require 'bundler/setup'
|
6
|
+
require 'bundler/gem_tasks'
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
dir = caller.find{|c| /Rakefile:/}[/^(.*?)\/Rakefile:/, 1]
|
15
|
-
self.new(dir, opts && opts[:name]).install
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
Bundler::GemHelper.install_tasks
|
20
|
-
|
21
|
-
def gemspec
|
22
|
-
@gemspec ||= begin
|
23
|
-
file = File.expand_path('../win32-autogui.gemspec', __FILE__)
|
24
|
-
eval(File.read(file), binding, file)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
require 'spec'
|
29
|
-
require 'spec/rake/spectask'
|
30
|
-
Spec::Rake::SpecTask.new(:spec) do |spec|
|
31
|
-
spec.libs << 'lib' << 'spec'
|
32
|
-
spec.spec_files = FileList['spec/**/*_spec.rb']
|
8
|
+
require 'rspec/core/rake_task'
|
9
|
+
desc "Run RSpec"
|
10
|
+
RSpec::Core::RakeTask.new do |spec|
|
11
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
12
|
+
spec.rspec_opts = ['--color', '--format nested']
|
33
13
|
end
|
34
14
|
|
35
15
|
require 'cucumber'
|
@@ -44,16 +24,18 @@ task :test => [:spec, :features]
|
|
44
24
|
task :default => :test
|
45
25
|
|
46
26
|
namespace :doc do
|
27
|
+
|
28
|
+
doc_version = File.open(File.join(File.dirname(__FILE__), 'VERSION'), "r") { |f| f.read }
|
47
29
|
project_root = File.expand_path(File.dirname(__FILE__))
|
48
30
|
doc_destination = File.join(project_root, 'rdoc')
|
49
31
|
|
50
32
|
require 'yard'
|
51
|
-
require 'yard/rake/yardoc_task'
|
52
33
|
|
53
34
|
YARD::Rake::YardocTask.new(:generate) do |yt|
|
54
|
-
yt.options = ['--output-dir', doc_destination
|
55
|
-
|
56
|
-
|
35
|
+
yt.options = ['--output-dir', doc_destination,
|
36
|
+
'--title', "Win32-AutoGUI #{doc_version} Documentation",
|
37
|
+
'--main', "README.markdown"
|
38
|
+
]
|
57
39
|
end
|
58
40
|
|
59
41
|
desc "Remove generated documenation"
|
@@ -67,3 +49,32 @@ namespace :doc do
|
|
67
49
|
end
|
68
50
|
|
69
51
|
end
|
52
|
+
|
53
|
+
# put the gemfiles task in the :build dependency chain
|
54
|
+
task :build => [:gemfiles]
|
55
|
+
|
56
|
+
desc "Generate .gemfiles via 'git ls-files'"
|
57
|
+
task :gemfiles do
|
58
|
+
files = `git ls-files`
|
59
|
+
|
60
|
+
filename = File.join(File.dirname(__FILE__), '.gemfiles')
|
61
|
+
cached_files = nil
|
62
|
+
if File.exists?(filename)
|
63
|
+
puts ".gemfiles exists, reading..."
|
64
|
+
cached_files = File.open(filename, "rb") {|f| f.read}
|
65
|
+
end
|
66
|
+
|
67
|
+
if cached_files && cached_files.match("\r\n")
|
68
|
+
puts ".gemfiles using DOS EOL"
|
69
|
+
files.gsub!(/\n/, "\r\n")
|
70
|
+
end
|
71
|
+
|
72
|
+
if cached_files != files
|
73
|
+
puts ".gemfiles updating"
|
74
|
+
File.open(filename, 'wb') {|f| f.write(files)}
|
75
|
+
else
|
76
|
+
puts ".gemfiles update not required"
|
77
|
+
end
|
78
|
+
|
79
|
+
raise "unable to process .gemfiles" unless files
|
80
|
+
end
|
data/TODO.markdown
CHANGED
@@ -4,9 +4,15 @@ TODO
|
|
4
4
|
general
|
5
5
|
-------
|
6
6
|
|
7
|
-
* (1.0) stop changing $LOAD_PATH in specs and features, modify ENV[] in before
|
8
|
-
|
7
|
+
* (1.0) stop changing $LOAD_PATH in specs and features, modify ENV[] in before
|
8
|
+
and afters
|
9
|
+
* (1.0) implement Application.find and add option to not start application
|
10
|
+
automatically, allows driving already running applications
|
9
11
|
* (1.0) application class should be a mixin, not classical inheritance
|
10
|
-
* (1.0) "rake release" broken on Windows, create patch to fix Bundler. For
|
11
|
-
|
12
|
+
* (1.0) "rake release" broken on Windows, create patch to fix Bundler. For
|
13
|
+
now, 'git tag v0.3.0 && rake build && gem push pkg/win32-autogui-0.3.0.gem'
|
14
|
+
* (1.0) add an exception dialog watcher that accepts a block and scans for
|
15
|
+
exception dialogs in a separate thread
|
12
16
|
* unicode support for window text
|
17
|
+
* extract examples/skeleton to a separate cloneable repository or create a Thor
|
18
|
+
generator
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
data/config/cucumber.yml
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
<%
|
2
2
|
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
|
3
|
-
rerun_opts = rerun.to_s.strip.empty? ? "--format
|
4
|
-
std_opts = "
|
3
|
+
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
|
4
|
+
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
|
5
5
|
%>
|
6
|
-
default: <%= std_opts %>
|
6
|
+
default: <%= std_opts %> features
|
7
7
|
wip: --tags @wip:3 --wip features
|
8
|
+
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,18 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
gem "bundler", ">= 1.0.14"
|
4
|
+
gem "rake", ">= 0.9.2"
|
5
|
+
|
6
|
+
# development path manually added, this is here just for dependencies
|
7
|
+
gem "win32-autogui", ">= 0.5.0"
|
8
|
+
|
9
|
+
# scripting
|
10
|
+
gem "mutagem", ">= 0.2.0"
|
11
|
+
|
12
|
+
# this gem is only used if ANSICON support is not detected
|
13
|
+
gem "win32console", ">= 1.2.0"
|
14
|
+
|
15
|
+
# Specs and Features
|
16
|
+
gem "rspec", ">= 2.6.0"
|
17
|
+
gem "cucumber", "~> 1.0"
|
18
|
+
gem "aruba", "~> 0.4.2"
|