castanaut 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
|