gator-as3 0.0.7.pre → 0.0.9.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.
Files changed (69) hide show
  1. data/Gemfile +3 -2
  2. data/Rakefile +7 -4
  3. data/VERSION +1 -1
  4. data/gator-as3.gemspec +73 -28
  5. data/lib/gator/as3.rb +3 -0
  6. data/lib/gator/as3/as3_configuration.rb +38 -0
  7. data/lib/gator/as3/generators/{collection.rb → as3/collection.rb} +5 -1
  8. data/lib/gator/as3/generators/as3/event.rb +14 -0
  9. data/lib/gator/as3/generators/as3/generator.rb +95 -0
  10. data/lib/gator/as3/generators/as3/interface.rb +14 -0
  11. data/lib/gator/as3/generators/as3/klass.rb +15 -0
  12. data/lib/gator/as3/generators/as3/test/asunit3.rb +3 -0
  13. data/lib/gator/as3/generators/as3/test/asunit3/collection.rb +21 -0
  14. data/lib/gator/as3/generators/as3/test/asunit3/klass.rb +32 -0
  15. data/lib/gator/as3/generators/as3/test/asunit3/runner.rb +28 -0
  16. data/lib/gator/as3/generators/as3/test/asunit3/suite.rb +38 -0
  17. data/lib/gator/as3/generators/{test → as3/test}/asunit4.rb +0 -0
  18. data/lib/gator/as3/generators/{test → as3/test}/asunit4/collection.rb +5 -1
  19. data/lib/gator/as3/generators/as3/test/asunit4/klass.rb +31 -0
  20. data/lib/gator/as3/generators/as3/test/asunit4/runner.rb +29 -0
  21. data/lib/gator/as3/generators/as3/test/asunit4/suite.rb +39 -0
  22. data/lib/gator/as3/generators/{test → as3/test}/flexunit4.rb +0 -0
  23. data/lib/gator/as3/generators/{test → as3/test}/flexunit4/collection.rb +1 -1
  24. data/lib/gator/as3/generators/as3/test/flexunit4/klass.rb +34 -0
  25. data/lib/gator/as3/generators/mxml/application.rb +16 -0
  26. data/lib/gator/as3/generators/mxml/collection.rb +20 -0
  27. data/lib/gator/as3/generators/mxml/component.rb +16 -0
  28. data/lib/gator/as3/generators/mxml/generator.rb +20 -0
  29. data/lib/gator/as3/generators/mxml/skin.rb +21 -0
  30. data/lib/gator/as3/templates/as3/event.as.tt +12 -0
  31. data/lib/gator/as3/templates/as3/interface.as.tt +6 -0
  32. data/lib/gator/as3/{generators → templates/as3}/klass.as.tt +0 -0
  33. data/lib/gator/as3/templates/as3/test/asunit3/klass.as.tt +37 -0
  34. data/lib/gator/as3/templates/as3/test/asunit3/runner.as.tt +13 -0
  35. data/lib/gator/as3/templates/as3/test/asunit3/suite.as.tt +17 -0
  36. data/lib/gator/as3/{generators → templates/as3}/test/asunit4/klass.as.tt +0 -0
  37. data/lib/gator/as3/templates/as3/test/asunit4/runner.as.tt +17 -0
  38. data/lib/gator/as3/templates/as3/test/asunit4/suite.as.tt +14 -0
  39. data/lib/gator/as3/{generators → templates/as3}/test/flexunit4/klass.as.tt +0 -0
  40. data/lib/gator/as3/templates/mxml/application.mxml.tt +30 -0
  41. data/lib/gator/as3/templates/mxml/component.mxml.tt +13 -0
  42. data/lib/gator/as3/templates/mxml/skin.mxml.tt +53 -0
  43. data/lib/gator/mxml/generators.rb +5 -0
  44. data/lib/gator/utils/as3_util.rb +45 -0
  45. data/rake/jeweler.rb +17 -0
  46. data/rake/jeweler_prerelease_tasks.rb +50 -0
  47. data/rake/pre_release_gemspec.rb +80 -0
  48. data/rake/pre_release_to_git.rb +59 -0
  49. data/spec/as3/generators/collection_spec.rb +46 -0
  50. data/spec/as3/generators/event_spec.rb +40 -0
  51. data/spec/as3/generators/interface_spec.rb +40 -0
  52. data/spec/as3/generators/klass_spec.rb +40 -0
  53. data/spec/as3/generators/test/asunit3/klass_spec.rb +43 -0
  54. data/spec/as3/generators/test/asunit3/runner_spec.rb +43 -0
  55. data/spec/as3/generators/test/asunit3/suite_spec.rb +43 -0
  56. data/spec/as3/generators/test/asunit4/klass_spec.rb +43 -0
  57. data/spec/as3/generators/test/asunit4/runner_spec.rb +43 -0
  58. data/spec/as3/generators/test/asunit4/suite_spec.rb +43 -0
  59. data/spec/mxml/generators/application_spec.rb +42 -0
  60. data/spec/mxml/generators/component_spec.rb +42 -0
  61. data/spec/mxml/generators/skin_spec.rb +42 -0
  62. data/spec/spec_helper.rb +36 -3
  63. metadata +86 -35
  64. data/lib/gator/as3/generators.rb +0 -3
  65. data/lib/gator/as3/generators/klass.rb +0 -53
  66. data/lib/gator/as3/generators/test/asunit4/klass.rb +0 -61
  67. data/lib/gator/as3/generators/test/flexunit4/klass.rb +0 -57
  68. data/spec/generators/collection_spec.rb +0 -11
  69. data/spec/generators/klass_spec.rb +0 -5
@@ -0,0 +1,28 @@
1
+ class Gator
2
+ module AS3
3
+ module ASUnit3
4
+
5
+ class RunnerGenerator < Gator::AS3::AS3Generator
6
+
7
+
8
+ define :command => "runner",
9
+ :usage => "generate as3 asunit3 test runner CLASS_NAME", :description => "Creates ASUnit3 runner."
10
+
11
+ def source
12
+ project.path(:source, :test, :as3)
13
+ end
14
+
15
+ def template_file
16
+ "as3/test/asunit3/runner.as.tt"
17
+ end
18
+
19
+ def generate
20
+ @package_name = ""
21
+ @class_name = "ASUnit3Runner"
22
+ super
23
+ end
24
+
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,38 @@
1
+ class Gator
2
+ module AS3
3
+ module ASUnit3
4
+
5
+ class SuiteGenerator < Gator::AS3::AS3Generator
6
+
7
+
8
+ define :command => "suite",
9
+ :usage => "generate as3 asunit3 test suite CLASS_NAME", :description => "Creates ASUnit3 suite."
10
+
11
+ def source
12
+ project.path(:source, :test, :as3)
13
+ end
14
+
15
+ def template_file
16
+ "as3/test/asunit3/suite.as.tt"
17
+ end
18
+
19
+ def generate
20
+ @package_name = ""
21
+ @class_name = "AllTests"
22
+ super
23
+ end
24
+
25
+ no_tasks {
26
+
27
+ def all_tests
28
+ @all_test ||= AS3Util.find_test_files(source, "").collect do |file|
29
+ AS3Util.file_to_package_and_class(file, source)
30
+ end
31
+ end
32
+
33
+ }
34
+
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,6 +1,8 @@
1
1
  require File.dirname(__FILE__) + '/klass'
2
+ require File.dirname(__FILE__) + '/suite'
3
+ require File.dirname(__FILE__) + '/runner'
2
4
 
3
- module Gator
5
+ class Gator
4
6
  module AS3
5
7
  module ASUnit4
6
8
 
@@ -10,6 +12,8 @@ module Gator
10
12
  :usage => "generate as3 test GENERATOR", :description => "TestGenerators for ASUnit4"
11
13
 
12
14
  register_subcommand ClassTestGenerator
15
+ register_subcommand SuiteGenerator
16
+ register_subcommand RunnerGenerator
13
17
 
14
18
  end
15
19
  end
@@ -0,0 +1,31 @@
1
+ class Gator
2
+ module AS3
3
+ module ASUnit4
4
+
5
+ class ClassTestGenerator < Gator::AS3::TestGenerator
6
+
7
+ define :command => "klass",
8
+ :usage => "generate as3 test klass CLASS_NAME", :description => "Creates ASUnit4 class test."
9
+
10
+ def template_file
11
+ "as3/test/asunit4/klass.as.tt"
12
+ end
13
+
14
+ def generate
15
+ @class_name = "#{@class_name}Test"
16
+ super
17
+ end
18
+
19
+ no_tasks {
20
+
21
+ def instance_name
22
+ @class_name.chomp("Test")
23
+ end
24
+
25
+ }
26
+
27
+ end
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,29 @@
1
+ class Gator
2
+ module AS3
3
+ module ASUnit4
4
+
5
+ class RunnerGenerator < Gator::AS3::AS3Generator
6
+
7
+ define :command => "runner",
8
+ :usage => "generate as3 test runner CLASS_NAME", :description => "Creates ASUnit4 runner."
9
+
10
+ class_option :force, :default => true
11
+
12
+ def source
13
+ Gator::Sandbox.gator.project.path(:source, :test, :as3)
14
+ end
15
+
16
+ def template_file
17
+ "as3/test/asunit4/runner.as.tt"
18
+ end
19
+
20
+ def generate
21
+ @package_name = ""
22
+ @class_name = "ASUnit4Runner"
23
+ super
24
+ end
25
+
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,39 @@
1
+ class Gator
2
+ module AS3
3
+ module ASUnit4
4
+
5
+ class SuiteGenerator < Gator::AS3::AS3Generator
6
+
7
+ define :command => "suite",
8
+ :usage => "generate as3 asunit4 test suite CLASS_NAME", :description => "Creates ASUnit4 suite."
9
+
10
+ class_option :force, :default => true
11
+
12
+ def source
13
+ Gator::Sandbox.gator.project.path(:source, :test, :as3)
14
+ end
15
+
16
+ def template_file
17
+ "as3/test/asunit4/suite.as.tt"
18
+ end
19
+
20
+ def generate
21
+ @package_name = ""
22
+ @class_name = "AllTests"
23
+ super
24
+ end
25
+
26
+ no_tasks {
27
+
28
+ def all_tests
29
+ @all_test ||= AS3Util.find_test_files(source, "").collect do |file|
30
+ AS3Util.file_to_package_and_class(file, source)
31
+ end
32
+ end
33
+
34
+ }
35
+
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,6 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/klass'
2
2
 
3
- module Gator
3
+ class Gator
4
4
  module AS3
5
5
  module FlexUnit4
6
6
 
@@ -0,0 +1,34 @@
1
+ class Gator
2
+ module AS3
3
+ module FlexUnit4
4
+
5
+ class ClassTestGenerator < Gator::AS3::AS3TestFileGenerator
6
+
7
+
8
+ define :command => "klass",
9
+ :usage => "generate as3 test klass CLASS_NAME", :description => "Creates FlexUnit4 class test."
10
+
11
+ def self.source_root
12
+ File.dirname __FILE__
13
+ end
14
+
15
+ def generate
16
+ src = project.path(:source, :test, :as3)
17
+ class_name = "#{class_name()}Test"
18
+ src = File.join(src, package_name.split(".").join(File::SEPARATOR)) unless package_name == ""
19
+ template "klass.as.tt", File.join(src, "#{class_name}.as")
20
+ end
21
+
22
+ no_tasks {
23
+
24
+ def instance_name
25
+ class_name.chomp("Test")
26
+ end
27
+
28
+ }
29
+
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,16 @@
1
+ class Gator
2
+ module MXML
3
+ class ApplicationGenerator < Gator::AS3::KlassGenerator
4
+ include WithMXMLTemplates
5
+ include ActAsMXMLKlassGenerator
6
+
7
+ define :command => "application", :short => "app",
8
+ :usage => "generate mxml application CLASS_NAME", :description => "Creates mxml application."
9
+
10
+ def template_file
11
+ "mxml/application.mxml.tt"
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ require File.dirname(__FILE__) + '/component'
2
+ require File.dirname(__FILE__) + '/application'
3
+ require File.dirname(__FILE__) + '/skin'
4
+
5
+ class Gator
6
+ module MXML
7
+
8
+ class GeneratorCollection < Gator::Command
9
+
10
+ define :command => "mxml",
11
+ :usage => "generate mxml GENERATOR", :description => "Generators for MXML."
12
+
13
+ register_subcommand Gator::MXML::ComponentGenerator
14
+ register_subcommand Gator::MXML::ApplicationGenerator
15
+ register_subcommand Gator::MXML::SkinGenerator
16
+
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ class Gator
2
+ module MXML
3
+ class ComponentGenerator < Gator::AS3::KlassGenerator
4
+ include WithMXMLTemplates
5
+ include ActAsMXMLKlassGenerator
6
+
7
+ define :command => "component", :short => "comp",
8
+ :usage => "generate mxml component CLASS_NAME", :description => "Creates mxml component based on group."
9
+
10
+ def template_file
11
+ "mxml/component.mxml.tt"
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ class Gator
2
+ module MXML
3
+ module WithMXMLTemplates
4
+ def self.included(base)
5
+ base.extend(ClassMethods)
6
+ end
7
+
8
+ module ClassMethods
9
+ def template_root
10
+ File.dirname(__FILE__) + "/../templates"
11
+ end
12
+ end
13
+ end
14
+ module ActAsMXMLKlassGenerator
15
+ def target
16
+ File.join(source, Gator::AS3::AS3Util.package_to_dir(@package_name), "#{@class_name}.mxml")
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ class Gator
2
+ module MXML
3
+ class SkinGenerator < Gator::AS3::KlassGenerator
4
+ include WithMXMLTemplates
5
+ include ActAsMXMLKlassGenerator
6
+
7
+ define :command => "skin",
8
+ :usage => "generate spark skin CLASS_NAME", :description => "Creates spark skin."
9
+
10
+ def template_file
11
+ "mxml/skin.mxml.tt"
12
+ end
13
+
14
+ def generate
15
+ @class_name = "#{@class_name}Skin"
16
+ super
17
+ end
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,12 @@
1
+ package <%= package_name %>
2
+ {
3
+ import flash.events.Event;
4
+
5
+ public class <%= class_name %> extends Event
6
+ {
7
+ public function <%= class_name %>(type:String,bubbles:Boolean=false,cancelable:Boolean=false)
8
+ {
9
+ super(type, bubbles, cancelable)
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,6 @@
1
+ package <%= package_name %>
2
+ {
3
+ public interface <%= class_name %>
4
+ {
5
+ }
6
+ }
@@ -0,0 +1,37 @@
1
+ package <%= package_name %> {
2
+
3
+ import asunit.framework.TestCase;
4
+
5
+ public class <%= class_name %> extends TestCase
6
+ {
7
+ private var instance:<%= instance_name %>;
8
+
9
+ public function <%= class_name %>(methodName:String=null)
10
+ {
11
+ super(methodName)
12
+ }
13
+
14
+ override protected function setUp():void
15
+ {
16
+ super.setUp();
17
+ instance = new <%= instance_name %>();
18
+ }
19
+
20
+ override protected function tearDown():void
21
+ {
22
+ super.tearDown();
23
+ instance = null;
24
+ }
25
+
26
+ public function testInstantiated():void
27
+ {
28
+ assertTrue("instance is <%= instance_name %>",instance is <%= instance_name %>);
29
+ }
30
+
31
+ public function testFailure():void
32
+ {
33
+ assertTrue("Failing test", false);
34
+ }
35
+
36
+ }
37
+ }
@@ -0,0 +1,13 @@
1
+ package
2
+ {
3
+ import asunit.textui.TestRunner;
4
+
5
+ public class <%= class_name %> extends TestRunner
6
+ {
7
+ public function <%= class_name %>()
8
+ {
9
+ start(AllTests, null, TestRunner.SHOW_TRACE);
10
+ }
11
+ }
12
+ }
13
+
@@ -0,0 +1,17 @@
1
+ package
2
+ {
3
+ <% all_tests.each do |test| %>
4
+ <%= "import #{test[:package_name]}.#{test[:class_name]}" %>
5
+ <% end %>
6
+ import asunit.framework.TestSuite;
7
+
8
+ public class AllTests
9
+ {
10
+ public function AllTests()
11
+ {
12
+ <% all_tests.each do |test| %>
13
+ <%= "addTest( new #{test[:package_name]}.#{test[:class_name]}());" %>
14
+ <% end %>
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ package
2
+ {
3
+ import asunit.core.TextCore;
4
+ import flash.display.MovieClip;
5
+
6
+ public class <%= class_name %> extends MovieClip
7
+ {
8
+ protected var core:TextCore;
9
+
10
+ public function <%= class_name %>()
11
+ {
12
+ core = new TextCore();
13
+ core.start(AllTests, null, this);
14
+ }
15
+ }
16
+ }
17
+