gator-as3-robotlegs 0.0.2.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. data/.document +5 -0
  2. data/.rakeTasks +7 -0
  3. data/Gemfile +20 -0
  4. data/Gemfile.lock +41 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.rdoc +26 -0
  7. data/Rakefile +55 -0
  8. data/VERSION +1 -0
  9. data/lib/gator/as3/robotlegs/generators.rb +3 -0
  10. data/lib/gator/as3/robotlegs/generators/collection.rb +29 -0
  11. data/lib/gator/as3/robotlegs/generators/command.as.tt +12 -0
  12. data/lib/gator/as3/robotlegs/generators/command.rb +57 -0
  13. data/lib/gator/as3/robotlegs/generators/context.as.tt +35 -0
  14. data/lib/gator/as3/robotlegs/generators/context.rb +57 -0
  15. data/lib/gator/as3/robotlegs/generators/mediator.as.tt +23 -0
  16. data/lib/gator/as3/robotlegs/generators/mediator.rb +68 -0
  17. data/lib/gator/as3/robotlegs/generators/model.as.tt +12 -0
  18. data/lib/gator/as3/robotlegs/generators/model.rb +57 -0
  19. data/lib/gator/as3/robotlegs/generators/service.as.tt +12 -0
  20. data/lib/gator/as3/robotlegs/generators/service.rb +57 -0
  21. data/lib/gator/as3/robotlegs/generators/test/asunit4.rb +3 -0
  22. data/lib/gator/as3/robotlegs/generators/test/asunit4/collection.rb +25 -0
  23. data/lib/gator/as3/robotlegs/generators/test/asunit4/command.as.tt +35 -0
  24. data/lib/gator/as3/robotlegs/generators/test/asunit4/command.rb +63 -0
  25. data/lib/gator/as3/robotlegs/generators/test/asunit4/mediator.as.tt +46 -0
  26. data/lib/gator/as3/robotlegs/generators/test/asunit4/mediator.rb +74 -0
  27. data/lib/gator/as3/robotlegs/generators/test/asunit4/runner.as.tt +21 -0
  28. data/lib/gator/as3/robotlegs/generators/test/asunit4/suite.as.tt +8 -0
  29. data/lib/gator/as3/robotlegs/generators/test/asunit4/suite.rb +43 -0
  30. data/lib/gator/as3/robotlegs/generators/test/asunit4/view.as.tt +41 -0
  31. data/lib/gator/as3/robotlegs/generators/test/asunit4/view.rb +64 -0
  32. data/lib/gator/as3/robotlegs/generators/view.as.tt +17 -0
  33. data/lib/gator/as3/robotlegs/generators/view.rb +57 -0
  34. data/lib/gator/as3/robotlegs/generators/view_with_mediator.rb +24 -0
  35. data/spec/gator.rb +10 -0
  36. data/spec/generators/collection_spec.rb +11 -0
  37. data/spec/generators/command_spec.rb +12 -0
  38. data/spec/sandbox/gator.rb +10 -0
  39. data/spec/spec_helper.rb +81 -0
  40. metadata +208 -0
@@ -0,0 +1,12 @@
1
+ package <%= package_name %>
2
+ {
3
+ import org.robotlegs.mvcs.Actor;
4
+
5
+ public class <%= class_name %> extends Actor
6
+ {
7
+ public function <%= class_name %>()
8
+ {
9
+ super();
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,57 @@
1
+ module Gator
2
+ module AS3
3
+ module RobotLegs
4
+
5
+ class ModelGenerator < Task
6
+ include Gator::Project
7
+
8
+ define :command => "model",
9
+ :usage => "generate as3 rl model CLASS_NAME", :description => "Creates RobotLegs Model class."
10
+
11
+ argument :classname
12
+
13
+ class_option :test, :default => false
14
+
15
+ def self.source_root
16
+ File.dirname __FILE__
17
+ end
18
+
19
+ def generate
20
+ src = project.path(:source, :main, :as3)
21
+ @package_name, @class_name = split_class_name(classname)
22
+ @class_name += "Model"
23
+ src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
24
+ template "model.as.tt", File.join(src, "#{@class_name}.as")
25
+ end
26
+
27
+ def generate_test
28
+ return unless options[:test]
29
+ invoke resolve_subcommand(["test", "model"],["test","klass"])
30
+ end
31
+
32
+ no_tasks {
33
+
34
+ def package_name
35
+ @package_name
36
+ end
37
+
38
+ def class_name
39
+ @class_name
40
+ end
41
+
42
+ }
43
+
44
+ protected
45
+
46
+ def split_class_name(class_name)
47
+ pieces = class_name.split "."
48
+ class_name = pieces.pop
49
+ package_name = pieces.join "."
50
+ return package_name, class_name
51
+ end
52
+
53
+ end
54
+
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,12 @@
1
+ package <%= package_name %>
2
+ {
3
+ import org.robotlegs.mvcs.Actor;
4
+
5
+ public class <%= class_name %> extends Actor
6
+ {
7
+ public function <%= class_name %>()
8
+ {
9
+ super();
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,57 @@
1
+ module Gator
2
+ module AS3
3
+ module RobotLegs
4
+
5
+ class ServiceGenerator < Task
6
+ include Gator::Project
7
+
8
+ define :command => "service",
9
+ :usage => "generate as3 rl service CLASS_NAME", :description => "Creates RobotLegs Service class."
10
+
11
+ argument :classname
12
+
13
+ class_option :test, :default => false
14
+
15
+ def self.source_root
16
+ File.dirname __FILE__
17
+ end
18
+
19
+ def generate
20
+ src = project.path(:source, :main, :as3)
21
+ @package_name, @class_name = split_class_name(classname)
22
+ @class_name += "Service"
23
+ src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
24
+ template "service.as.tt", File.join(src, "#{@class_name}.as")
25
+ end
26
+
27
+ def generate_test
28
+ return unless options[:test]
29
+ invoke resolve_subcommand(["test", "service"],["test","klass"])
30
+ end
31
+
32
+ no_tasks {
33
+
34
+ def package_name
35
+ @package_name
36
+ end
37
+
38
+ def class_name
39
+ @class_name
40
+ end
41
+
42
+ }
43
+
44
+ protected
45
+
46
+ def split_class_name(class_name)
47
+ pieces = class_name.split "."
48
+ class_name = pieces.pop
49
+ package_name = pieces.join "."
50
+ return package_name, class_name
51
+ end
52
+
53
+ end
54
+
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,3 @@
1
+ require File.dirname(__FILE__) + '/asunit4/collection'
2
+
3
+ Gator::AS3::RobotLegs::GeneratorCollection.register_subcommand Gator::AS3::RobotLegs::ASUnit4::TestGeneratorCollection
@@ -0,0 +1,25 @@
1
+ require File.dirname(__FILE__) + '/command'
2
+ require File.dirname(__FILE__) + '/mediator'
3
+ require File.dirname(__FILE__) + '/view'
4
+ require File.dirname(__FILE__) + '/suite'
5
+
6
+ module Gator
7
+ module AS3
8
+ module RobotLegs
9
+ module ASUnit4
10
+
11
+ class TestGeneratorCollection < Gator::Command
12
+
13
+ define :command => "test",
14
+ :usage => "generate as3 robotlegs test GENERATOR", :description => "TestGenerators for robotlegs with ASUnit4"
15
+
16
+ register_subcommand CommandTestGenerator
17
+ register_subcommand MediatorTestGenerator
18
+ register_subcommand ViewTestGenerator
19
+ register_subcommand SuiteGenerator
20
+
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,35 @@
1
+ package <%= package_name %>
2
+ {
3
+ import asunit.asserts.*;
4
+
5
+ public class <%= class_name %>
6
+ {
7
+ private var instance:<%= instance_name %>;
8
+
9
+ [Before]
10
+ public function setUp():void
11
+ {
12
+ instance=new <%= instance_name %>();
13
+ instance.eventDispatcher=new EventDispatcher();
14
+ }
15
+
16
+ [After]
17
+ public function tearDown():void
18
+ {
19
+ instance=null;
20
+ }
21
+
22
+ [Test]
23
+ public function should_be_instantiated():void
24
+ {
25
+ assertTrue(instance is <%= instance_name %>);
26
+ }
27
+
28
+ [Test]
29
+ public function should_fail():void
30
+ {
31
+ assertTrue(false);
32
+ }
33
+
34
+ }
35
+ }
@@ -0,0 +1,63 @@
1
+ module Gator
2
+ module AS3
3
+ module RobotLegs
4
+ module ASUnit4
5
+
6
+ class CommandTestGenerator < Task
7
+ include Gator::Project
8
+
9
+ define :command => "command",
10
+ :usage => "generate as3 robotlegs test command CLASS_NAME", :description => "Creates ASUnit4 command test."
11
+
12
+ argument :classname
13
+
14
+ class_option :impl, :default => false
15
+
16
+ def self.source_root
17
+ File.dirname __FILE__
18
+ end
19
+
20
+ def generate
21
+ src = project.path(:source, :test, :as3)
22
+ @package_name, @class_name = split_class_name(classname)
23
+ @class_name += "CommandTest"
24
+ src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
25
+ template "command.as.tt", File.join(src, "#{@class_name}.as")
26
+ end
27
+
28
+ def generate_implementation
29
+ invoke resolve_subcommand(["test","suite"],["as3","klass"]), [classname]
30
+ return unless options[:impl]
31
+ invoke resolve_subcommand(["robotlegs","command"],["as3","klass"])
32
+ end
33
+
34
+ no_tasks {
35
+
36
+ def package_name
37
+ @package_name
38
+ end
39
+
40
+ def class_name
41
+ @class_name
42
+ end
43
+
44
+ def instance_name
45
+ @class_name.chomp("Test")
46
+ end
47
+
48
+ }
49
+
50
+ protected
51
+
52
+ def split_class_name(class_name)
53
+ pieces = class_name.split "."
54
+ class_name = pieces.pop
55
+ package_name = pieces.join "."
56
+ return package_name, class_name
57
+ end
58
+
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,46 @@
1
+ package <%= package_name %>
2
+ {
3
+ import asunit.asserts.*;
4
+
5
+ import <%= view_package_name %>.<%= view_class_name %>;
6
+
7
+ public class <%= class_name %>
8
+ {
9
+ private var instance:<%= instance_name %>;
10
+
11
+ [Before]
12
+ public function setUp():void
13
+ {
14
+ instance=new <%= instance_name %>();
15
+ instance.view=new <%= view_class_name %>();
16
+ instance.setViewComponent(instance.view);
17
+ instance.eventDispatcher=new EventDispatcher();
18
+ instance.onRegister();
19
+ }
20
+
21
+ [After]
22
+ public function tearDown():void
23
+ {
24
+ instance.onRemove();
25
+ instance=null;
26
+ }
27
+
28
+ [Test]
29
+ public function should_be_instantiated():void
30
+ {
31
+ assertTrue(instance is <%= instance_name %>);
32
+ }
33
+
34
+ [Test]
35
+ public function view_should_be_instantiated():void
36
+ {
37
+ assertTrue(instance.view is <%= view_class_name %>);
38
+ }
39
+
40
+ [Test]
41
+ public function should_fail():void
42
+ {
43
+ assertTrue(false);
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,74 @@
1
+ module Gator
2
+ module AS3
3
+ module RobotLegs
4
+ module ASUnit4
5
+
6
+ class MediatorTestGenerator < Task
7
+ include Gator::Project
8
+
9
+ define :command => "mediator",
10
+ :usage => "generate as3 robotlegs test mediator CLASS_NAME", :description => "Creates ASUnit4 mediator test."
11
+
12
+ argument :classname
13
+
14
+ class_option :impl, :default => false
15
+
16
+ def self.source_root
17
+ File.dirname __FILE__
18
+ end
19
+
20
+ def generate
21
+ src = project.path(:source, :test, :as3)
22
+ @package_name, @class_name = split_class_name(classname)
23
+ @view_package_name = @package_name.dup << ".components"
24
+ @view_class_name = @class_name.dup
25
+ @class_name += "MediatorTest"
26
+ @package_name += ".mediators"
27
+ src = File.join(src, @package_name.split(".").join(File::SEPARATOR)) unless @package_name == ""
28
+ template "mediator.as.tt", File.join(src, "#{@class_name}.as")
29
+ end
30
+
31
+ def generate_implementation
32
+ invoke resolve_subcommand(["test","suite"],["as3","klass"]), [classname]
33
+ return unless options[:impl]
34
+ invoke resolve_subcommand(["robotlegs","mediator"],["as3","klass"])
35
+ end
36
+
37
+ no_tasks {
38
+
39
+ def package_name
40
+ @package_name
41
+ end
42
+
43
+ def class_name
44
+ @class_name
45
+ end
46
+
47
+ def instance_name
48
+ @class_name.chomp("Test")
49
+ end
50
+
51
+ def view_package_name
52
+ @view_package_name
53
+ end
54
+
55
+ def view_class_name
56
+ @view_class_name
57
+ end
58
+
59
+ }
60
+
61
+ protected
62
+
63
+ def split_class_name(class_name)
64
+ pieces = class_name.split "."
65
+ class_name = pieces.pop
66
+ package_name = pieces.join "."
67
+ return package_name, class_name
68
+ end
69
+
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,21 @@
1
+ package
2
+ {
3
+ import asunit.core.TextCore;
4
+ import flash.display.MovieClip;
5
+
6
+ public class <%= test_runner_name %> extends MovieClip
7
+ {
8
+ protected var core:TextCore;
9
+
10
+ public function <%= test_runner_name %>()
11
+ {
12
+ core = new TextCore();
13
+ // You can run a single Test Case with:
14
+ // core.start(SomeTest, null, this);
15
+ // Or a single test method with:
16
+ // core.start(SomeTest, 'testMethod', this);
17
+ core.start(AllTests, null, this);
18
+ }
19
+ }
20
+ }
21
+
@@ -0,0 +1,8 @@
1
+ package
2
+ {
3
+ [Suite]
4
+ public class AllTests
5
+ {
6
+ //
7
+ }
8
+ }
@@ -0,0 +1,43 @@
1
+ module Gator
2
+ module AS3
3
+ module RobotLegs
4
+ module ASUnit4
5
+
6
+ class SuiteGenerator < Task
7
+ include Gator::Project
8
+
9
+ define :command => "suite",
10
+ :usage => "generate as3 asunit4 test suite CLASS_NAME", :description => "Creates ASUnit4 suite."
11
+
12
+ argument :classname
13
+
14
+ def self.source_root
15
+ File.dirname __FILE__
16
+ end
17
+
18
+ def generate
19
+ src = project.path(:source, :test, :as3)
20
+ @package_name = src.dup
21
+ @class_name = "AllTests"
22
+ template "suite.as.tt", File.join(src, "#{@class_name}.as")
23
+ end
24
+
25
+ no_tasks {
26
+
27
+ def package_name
28
+ @package_name
29
+ end
30
+
31
+ def class_name
32
+ @class_name
33
+ end
34
+
35
+ }
36
+
37
+ protected
38
+
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end