as3 1.0.0.pre
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/Gemfile +16 -0
- data/README.rdoc +35 -0
- data/as3.gemspec +24 -0
- data/bin/sprout-as3 +9 -0
- data/lib/as3.rb +24 -0
- data/lib/as3/generators/class_generator.rb +55 -0
- data/lib/as3/generators/project_generator.rb +53 -0
- data/lib/as3/generators/templates/ActionScript3Class.as +9 -0
- data/lib/as3/generators/templates/ActionScript3MainClass.as +11 -0
- data/lib/as3/generators/templates/DefaultProjectImage.png +0 -0
- data/lib/as3/generators/templates/Gemfile +5 -0
- data/lib/as3/generators/templates/rakefile.rb +15 -0
- data/lib/as3/tasks/mxmlc.rb +821 -0
- data/rakefile.rb +20 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/test/fixtures/mxmlc/simple/SomeFile.as +11 -0
- data/test/unit/class_generator_test.rb +46 -0
- data/test/unit/mxmlc_test.rb +43 -0
- data/test/unit/project_generator_test.rb +53 -0
- data/test/unit/test_helper.rb +16 -0
- metadata +151 -0
data/rakefile.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
|
4
|
+
Bundler.setup
|
5
|
+
|
6
|
+
require 'rake'
|
7
|
+
require 'rake/clean'
|
8
|
+
require 'rake/testtask'
|
9
|
+
|
10
|
+
namespace :test do
|
11
|
+
|
12
|
+
Rake::TestTask.new(:units) do |t|
|
13
|
+
t.libs << "test/unit"
|
14
|
+
t.test_files = FileList["test/unit/*_test.rb"]
|
15
|
+
t.verbose = true
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
task :test => 'test:units'
|
data/script/console
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# File: script/console
|
3
|
+
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
4
|
+
|
5
|
+
libs = " -r irb/completion"
|
6
|
+
# Perhaps use a console_lib to store any extra methods I may want available in the cosole
|
7
|
+
# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
|
8
|
+
libs << " -r #{File.dirname(__FILE__) + '/../lib/as3.rb'}"
|
9
|
+
puts "Loading as3 gem"
|
10
|
+
exec "#{irb} #{libs} --simple-prompt"
|
data/script/destroy
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rubigen'
|
6
|
+
rescue LoadError
|
7
|
+
require 'rubygems'
|
8
|
+
require 'rubigen'
|
9
|
+
end
|
10
|
+
require 'rubigen/scripts/destroy'
|
11
|
+
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
+
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
+
RubiGen::Scripts::Destroy.new.run(ARGV)
|
data/script/generate
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rubigen'
|
6
|
+
rescue LoadError
|
7
|
+
require 'rubygems'
|
8
|
+
require 'rubigen'
|
9
|
+
end
|
10
|
+
require 'rubigen/scripts/generate'
|
11
|
+
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
+
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
+
RubiGen::Scripts::Generate.new.run(ARGV)
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "test_helper")
|
2
|
+
|
3
|
+
class ClassGeneratorTest < Test::Unit::TestCase
|
4
|
+
include SproutTestCase
|
5
|
+
|
6
|
+
context "a new class generator" do
|
7
|
+
|
8
|
+
setup do
|
9
|
+
@temp = File.join(fixtures, 'generators', 'tmp')
|
10
|
+
FileUtils.mkdir_p @temp
|
11
|
+
@generator = AS3::ClassGenerator.new
|
12
|
+
@generator.path = @temp
|
13
|
+
@generator.logger = StringIO.new
|
14
|
+
end
|
15
|
+
|
16
|
+
teardown do
|
17
|
+
remove_file @temp
|
18
|
+
end
|
19
|
+
|
20
|
+
should "work with a simple class" do
|
21
|
+
@generator.input = 'utils.MathUtil'
|
22
|
+
@generator.execute
|
23
|
+
assert_file File.join(@temp, 'src', 'utils', 'MathUtil.as')
|
24
|
+
end
|
25
|
+
|
26
|
+
should "work with no package" do
|
27
|
+
@generator.input = 'MathUtil'
|
28
|
+
@generator.execute
|
29
|
+
assert_file File.join(@temp, 'src', 'MathUtil.as')
|
30
|
+
end
|
31
|
+
|
32
|
+
should "work with directory instead of dots" do
|
33
|
+
@generator.input = 'src/utils/MathUtil.as'
|
34
|
+
@generator.execute
|
35
|
+
assert_file File.join(@temp, 'src', 'utils', 'MathUtil.as')
|
36
|
+
end
|
37
|
+
|
38
|
+
should "work with directory but no source" do
|
39
|
+
@generator.input = 'utils/MathUtil.as'
|
40
|
+
@generator.execute
|
41
|
+
assert_file File.join(@temp, 'src', 'utils', 'MathUtil.as')
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
2
|
+
|
3
|
+
class MXMLCTest < Test::Unit::TestCase
|
4
|
+
include SproutTestCase
|
5
|
+
|
6
|
+
context "An MXMLC tool" do
|
7
|
+
|
8
|
+
setup do
|
9
|
+
@fixture = File.join 'test', 'fixtures', 'mxmlc', 'simple'
|
10
|
+
@input = File.join @fixture, 'SomeFile.as'
|
11
|
+
@expected_output = File.join @fixture, 'SomeFile.swf'
|
12
|
+
#Sprout::Log.debug = false
|
13
|
+
end
|
14
|
+
|
15
|
+
teardown do
|
16
|
+
remove_file @expected_output
|
17
|
+
end
|
18
|
+
|
19
|
+
should "accept input" do
|
20
|
+
mxmlc = AS3::MXMLC.new
|
21
|
+
mxmlc.input = @input
|
22
|
+
mxmlc.source_path << @fixture
|
23
|
+
assert_equal '--source-path+=test/fixtures/mxmlc/simple test/fixtures/mxmlc/simple/SomeFile.as', mxmlc.to_shell
|
24
|
+
end
|
25
|
+
|
26
|
+
should "compile a swf" do
|
27
|
+
mxmlc = AS3::MXMLC.new
|
28
|
+
mxmlc.input = @input
|
29
|
+
# Turn on to trigger an actual compilation:
|
30
|
+
# (This is too damn slow to leave in the every-time test run)
|
31
|
+
mxmlc.execute
|
32
|
+
assert_file @expected_output
|
33
|
+
end
|
34
|
+
|
35
|
+
should "assign simple output" do
|
36
|
+
t = mxmlc 'bin/SomeProject.swf' do |t|
|
37
|
+
t.input = @input
|
38
|
+
end
|
39
|
+
assert_equal 'bin/SomeProject.swf', t.output
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "test_helper")
|
2
|
+
|
3
|
+
class ProjectGeneratorTest < Test::Unit::TestCase
|
4
|
+
include SproutTestCase
|
5
|
+
|
6
|
+
context "A new project generator" do
|
7
|
+
|
8
|
+
setup do
|
9
|
+
@temp = File.join(fixtures, 'generators', 'tmp')
|
10
|
+
FileUtils.mkdir_p @temp
|
11
|
+
@generator = AS3::ProjectGenerator.new
|
12
|
+
@generator.path = @temp
|
13
|
+
@generator.logger = StringIO.new
|
14
|
+
end
|
15
|
+
|
16
|
+
teardown do
|
17
|
+
remove_file @temp
|
18
|
+
end
|
19
|
+
|
20
|
+
should "generate a new application" do
|
21
|
+
@generator.input = 'SomeProject'
|
22
|
+
@generator.execute
|
23
|
+
project = File.join(@temp, 'SomeProject')
|
24
|
+
assert_directory project
|
25
|
+
assert_file File.join(project, 'Gemfile') do |content|
|
26
|
+
assert_matches /asunit4/, content
|
27
|
+
end
|
28
|
+
assert_file File.join(project, 'rakefile.rb') do |content|
|
29
|
+
assert_matches /bin\/SomeProject.swf\"/, content
|
30
|
+
assert_matches /src\/SomeProject.as/, content
|
31
|
+
end
|
32
|
+
assert_file File.join(project, 'src', 'SomeProject.as') do |content|
|
33
|
+
assert_matches /flash.display.Sprite;/, content
|
34
|
+
end
|
35
|
+
assert_directory File.join(project, 'lib')
|
36
|
+
assert_directory File.join(project, 'bin')
|
37
|
+
end
|
38
|
+
|
39
|
+
should "accept alternate bin dir" do
|
40
|
+
@generator.bin = 'other'
|
41
|
+
@generator.input = 'OtherProject'
|
42
|
+
@generator.execute
|
43
|
+
project = File.join(@temp, 'OtherProject')
|
44
|
+
assert_directory project
|
45
|
+
assert_directory File.join(project, 'other')
|
46
|
+
assert_file File.join(project, 'rakefile.rb') do |content|
|
47
|
+
assert_matches /other\/OtherProject.swf/, content
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "bundler"
|
3
|
+
|
4
|
+
Bundler.setup :default, :development
|
5
|
+
|
6
|
+
# These require statments *must* be in this order:
|
7
|
+
# http://bit.ly/bCC0Ew
|
8
|
+
# Somewhat surprised they're not being required by Bundler...
|
9
|
+
require 'shoulda'
|
10
|
+
require 'mocha'
|
11
|
+
require 'test/unit'
|
12
|
+
|
13
|
+
require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'as3')
|
14
|
+
$:.unshift File.dirname(__FILE__)
|
15
|
+
|
16
|
+
require 'sprout/test/sprout_test_case'
|
metadata
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: as3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: true
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- pre
|
10
|
+
version: 1.0.0.pre
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Luke Bayes
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-06-19 00:00:00 -07:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: sprout
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 0
|
30
|
+
- 0
|
31
|
+
- pre
|
32
|
+
version: 1.0.0.pre
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: flex3sdk
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 3
|
44
|
+
- 5
|
45
|
+
- 0
|
46
|
+
- pre
|
47
|
+
version: 3.5.0.pre
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: shoulda
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
60
|
+
type: :development
|
61
|
+
prerelease: false
|
62
|
+
version_requirements: *id003
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: mocha
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
segments:
|
70
|
+
- 0
|
71
|
+
version: "0"
|
72
|
+
type: :development
|
73
|
+
prerelease: false
|
74
|
+
version_requirements: *id004
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rcov
|
77
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
segments:
|
82
|
+
- 0
|
83
|
+
version: "0"
|
84
|
+
type: :development
|
85
|
+
prerelease: false
|
86
|
+
version_requirements: *id005
|
87
|
+
description: This is the project generator for ActionScript 3.0 projects
|
88
|
+
email: lbayes@patternpark.com
|
89
|
+
executables:
|
90
|
+
- sprout-as3
|
91
|
+
extensions: []
|
92
|
+
|
93
|
+
extra_rdoc_files: []
|
94
|
+
|
95
|
+
files:
|
96
|
+
- as3.gemspec
|
97
|
+
- bin/sprout-as3
|
98
|
+
- Gemfile
|
99
|
+
- lib/as3/generators/class_generator.rb
|
100
|
+
- lib/as3/generators/project_generator.rb
|
101
|
+
- lib/as3/generators/templates/ActionScript3Class.as
|
102
|
+
- lib/as3/generators/templates/ActionScript3MainClass.as
|
103
|
+
- lib/as3/generators/templates/DefaultProjectImage.png
|
104
|
+
- lib/as3/generators/templates/Gemfile
|
105
|
+
- lib/as3/generators/templates/rakefile.rb
|
106
|
+
- lib/as3/tasks/mxmlc.rb
|
107
|
+
- lib/as3.rb
|
108
|
+
- rakefile.rb
|
109
|
+
- README.rdoc
|
110
|
+
- script/console
|
111
|
+
- script/destroy
|
112
|
+
- script/generate
|
113
|
+
- test/fixtures/mxmlc/simple/SomeFile.as
|
114
|
+
- test/unit/class_generator_test.rb
|
115
|
+
- test/unit/mxmlc_test.rb
|
116
|
+
- test/unit/project_generator_test.rb
|
117
|
+
- test/unit/test_helper.rb
|
118
|
+
has_rdoc: true
|
119
|
+
homepage: http://projectsprouts.org
|
120
|
+
licenses: []
|
121
|
+
|
122
|
+
post_install_message:
|
123
|
+
rdoc_options: []
|
124
|
+
|
125
|
+
require_paths:
|
126
|
+
- lib
|
127
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
segments:
|
132
|
+
- 0
|
133
|
+
version: "0"
|
134
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
segments:
|
139
|
+
- 1
|
140
|
+
- 3
|
141
|
+
- 1
|
142
|
+
version: 1.3.1
|
143
|
+
requirements: []
|
144
|
+
|
145
|
+
rubyforge_project: sprout
|
146
|
+
rubygems_version: 1.3.6
|
147
|
+
signing_key:
|
148
|
+
specification_version: 3
|
149
|
+
summary: Project Generator for an ActionScript 3.0 project
|
150
|
+
test_files: []
|
151
|
+
|