castanaut 1.0.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/Copyright.txt +29 -0
- data/History.txt +3 -0
- data/Manifest.txt +31 -0
- data/README.txt +161 -0
- data/Rakefile +25 -0
- data/bin/castanaut +7 -0
- data/cbin/osxautomation +0 -0
- data/lib/castanaut/exceptions.rb +32 -0
- data/lib/castanaut/keys.rb +43 -0
- data/lib/castanaut/main.rb +20 -0
- data/lib/castanaut/movie.rb +353 -0
- data/lib/castanaut/plugin.rb +26 -0
- data/lib/castanaut.rb +64 -0
- data/lib/plugins/ishowu.rb +94 -0
- data/lib/plugins/mousepose.rb +38 -0
- data/lib/plugins/safari.rb +124 -0
- data/scripts/coords.js +48 -0
- data/scripts/gebys.js +612 -0
- data/tasks/ann.rake +77 -0
- data/tasks/annotations.rake +22 -0
- data/tasks/doc.rake +49 -0
- data/tasks/gem.rake +110 -0
- data/tasks/manifest.rake +50 -0
- data/tasks/post_load.rake +18 -0
- data/tasks/rubyforge.rake +57 -0
- data/tasks/setup.rb +221 -0
- data/tasks/spec.rake +43 -0
- data/tasks/svn.rake +44 -0
- data/tasks/test.rake +40 -0
- data/test/example_script.screenplay +91 -0
- data/test/googling.screenplay +34 -0
- metadata +87 -0
data/tasks/test.rake
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# $Id$
|
2
|
+
|
3
|
+
require 'rake/testtask'
|
4
|
+
|
5
|
+
namespace :test do
|
6
|
+
|
7
|
+
Rake::TestTask.new(:run) do |t|
|
8
|
+
t.libs = PROJ.libs
|
9
|
+
t.test_files = if test ?f, PROJ.test_file then [PROJ.test_file]
|
10
|
+
else PROJ.tests end
|
11
|
+
t.ruby_opts += PROJ.ruby_opts
|
12
|
+
t.ruby_opts += PROJ.test_opts
|
13
|
+
end
|
14
|
+
|
15
|
+
if HAVE_RCOV
|
16
|
+
desc 'Run rcov on the unit tests'
|
17
|
+
task :rcov => :clobber_rcov do
|
18
|
+
opts = PROJ.rcov_opts.join(' ')
|
19
|
+
files = if test ?f, PROJ.test_file then [PROJ.test_file]
|
20
|
+
else PROJ.tests end
|
21
|
+
files = files.join(' ')
|
22
|
+
sh "#{RCOV} #{files} #{opts}"
|
23
|
+
end
|
24
|
+
|
25
|
+
desc 'Remove rcov products'
|
26
|
+
task :clobber_rcov do
|
27
|
+
rm_r 'coverage' rescue nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end # namespace :test
|
32
|
+
|
33
|
+
desc 'Alias to test:run'
|
34
|
+
task :test => 'test:run'
|
35
|
+
|
36
|
+
task :clobber => 'test:clobber_rcov' if HAVE_RCOV
|
37
|
+
|
38
|
+
remove_desc_for_task %w(test:clobber_rcov)
|
39
|
+
|
40
|
+
# EOF
|
@@ -0,0 +1,91 @@
|
|
1
|
+
PageLoadTime = 2
|
2
|
+
|
3
|
+
plugin 'safari'
|
4
|
+
plugin 'mousepose'
|
5
|
+
plugin 'ishowu'
|
6
|
+
|
7
|
+
pause 0.5
|
8
|
+
launch "Mousepose"
|
9
|
+
launch "Safari", at(32, 64, 800, 600)
|
10
|
+
url "http://dockyard.localhost/admin/structure"
|
11
|
+
|
12
|
+
pause PageLoadTime
|
13
|
+
|
14
|
+
ishowu_set_region at(32, 64, 800, 600)
|
15
|
+
move to_element('input')
|
16
|
+
ishowu_start_recording
|
17
|
+
click
|
18
|
+
|
19
|
+
while_saying "Welcome to Blueprint. Here's how you sign in." do
|
20
|
+
pause 0.5
|
21
|
+
type "screencast"
|
22
|
+
hit Tab
|
23
|
+
type "password"
|
24
|
+
move to_element('.mainAction')
|
25
|
+
click
|
26
|
+
end
|
27
|
+
|
28
|
+
pause PageLoadTime
|
29
|
+
|
30
|
+
say "This is the structure tab. Let's create a page!"
|
31
|
+
highlight do
|
32
|
+
move to_element("#page_title", :area => :left)
|
33
|
+
click
|
34
|
+
end
|
35
|
+
type "Welcome"
|
36
|
+
move to_element(".sidebarButton")
|
37
|
+
click
|
38
|
+
move to_element("#structureTree li:last-child a")
|
39
|
+
say "The page has been created."
|
40
|
+
|
41
|
+
while_saying "We should add a few more, to create a simple site structure." do
|
42
|
+
move to_element("#page_title", :area => :left)
|
43
|
+
click
|
44
|
+
type "About"
|
45
|
+
move to_element(".sidebarButton")
|
46
|
+
click
|
47
|
+
|
48
|
+
move to_element("#page_title", :area => :left)
|
49
|
+
click
|
50
|
+
type "Contact us"
|
51
|
+
move to_element(".sidebarButton")
|
52
|
+
click
|
53
|
+
end
|
54
|
+
|
55
|
+
while_saying "A page hierarchy is established by dragging and dropping." do
|
56
|
+
move to_element("#structureTree li:last-child img")
|
57
|
+
highlight do
|
58
|
+
drag by(25, -42)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
pause 2
|
63
|
+
|
64
|
+
while_saying "Blueprint has many types of pages." do
|
65
|
+
move to_element("#page_blueprint_id")
|
66
|
+
highlight do
|
67
|
+
mousedown
|
68
|
+
pause 2
|
69
|
+
drag by(0, 26)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
move to_element("#page_title")
|
74
|
+
click
|
75
|
+
type "Chronicle"
|
76
|
+
move to_element(".sidebarButton") and pause 0.1
|
77
|
+
click
|
78
|
+
|
79
|
+
while_saying "See how this page has a different icon? This means it has " +
|
80
|
+
"special functionality. In this case, it's a blog." do
|
81
|
+
move to_element('li[blueprint="blg"] img')
|
82
|
+
end
|
83
|
+
|
84
|
+
while_saying "One last thing: don't forget to save your site structure!" do
|
85
|
+
pause 1.5
|
86
|
+
move to_element(".mainAction")
|
87
|
+
# click
|
88
|
+
pause PageLoadTime
|
89
|
+
end
|
90
|
+
|
91
|
+
pause 3
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/usr/bin/env castanaut
|
2
|
+
|
3
|
+
PageLoadTime = 2.5
|
4
|
+
|
5
|
+
plugin 'safari'
|
6
|
+
|
7
|
+
pause 0.5
|
8
|
+
launch "safari", at(64, 64, 1024, 768)
|
9
|
+
url "about:blank"
|
10
|
+
|
11
|
+
|
12
|
+
while_saying "Let's go vanity-searching!" do
|
13
|
+
url "http://www.google.com"
|
14
|
+
pause PageLoadTime
|
15
|
+
end
|
16
|
+
|
17
|
+
move to_element('input[name="q"]')
|
18
|
+
click
|
19
|
+
type "Castanaut"
|
20
|
+
hit Enter
|
21
|
+
pause PageLoadTime
|
22
|
+
|
23
|
+
say "Oh. I was hoping for more results."
|
24
|
+
|
25
|
+
move to(340, 100)
|
26
|
+
tripleclick
|
27
|
+
pause 0.5
|
28
|
+
type "http://inventivelabs.com.au"
|
29
|
+
hit Enter
|
30
|
+
|
31
|
+
pause 6
|
32
|
+
|
33
|
+
move to_element("#switch")
|
34
|
+
click
|
metadata
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: castanaut
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Joseph Pearson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-02-23 00:00:00 +11:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: Castanaut lets you write executable scripts for your screencasts. With a simple dictionary of stage directions, you can create complex interactions with a variety of applications. Currently, and for the foreseeable future, Castanaut supports Mac OS X 10.5 only.
|
17
|
+
email: joseph@inventivelabs.com.au
|
18
|
+
executables:
|
19
|
+
- castanaut
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- Copyright.txt
|
24
|
+
- History.txt
|
25
|
+
- README.txt
|
26
|
+
- bin/castanaut
|
27
|
+
files:
|
28
|
+
- Copyright.txt
|
29
|
+
- History.txt
|
30
|
+
- Manifest.txt
|
31
|
+
- README.txt
|
32
|
+
- Rakefile
|
33
|
+
- bin/castanaut
|
34
|
+
- cbin/osxautomation
|
35
|
+
- lib/castanaut.rb
|
36
|
+
- lib/castanaut/exceptions.rb
|
37
|
+
- lib/castanaut/keys.rb
|
38
|
+
- lib/castanaut/main.rb
|
39
|
+
- lib/castanaut/movie.rb
|
40
|
+
- lib/castanaut/plugin.rb
|
41
|
+
- lib/plugins/ishowu.rb
|
42
|
+
- lib/plugins/mousepose.rb
|
43
|
+
- lib/plugins/safari.rb
|
44
|
+
- scripts/coords.js
|
45
|
+
- scripts/gebys.js
|
46
|
+
- tasks/ann.rake
|
47
|
+
- tasks/annotations.rake
|
48
|
+
- tasks/doc.rake
|
49
|
+
- tasks/gem.rake
|
50
|
+
- tasks/manifest.rake
|
51
|
+
- tasks/post_load.rake
|
52
|
+
- tasks/rubyforge.rake
|
53
|
+
- tasks/setup.rb
|
54
|
+
- tasks/spec.rake
|
55
|
+
- tasks/svn.rake
|
56
|
+
- tasks/test.rake
|
57
|
+
- test/example_script.screenplay
|
58
|
+
- test/googling.screenplay
|
59
|
+
has_rdoc: true
|
60
|
+
homepage: http://castanaut.rubyforge.org
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options:
|
63
|
+
- --main
|
64
|
+
- README.txt
|
65
|
+
require_paths:
|
66
|
+
- lib
|
67
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: "0"
|
72
|
+
version:
|
73
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: "0"
|
78
|
+
version:
|
79
|
+
requirements: []
|
80
|
+
|
81
|
+
rubyforge_project: castanaut
|
82
|
+
rubygems_version: 1.0.1
|
83
|
+
signing_key:
|
84
|
+
specification_version: 2
|
85
|
+
summary: Castanaut lets you write executable scripts for your screencasts
|
86
|
+
test_files: []
|
87
|
+
|