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/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,11 @@
1
+ package {
2
+ import flash.display.Sprite;
3
+
4
+ public class SomeFile extends Sprite {
5
+
6
+ public function SomeFile() {
7
+ trace(">> SomeFile instantiated");
8
+ }
9
+ }
10
+ }
11
+
@@ -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
+