<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>ActionPack/src/actionpack/TestRunner.hx</filename>
    </added>
    <added>
      <filename>ActionPack/test/AllTests.hx</filename>
    </added>
    <added>
      <filename>ActionPack/vendor/generators/suite/suite_generator.rb</filename>
    </added>
    <added>
      <filename>ActionPack/vendor/generators/suite/templates/TestSuite.hx</filename>
    </added>
    <added>
      <filename>ActionPack/vendor/generators/test/templates/TestCase.hx</filename>
    </added>
    <added>
      <filename>ActionPack/vendor/generators/test/templates/TestSuite.hx</filename>
    </added>
    <added>
      <filename>ActionPack/vendor/generators/test/test_generator.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -71,7 +71,7 @@ class AbstractEnvironment implements IEnvironment {
         return response;
     }
 
-    public function render(?options:Dynamic):Bool {
+    public function render(?options:Dynamic):Dynamic {
         if(rendered &amp;&amp; (options == null || options.partial == null)) {
             throw new ActionPackError('render can only be called once during a request/response cycle');
         }
@@ -95,7 +95,7 @@ class AbstractEnvironment implements IEnvironment {
 
         trace(&quot;&gt;&gt; currentLayout: &quot; + currentLayout);
         trace(&quot;&gt;&gt; currentView: &quot; + currentView);
-        return rendered = true;
+        return currentLayout;
     }
     
     // Subclasses can add this layout to whatever
@@ -171,6 +171,8 @@ class AbstractEnvironment implements IEnvironment {
             Reflect.callMethod(controller, actionMethod, []);
         }
         catch(e:Dynamic) {
+            // TODO: Figure out how to identify built-in types that
+            // don't exist in Haxe lib.
             if(e.toString().indexOf('ReferenceError') &gt; -1) {
                 throw new ActionPackError('Unable to call action ' + action + ' on ' + controller);
             }</diff>
      <filename>ActionPack/src/actionpack/AbstractEnvironment.hx</filename>
    </modified>
    <modified>
      <diff>@@ -22,9 +22,9 @@ interface IEnvironment {
     var viewsPackage:String;
     
     /**
-     * Render a view using options hash.
+     * Render a view using options hash. Return the rendered view (or layout).
      **/
-    function render(?options:Dynamic):Bool;
+    function render(?options:Dynamic):Dynamic;
 
     /**
      * Create a get request using a string path.</diff>
      <filename>ActionPack/src/actionpack/IEnvironment.hx</filename>
    </modified>
    <modified>
      <diff>@@ -1,34 +1,22 @@
-import haxe.unit.TestRunner;
-import actionpack.AbstractEnvironmentTest;
-import actionpack.ActionControllerTest;
-import actionpack.ActionRoutesTest;
-import actionpack.ActionRouteTest;
-import actionpack.FlashEnvironmentTest;
-import actionpack.OptionsTest;
-import actionpack.StringHelperTest;
-import actionpack.TestCaseTest;
-import actionpack.WaybeamsTest;
+import haxe.PosInfos;
+import haxe.Log;
 
-class WaybeamsRunner {
+import fixtures.complete.app.views.layouts.ApplicationLayout;
+import fixtures.complete.app.views.products.Index;
+import fixtures.complete.config.environments.Production;
+import fixtures.complete.config.environments.Test;
+import fixtures.complete.config.environments.UnknownEnv;
+import fixtures.simple.FakeController;
+import fixtures.simple.FakeProductsController;
+import fixtures.simple.OtherFakeController;
+import fixtures.complete.config.Routes;
+import fixtures.complete.app.controllers.ProductsController;
+import fixtures.complete.app.models.Product;
 
-    /**
-     * This file has been automatically created using
-     * #!/usr/bin/ruby script/generate suite
-     * If you modify it and run this script, your
-     * modifications will be lost!
-     */
+class WaybeamsRunner {
 
     static function main() {
-        var r = new TestRunner();
-        r.add(new actionpack.AbstractEnvironmentTest());
-        r.add(new actionpack.ActionControllerTest());
-        r.add(new actionpack.ActionRoutesTest());
-        r.add(new actionpack.ActionRouteTest());
-        r.add(new actionpack.FlashEnvironmentTest());
-        r.add(new actionpack.OptionsTest());
-        r.add(new actionpack.StringHelperTest());
-        r.add(new actionpack.TestCaseTest());
-        r.add(new actionpack.WaybeamsTest());
-        r.run();
+        var suite = new AllTests();
+        suite.run();
     }
 }</diff>
      <filename>ActionPack/test/WaybeamsRunner.hx</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,6 @@ package actionpack;
 import actionpack.TestCase;
 
 import fixtures.complete.config.environments.Development;
-import fixtures.complete.app.views.layouts.ApplicationLayout;
-import fixtures.complete.app.views.products.Index;
 
 class AbstractEnvironmentTest extends TestCase {
 </diff>
      <filename>ActionPack/test/actionpack/AbstractEnvironmentTest.hx</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,7 @@
 package actionpack;
 
-import actionpack.TestCase;
 import fixtures.simple.FakeController;
 import fixtures.simple.OtherFakeController;
-import fixtures.simple.FakeProductsController;
 
 class ActionRouteTest extends TestCase {
     </diff>
      <filename>ActionPack/test/actionpack/ActionRouteTest.hx</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 package actionpack;
 
-import actionpack.TestCase;
 import actionpack.errors.RoutingError;
+
 import fixtures.simple.FakeController;
 import fixtures.simple.OtherFakeController;
 import fixtures.simple.FakeProductsController;</diff>
      <filename>ActionPack/test/actionpack/ActionRoutesTest.hx</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,7 @@
 package actionpack;
 
-import actionpack.TestCase;
 import actionpack.errors.ActionPackError;
 
-import fixtures.complete.config.environments.Test;
-import fixtures.complete.config.environments.Production;
-import fixtures.complete.config.environments.UnknownEnv;
-
 class WaybeamsTest extends TestCase {
     
     private var environmentsPackage:String;</diff>
      <filename>ActionPack/test/actionpack/WaybeamsTest.hx</filename>
    </modified>
    <modified>
      <diff>@@ -9,6 +9,5 @@ class ApplicationLayout extends FlashLayoutBase {
         graphics.beginFill(0xFF0000);
         graphics.drawRect(0, 0, 640, 480);
         graphics.endFill();
-        
     }
 }</diff>
      <filename>ActionPack/test/fixtures/complete/app/views/layouts/ApplicationLayout.hx</filename>
    </modified>
    <modified>
      <diff>@@ -4,4 +4,10 @@ import flash.display.Sprite;
 
 class Index extends Sprite {
     
+    public function new() {
+        super();
+        graphics.beginFill(0x00FF00);
+        graphics.drawRect(0, 0, 400, 200);
+        graphics.endFill();
+    }
 }</diff>
      <filename>ActionPack/test/fixtures/complete/app/views/products/Index.hx</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,5 @@
 package fixtures.complete.config;
 
-import fixtures.complete.config.Routes;
-import fixtures.complete.app.controllers.ProductsController;
-import fixtures.complete.app.models.Product;
-
 import actionpack.FlashEnvironment;
 
 class Environment extends FlashEnvironment {</diff>
      <filename>ActionPack/test/fixtures/complete/config/Environment.hx</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ class ClassGenerator &lt; Sprout::Generator::HaxeBase  # :nodoc:
       m.directory full_test_dir
       m.template 'TestCase.hx', full_test_case_path
       
-      m.template 'TestSuite.hx', File.join(test_dir, &quot;#{project_name}Runner.hx&quot;), :collision =&gt; :force
+      m.template 'TestSuite.hx', File.join(test_dir, &quot;AllTests.hx&quot;), :collision =&gt; :force
     end
   end
     </diff>
      <filename>ActionPack/vendor/generators/class/class_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 import haxe.unit.TestRunner;&lt;% test_case_classes.each do |test_case|  %&gt;
 import &lt;%= test_case %&gt;;&lt;% end  %&gt;
 
-class &lt;%= project_name %&gt;Runner {
+class AllTests extends TestRunner {
 
     /**
      * This file has been automatically created using
@@ -10,9 +10,9 @@ class &lt;%= project_name %&gt;Runner {
      * modifications will be lost!
      */
 
-    static function main() {
-        var r = new TestRunner();&lt;% test_case_classes.each do |test_case|  %&gt;
-        r.add(new &lt;%= test_case %&gt;());&lt;% end  %&gt;
-        r.run();
+    public function new() {
+        super();
+        &lt;% test_case_classes.each do |test_case|  %&gt;
+        add(new &lt;%= test_case %&gt;());&lt;% end  %&gt;
     }
 }</diff>
      <filename>ActionPack/vendor/generators/class/templates/TestSuite.hx</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4f3827bdaca09f00259579c985b2e2461549366a</id>
    </parent>
  </parents>
  <author>
    <name>Luke Bayes</name>
    <email>lbayes@patternpark.com</email>
  </author>
  <url>http://github.com/lukebayes/waybeams/commit/760973697eae8ea077a1e94e8333d2c12668340e</url>
  <id>760973697eae8ea077a1e94e8333d2c12668340e</id>
  <committed-date>2009-07-04T09:52:00-07:00</committed-date>
  <authored-date>2009-07-04T09:52:00-07:00</authored-date>
  <message>Added full set of generators
Extracted test suite from outer runner class
Added support for single test and single method execution</message>
  <tree>85edf4930ad4f957c07c2f9d5404e38ed9e432a7</tree>
  <committer>
    <name>Luke Bayes</name>
    <email>lbayes@patternpark.com</email>
  </committer>
</commit>
