[limb-svn] r4163 - in 3.x/packages/wact/trunk: framework/template/compiler framework/template/compiler/compile_tree_node framework/template/compiler/parser framework/template/compiler/tags framework/template/tags/form tests/cases/template/compiler

svn at limb-project.com svn at limb-project.com
Mon Oct 16 11:21:57 MSD 2006


Author: serega
Date: 2006-10-16 11:21:57 +0400 (Mon, 16 Oct 2006)
New Revision: 4163

Added:
   3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/CompilerComponent.class.php
   3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/ComponentTree.class.php
   3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/OutputExpression.class.php
   3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/PHPNode.class.php
   3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/TextNode.class.php
Removed:
   3.x/packages/wact/trunk/framework/template/compiler/CompilerComponent.class.php
   3.x/packages/wact/trunk/framework/template/compiler/ComponentTree.class.php
   3.x/packages/wact/trunk/framework/template/compiler/OutputExpression.class.php
   3.x/packages/wact/trunk/framework/template/compiler/PHPNode.class.php
   3.x/packages/wact/trunk/framework/template/compiler/TextNode.class.php
Modified:
   3.x/packages/wact/trunk/framework/template/compiler/parser/SourceFileParser.class.php
   3.x/packages/wact/trunk/framework/template/compiler/parser/WactNodeBuilder.class.php
   3.x/packages/wact/trunk/framework/template/compiler/parser/WactTreeBuilder.class.php
   3.x/packages/wact/trunk/framework/template/compiler/tags/ServerComponentTag.class.php
   3.x/packages/wact/trunk/framework/template/compiler/templatecompiler.inc.php
   3.x/packages/wact/trunk/framework/template/tags/form/inputautocomplete.tag.php
   3.x/packages/wact/trunk/tests/cases/template/compiler/ComponentTreeTest.class.php
   3.x/packages/wact/trunk/tests/cases/template/compiler/PHPNodeTest.class.php
   3.x/packages/wact/trunk/tests/cases/template/compiler/TextNodeTest.class.php
   3.x/packages/wact/trunk/tests/cases/template/compiler/WactTreeBuilderTest.class.php
Log:
-- -- WACT package clean up and refactoring



Deleted: 3.x/packages/wact/trunk/framework/template/compiler/CompilerComponent.class.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/CompilerComponent.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/CompilerComponent.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,482 +0,0 @@
-<?php
-//--------------------------------------------------------------------------------
-// Copyright 2003 Procata, Inc.
-// Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
-//--------------------------------------------------------------------------------
-/**
-* @package WACT_TEMPLATE
-* @version $Id: CompilerComponent.class.php,v 1.60 2006/01/04 23:40:33 ian_w_white Exp $
-*/
-
-/**
-* Base class for compile time components. Compile time component methods are
-* called by the template parser SourceFileParser.<br />
-* Note this in the comments for this class, parent and child refer to the XML
-* heirarchy in the template, as opposed to the PHP class tree.
-* @see SourceFileParser
-* @see http://wact.sourceforge.net/index.php/CompilerComponent
-* @access public
-* @abstract
-* @package WACT_TEMPLATE
-*/
-class CompilerComponent {
-    /**
-    * XML attributes of the tag
-    * @var array
-    * @access private
-    */
-    var $attributeNodes = array();
-
-    /**
-    * Child compile-time components
-    * @var array of compile time component objects
-    * @access private
-    */
-    var $children = array();
-
-    /**
-    * A list of properties for this component
-    * @var array
-    * @access private
-    */
-    var $properties = array();
-
-    /**
-    * Parent compile-time component
-    * @var object subclass of CompilerComponent
-    * @access private
-    */
-    var $parent = NULL;
-
-    /**
-    * Stores the identifying component ID
-    * @var string value of id attribute
-    * @access private
-    */
-    var $ServerId;
-
-    /**
-    * Name of the XML tag as it appears in the template. This would include
-    * the namespace prefix, if applicable.
-    * @var string tag name
-    * @access private
-    */
-    var $tag = '';
-
-    /**
-    * Used to identify the source template file, when generating compile time
-    * error messages.
-    * @var string source template filename
-    * @access private
-    */
-    var $SourceLocation;
-
-    /**
-    * Defines whether the tag is allowed to have a closing tag
-    * @var boolean
-    * @access private
-    */
-    var $hasClosingTag = TRUE;
-
-    /**
-    * Whether the was empty and closed such as <br />
-    * @var boolean
-    * @access private
-    */
-    var $emptyClosedTag = FALSE;
-
-    /**
-    * TagInfo metadata for this component
-    * @var TagInfo
-    */
-    var $TagInfo = NULL;
-
-    function raiseCompilerError($error, $vars = array()) {
-        $vars['tag'] = $this->tag;
-        $vars['file'] = (is_object($this->SourceLocation)) ? $this->SourceLocation->file : 'unknown file';
-        $vars['line'] = (is_object($this->SourceLocation)) ? $this->SourceLocation->line : 'unknown line';
-        throw new WactException('compiler', $error, $vars);
-    }
-
-    /**
-    * register a property with this component.  Currently, this
-    * component must be a database to support properties.  This may
-    * change.
-    * @access public
-    */
-    function registerProperty($name, &$property) {
-        $this->properties[$name] =& $property;
-    }
-
-    /**
-    * @return CompilerProperty returns the named property or NULL if it doesn't exist
-    * @access public
-    */
-    function &getProperty($name) {
-        if (array_key_exists($name, $this->properties)) {
-            return $this->properties[$name];
-        } else {
-            if ($this->isDataSource()) {
-                $null = NULL;
-                return $null;
-            } else {
-                $property =& $this->parent->getProperty($name);
-                return $property;
-            }
-        }
-    }
-
-    function getServerId()
-    {
-      if (empty($this->ServerId))
-        $this->ServerId = getNewServerId();
-
-      return $this->ServerId;
-    }
-
-    /**
-    * Adds a child component, by reference, to the array of children
-    * @param object instance of a compile time component
-    * @return void
-    * @access protected
-    */
-    function addChild(&$child) {
-        $child->parent =& $this;
-        $this->children[] =& $child;
-    }
-
-    /**
-    * Removes a child component, given it's ServerID
-    * @param string server id
-    * @return mixed if child is found, returns a reference to it or void
-    * @access protected
-    */
-    function &removeChild($ServerId) {
-        foreach( array_keys($this->children) as $key) {
-            $child =& $this->children[$key];
-            if ($child->getServerid() == $ServerId) {
-                unset($this->children[$key]);
-                return $child;
-            }
-        }
-    }
-
-    /**
-    * Returns a copy of of the children array (containing references to
-    * the children)
-    * @return array
-    * @access public
-    */
-    function getChildren() {
-        return $this->children;
-    }
-
-  /**
-  * Removes all children of this component
-  * @return void
-  * @access public
-  */
-  function removeChildren() {
-    foreach (array_keys($this->children) as $key) {
-      $this->children[$key]->removeChildren();
-      unset($this->children[$key]);
-    }
-  }
-
-    /**
-    * Returns a child component, given it's ServerID
-    * @param string server id
-    * @return mixed if child is found, returns a reference of false
-    * @access protected
-    */
-    function &findChild($ServerId) {
-        foreach( array_keys($this->children) as $key) {
-            if ($this->children[$key]->getServerid() == $ServerId) {
-                return $this->children[$key];
-            } else {
-                $result =& $this->children[$key]->findChild($ServerId);
-                if ($result) {
-                    return $result;
-                }
-            }
-        }
-        $false = FALSE;
-        return $false;
-    }
-
-    /**
-    * Returns a child component, given it's compile time component class
-    * @param string PHP class name
-    * @return mixed if child is found, returns a reference of false
-    * @access protected
-    */
-    function &findChildByClass($class) {
-        foreach( array_keys($this->children) as $key) {
-            if (is_a($this->children[$key], $class)) {
-                return $this->children[$key];
-            } else {
-                $result =& $this->children[$key]->findChildByClass($class);
-                if ($result) {
-                    return $result;
-                }
-            }
-        }
-        $false = FALSE;
-        return $false;
-    }
-
-    /**
-    * Returns an array of child components, given it's compile time component class
-    * @param string PHP class name
-    * @return array
-    * @access protected
-    */
-    function findChildrenByClass($class) {
-        $ret = array();
-        foreach( array_keys($this->children) as $key) {
-            if (is_a($this->children[$key], $class)) {
-                $ret[] =& $this->children[$key];
-            } else {
-                $more_children = $this->children[$key]->findChildrenByClass($class);
-                if (count($more_children)) {
-                    $ret = array_merge($ret, $more_children);
-                }
-            }
-        }
-        return $ret;
-    }
-
-    /**
-    * Returns a child component, given it's compile time component class
-    * @param string PHP class name
-    * @return mixed if child is found, returns a reference of false
-    * @access protected
-    */
-    function &findImmediateChildByClass($class) {
-        foreach( array_keys($this->children) as $key) {
-            if (is_a($this->children[$key], $class)) {
-                return $this->children[$key];
-            }
-        }
-        $false = FALSE;
-        return $false;
-    }
-
-    /**
-    * Returns a parent component, recursively searching parents by their
-    * compile time component class name
-    * @param string PHP class name
-    * @return mixed if parent is found, returns a reference of void
-    * @access protected
-    */
-    function &findParentByClass($class) {
-        $Parent =& $this->parent;
-        while ($Parent && !is_a($Parent, $class)) {
-            $Parent =& $Parent->parent;
-        }
-        return $Parent;
-    }
-
-    /**
-    * Extends findParentByClass to begin search at the <i>current</i> component
-    * <i>then</i> moving on to its parent, if there's no match. This is called
-    * from TagJudge to determine known children.
-    * @param string class name
-    * @return mixed if parent is found, returns a reference of void
-    * @access protected
-    */
-    function & findSelfOrParentByClass($class) {
-        if (is_a($this, $class)) {
-            return $this;
-        } else {
-            return $this->findParentByClass($class);
-        }
-    }
-
-    /**
-    * Calls the prepare method for each child component, which will override
-    * this method it it's concrete implementation. In the subclasses, prepare
-    * will set up compile time variables.
-    * @return void
-    * @access protected
-    */
-    function prepare() {
-        foreach( array_keys($this->attributeNodes) as $key) {
-            $this->attributeNodes[$key]->prepare();
-        }
-        foreach( array_keys($this->children) as $key) {
-            $this->children[$key]->prepare();
-        }
-    }
-
-    /**
-    * Used to perform some error checking on the source template, such as
-    * examining the tag hierarchy and triggering an error if a tag is
-    * incorrectly nested. Concrete implementation is in subclasses
-    * @return void
-    * @access protected
-    */
-    function CheckNestingLevel() {
-    }
-
-    /**
-    * Provides instruction to the template parser, while parsing is in
-    * progress, telling it how it should handle the tag. Subclasses of
-    * CompilerComponent will return different instructions.<br />
-    * Available instructions are;
-    * <ul>
-    * <li>PARSER_REQUIRE_PARSING - default in this class. Tag must be parsed</li>
-    * <li>PARSER_FORBID_PARSING - Tag may not be parsed</li>
-    * <li>PARSER_ALLOW_PARSING - Tag may can be parsed</li>
-    * </ul>
-    * In practice, the parser currently only pays attention to the
-    * PARSER_FORBID_PARSING instruction.<br />
-    * Also used to perform error checking on template related to the syntax of
-    * the concrete tag implementing this method.
-    * @see SourceFileParser
-    * @return int PARSER_REQUIRE_PARSING
-    * @access protected
-    */
-    function preParse() {
-        return PARSER_REQUIRE_PARSING;
-    }
-
-    /**
-    * @return Boolean Indicating whether or not this component is a DataSource
-    */
-    function isDataSource() {
-        return FALSE;
-    }
-
-    /**
-    * If a parent compile time component exists, returns the value of the
-    * parent's getDataSource() method, which will be a concrete implementation
-    * @return mixed object compile time component if parent exists or void
-    * @access protected
-    */
-    function &getDataSource() {
-      $result = null;
-        if (!$this->isDataSource()) {
-            if (isset($this->parent)) {
-                $result = $this->parent->getDataSource();
-            }
-        }
-
-      return $result;
-    }
-
-    /**
-    * Gets the parent in the DataSource, if one exists
-    * @return mixed object compile time data component if exists or void
-    * @access protected
-    */
-    function &getParentDataSource() {
-      $result = null;
-
-        $DataSource =& $this->getDataSource();
-        if (isset($DataSource->parent)) {
-            $result = $DataSource->parent->getDataSource();
-        }
-
-        return $result;
-    }
-
-    /**
-    * Gets a root DataSource
-    * @return mixed object compile time data component if exists or void
-    * @access protected
-    */
-    function &getRootDataSource() {
-        $root =& $this;
-        while ($root->parent != NULL) {
-            $root =& $root->parent;
-        }
-        return $root;
-    }
-
-    /**
-    * Gets the DataSource reference code of the parent
-    * @return string
-    * @access protected
-    */
-    function getDataSourceRefCode() {
-        return $this->parent->getDataSourceRefCode();
-    }
-
-    /**
-    * Gets the component reference code of the parent. This is a PHP string
-    * which is used in the compiled template to reference the component in
-    * the hierarchy at runtime
-    * @return string
-    * @access protected
-    */
-    function getComponentRefCode() {
-        return $this->parent->getComponentRefCode();
-    }
-
-    /**
-    * Calls the generateConstructor() method of each child component
-    * @param CodeWriter
-    * @return void
-    * @access protected
-    */
-    function generateConstructor(&$code) {
-        foreach( array_keys($this->children) as $key) {
-            $this->children[$key]->generateConstructor($code);
-        }
-    }
-
-    /**
-    * Calls the generate() method of each child component
-    * @param CodeWriter
-    * @return void
-    * @access protected
-    */
-    function generateContents(&$code) {
-        foreach( array_keys($this->children) as $key) {
-            $this->children[$key]->generate($code);
-        }
-    }
-
-    /**
-    * Pre generation method
-    * @param CodeWriter
-    * @return void
-    * @access protected
-    */
-    function preGenerate(&$code) {
-        foreach( array_keys($this->properties) as $key) {
-            if ($this->properties[$key]->isActive()) {
-                $this->properties[$key]->generateScopeEntry($code);
-            }
-        }
-    }
-
-    /**
-    * Post generation method
-    * @param CodeWriter
-    * @return void
-    * @access protected
-    */
-    function postGenerate(&$code) {
-        foreach( array_keys($this->properties) as $key) {
-            if ($this->properties[$key]->isActive()) {
-                $this->properties[$key]->generateScopeExit($code);
-            }
-        }
-    }
-
-    /**
-    * Calls the local preGenerate(), generateContents() and postGenerate()
-    * methods.
-    * @param CodeWriter
-    * @return void
-    * @access protected
-    */
-    function generate(&$code) {
-        $this->preGenerate($code);
-        $this->generateContents($code);
-        $this->postGenerate($code);
-    }
-}
-?>
\ No newline at end of file

Deleted: 3.x/packages/wact/trunk/framework/template/compiler/ComponentTree.class.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/ComponentTree.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/ComponentTree.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,56 +0,0 @@
-<?php
-//--------------------------------------------------------------------------------
-// Copyright 2003 Procata, Inc.
-// Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
-//--------------------------------------------------------------------------------
-/**
-* @package WACT_TEMPLATE
-* @version $Id: componenttree.inc.php,v 1.13 2005/11/02 16:11:17 ian_w_white Exp $
-*/
-//--------------------------------------------------------------------------------
-/**
-* The root compile time component in the template hierarchy.
-* @see http://wact.sourceforge.net/index.php/ComponentTree
-* @access public
-* @package WACT_TEMPLATE
-*/
-class ComponentTree extends CompilerComponent
-{
-
-  /**
-  * Returns the base for building the PHP runtime component reference string
-  * @param CodeWriter
-  * @return string
-  * @access protected
-  */
-  function getComponentRefCode() {
-    return '$root';
-  }
-
-  /**
-  * @param CodeWriter
-  * @return string
-  * @access protected
-  */
-  function getDataSourceRefCode() {
-    return '$root->_datasource';
-  }
-
-  /**
-  * Returns this instance of ComponentTree
-  * @return ComponentTree this instance
-  * @access protected
-  */
-  function &getDataSource() {
-    return $this;
-  }
-
-  /**
-  * @return Boolean Indicating whether or not this component is a DataSource
-  */
-  function isDataSource() {
-      return TRUE;
-  }
-
-}
-?>
\ No newline at end of file

Deleted: 3.x/packages/wact/trunk/framework/template/compiler/OutputExpression.class.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/OutputExpression.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/OutputExpression.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,34 +0,0 @@
-<?php
-/**
-* Outputs the result of an expression like {$var} or {$'var'}
-*/
-class OutputExpression extends CompilerComponent
-{
-  protected $expression;
-
-  function OutputExpression($expression)
-  {
-    $this->expression = new Expression($expression, $this, 'html');
-  }
-
-  function prepare()
-  {
-    $this->expression->prepare();
-    parent::prepare();
-  }
-
-  function generate($code_writer)
-  {
-    if ($this->expression->isConstant())
-      $code_writer->writeHTML($this->expression->getValue());
-    else
-    {
-      $this->expression->generatePreStatement($code_writer);
-      $code_writer->writePHP('echo ');
-      $this->expression->generateExpression($code_writer);
-      $code_writer->writePHP(';');
-      $this->expression->generatePostStatement($code_writer);
-    }
-  }
-}
-?>
\ No newline at end of file

Deleted: 3.x/packages/wact/trunk/framework/template/compiler/PHPNode.class.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/PHPNode.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/PHPNode.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,18 +0,0 @@
-<?php
-require_once WACT_ROOT . '/template/compiler/CompilerComponent.class.php';
-
-class PHPNode extends CompilerComponent
-{
-  protected $contents;
-
-  function __construct($text)
-  {
-    $this->contents = $text;
-  }
-
-  function generate($code)
-  {
-    $code->writePHP($this->contents);
-  }
-}
-?>
\ No newline at end of file

Deleted: 3.x/packages/wact/trunk/framework/template/compiler/TextNode.class.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/TextNode.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/TextNode.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,21 +0,0 @@
-<?php
-require_once WACT_ROOT . '/template/compiler/CompilerComponent.class.php';
-
-class TextNode extends CompilerComponent
-{
-  protected $contents;
-
-  function __construct($text)
-  {
-    $this->contents = $text;
-  }
-
-  function generateContents($code)
-  {
-    $code->writeHTML($this->contents);
-
-    parent :: generateContents($code);
-  }
-}
-
-?>
\ No newline at end of file

Copied: 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/CompilerComponent.class.php (from rev 4162, 3.x/packages/wact/trunk/framework/template/compiler/CompilerComponent.class.php)
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/CompilerComponent.class.php	                        (rev 0)
+++ 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/CompilerComponent.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -0,0 +1,482 @@
+<?php
+//--------------------------------------------------------------------------------
+// Copyright 2003 Procata, Inc.
+// Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
+//--------------------------------------------------------------------------------
+/**
+* @package WACT_TEMPLATE
+* @version $Id: CompilerComponent.class.php,v 1.60 2006/01/04 23:40:33 ian_w_white Exp $
+*/
+
+/**
+* Base class for compile time components. Compile time component methods are
+* called by the template parser SourceFileParser.<br />
+* Note this in the comments for this class, parent and child refer to the XML
+* heirarchy in the template, as opposed to the PHP class tree.
+* @see SourceFileParser
+* @see http://wact.sourceforge.net/index.php/CompilerComponent
+* @access public
+* @abstract
+* @package WACT_TEMPLATE
+*/
+class CompilerComponent {
+    /**
+    * XML attributes of the tag
+    * @var array
+    * @access private
+    */
+    var $attributeNodes = array();
+
+    /**
+    * Child compile-time components
+    * @var array of compile time component objects
+    * @access private
+    */
+    var $children = array();
+
+    /**
+    * A list of properties for this component
+    * @var array
+    * @access private
+    */
+    var $properties = array();
+
+    /**
+    * Parent compile-time component
+    * @var object subclass of CompilerComponent
+    * @access private
+    */
+    var $parent = NULL;
+
+    /**
+    * Stores the identifying component ID
+    * @var string value of id attribute
+    * @access private
+    */
+    var $ServerId;
+
+    /**
+    * Name of the XML tag as it appears in the template. This would include
+    * the namespace prefix, if applicable.
+    * @var string tag name
+    * @access private
+    */
+    var $tag = '';
+
+    /**
+    * Used to identify the source template file, when generating compile time
+    * error messages.
+    * @var string source template filename
+    * @access private
+    */
+    var $SourceLocation;
+
+    /**
+    * Defines whether the tag is allowed to have a closing tag
+    * @var boolean
+    * @access private
+    */
+    var $hasClosingTag = TRUE;
+
+    /**
+    * Whether the was empty and closed such as <br />
+    * @var boolean
+    * @access private
+    */
+    var $emptyClosedTag = FALSE;
+
+    /**
+    * TagInfo metadata for this component
+    * @var TagInfo
+    */
+    var $TagInfo = NULL;
+
+    function raiseCompilerError($error, $vars = array()) {
+        $vars['tag'] = $this->tag;
+        $vars['file'] = (is_object($this->SourceLocation)) ? $this->SourceLocation->file : 'unknown file';
+        $vars['line'] = (is_object($this->SourceLocation)) ? $this->SourceLocation->line : 'unknown line';
+        throw new WactException('compiler', $error, $vars);
+    }
+
+    /**
+    * register a property with this component.  Currently, this
+    * component must be a database to support properties.  This may
+    * change.
+    * @access public
+    */
+    function registerProperty($name, &$property) {
+        $this->properties[$name] =& $property;
+    }
+
+    /**
+    * @return CompilerProperty returns the named property or NULL if it doesn't exist
+    * @access public
+    */
+    function &getProperty($name) {
+        if (array_key_exists($name, $this->properties)) {
+            return $this->properties[$name];
+        } else {
+            if ($this->isDataSource()) {
+                $null = NULL;
+                return $null;
+            } else {
+                $property =& $this->parent->getProperty($name);
+                return $property;
+            }
+        }
+    }
+
+    function getServerId()
+    {
+      if (empty($this->ServerId))
+        $this->ServerId = getNewServerId();
+
+      return $this->ServerId;
+    }
+
+    /**
+    * Adds a child component, by reference, to the array of children
+    * @param object instance of a compile time component
+    * @return void
+    * @access protected
+    */
+    function addChild(&$child) {
+        $child->parent =& $this;
+        $this->children[] =& $child;
+    }
+
+    /**
+    * Removes a child component, given it's ServerID
+    * @param string server id
+    * @return mixed if child is found, returns a reference to it or void
+    * @access protected
+    */
+    function &removeChild($ServerId) {
+        foreach( array_keys($this->children) as $key) {
+            $child =& $this->children[$key];
+            if ($child->getServerid() == $ServerId) {
+                unset($this->children[$key]);
+                return $child;
+            }
+        }
+    }
+
+    /**
+    * Returns a copy of of the children array (containing references to
+    * the children)
+    * @return array
+    * @access public
+    */
+    function getChildren() {
+        return $this->children;
+    }
+
+  /**
+  * Removes all children of this component
+  * @return void
+  * @access public
+  */
+  function removeChildren() {
+    foreach (array_keys($this->children) as $key) {
+      $this->children[$key]->removeChildren();
+      unset($this->children[$key]);
+    }
+  }
+
+    /**
+    * Returns a child component, given it's ServerID
+    * @param string server id
+    * @return mixed if child is found, returns a reference of false
+    * @access protected
+    */
+    function &findChild($ServerId) {
+        foreach( array_keys($this->children) as $key) {
+            if ($this->children[$key]->getServerid() == $ServerId) {
+                return $this->children[$key];
+            } else {
+                $result =& $this->children[$key]->findChild($ServerId);
+                if ($result) {
+                    return $result;
+                }
+            }
+        }
+        $false = FALSE;
+        return $false;
+    }
+
+    /**
+    * Returns a child component, given it's compile time component class
+    * @param string PHP class name
+    * @return mixed if child is found, returns a reference of false
+    * @access protected
+    */
+    function &findChildByClass($class) {
+        foreach( array_keys($this->children) as $key) {
+            if (is_a($this->children[$key], $class)) {
+                return $this->children[$key];
+            } else {
+                $result =& $this->children[$key]->findChildByClass($class);
+                if ($result) {
+                    return $result;
+                }
+            }
+        }
+        $false = FALSE;
+        return $false;
+    }
+
+    /**
+    * Returns an array of child components, given it's compile time component class
+    * @param string PHP class name
+    * @return array
+    * @access protected
+    */
+    function findChildrenByClass($class) {
+        $ret = array();
+        foreach( array_keys($this->children) as $key) {
+            if (is_a($this->children[$key], $class)) {
+                $ret[] =& $this->children[$key];
+            } else {
+                $more_children = $this->children[$key]->findChildrenByClass($class);
+                if (count($more_children)) {
+                    $ret = array_merge($ret, $more_children);
+                }
+            }
+        }
+        return $ret;
+    }
+
+    /**
+    * Returns a child component, given it's compile time component class
+    * @param string PHP class name
+    * @return mixed if child is found, returns a reference of false
+    * @access protected
+    */
+    function &findImmediateChildByClass($class) {
+        foreach( array_keys($this->children) as $key) {
+            if (is_a($this->children[$key], $class)) {
+                return $this->children[$key];
+            }
+        }
+        $false = FALSE;
+        return $false;
+    }
+
+    /**
+    * Returns a parent component, recursively searching parents by their
+    * compile time component class name
+    * @param string PHP class name
+    * @return mixed if parent is found, returns a reference of void
+    * @access protected
+    */
+    function &findParentByClass($class) {
+        $Parent =& $this->parent;
+        while ($Parent && !is_a($Parent, $class)) {
+            $Parent =& $Parent->parent;
+        }
+        return $Parent;
+    }
+
+    /**
+    * Extends findParentByClass to begin search at the <i>current</i> component
+    * <i>then</i> moving on to its parent, if there's no match. This is called
+    * from TagJudge to determine known children.
+    * @param string class name
+    * @return mixed if parent is found, returns a reference of void
+    * @access protected
+    */
+    function & findSelfOrParentByClass($class) {
+        if (is_a($this, $class)) {
+            return $this;
+        } else {
+            return $this->findParentByClass($class);
+        }
+    }
+
+    /**
+    * Calls the prepare method for each child component, which will override
+    * this method it it's concrete implementation. In the subclasses, prepare
+    * will set up compile time variables.
+    * @return void
+    * @access protected
+    */
+    function prepare() {
+        foreach( array_keys($this->attributeNodes) as $key) {
+            $this->attributeNodes[$key]->prepare();
+        }
+        foreach( array_keys($this->children) as $key) {
+            $this->children[$key]->prepare();
+        }
+    }
+
+    /**
+    * Used to perform some error checking on the source template, such as
+    * examining the tag hierarchy and triggering an error if a tag is
+    * incorrectly nested. Concrete implementation is in subclasses
+    * @return void
+    * @access protected
+    */
+    function CheckNestingLevel() {
+    }
+
+    /**
+    * Provides instruction to the template parser, while parsing is in
+    * progress, telling it how it should handle the tag. Subclasses of
+    * CompilerComponent will return different instructions.<br />
+    * Available instructions are;
+    * <ul>
+    * <li>PARSER_REQUIRE_PARSING - default in this class. Tag must be parsed</li>
+    * <li>PARSER_FORBID_PARSING - Tag may not be parsed</li>
+    * <li>PARSER_ALLOW_PARSING - Tag may can be parsed</li>
+    * </ul>
+    * In practice, the parser currently only pays attention to the
+    * PARSER_FORBID_PARSING instruction.<br />
+    * Also used to perform error checking on template related to the syntax of
+    * the concrete tag implementing this method.
+    * @see SourceFileParser
+    * @return int PARSER_REQUIRE_PARSING
+    * @access protected
+    */
+    function preParse() {
+        return PARSER_REQUIRE_PARSING;
+    }
+
+    /**
+    * @return Boolean Indicating whether or not this component is a DataSource
+    */
+    function isDataSource() {
+        return FALSE;
+    }
+
+    /**
+    * If a parent compile time component exists, returns the value of the
+    * parent's getDataSource() method, which will be a concrete implementation
+    * @return mixed object compile time component if parent exists or void
+    * @access protected
+    */
+    function &getDataSource() {
+      $result = null;
+        if (!$this->isDataSource()) {
+            if (isset($this->parent)) {
+                $result = $this->parent->getDataSource();
+            }
+        }
+
+      return $result;
+    }
+
+    /**
+    * Gets the parent in the DataSource, if one exists
+    * @return mixed object compile time data component if exists or void
+    * @access protected
+    */
+    function &getParentDataSource() {
+      $result = null;
+
+        $DataSource =& $this->getDataSource();
+        if (isset($DataSource->parent)) {
+            $result = $DataSource->parent->getDataSource();
+        }
+
+        return $result;
+    }
+
+    /**
+    * Gets a root DataSource
+    * @return mixed object compile time data component if exists or void
+    * @access protected
+    */
+    function &getRootDataSource() {
+        $root =& $this;
+        while ($root->parent != NULL) {
+            $root =& $root->parent;
+        }
+        return $root;
+    }
+
+    /**
+    * Gets the DataSource reference code of the parent
+    * @return string
+    * @access protected
+    */
+    function getDataSourceRefCode() {
+        return $this->parent->getDataSourceRefCode();
+    }
+
+    /**
+    * Gets the component reference code of the parent. This is a PHP string
+    * which is used in the compiled template to reference the component in
+    * the hierarchy at runtime
+    * @return string
+    * @access protected
+    */
+    function getComponentRefCode() {
+        return $this->parent->getComponentRefCode();
+    }
+
+    /**
+    * Calls the generateConstructor() method of each child component
+    * @param CodeWriter
+    * @return void
+    * @access protected
+    */
+    function generateConstructor(&$code) {
+        foreach( array_keys($this->children) as $key) {
+            $this->children[$key]->generateConstructor($code);
+        }
+    }
+
+    /**
+    * Calls the generate() method of each child component
+    * @param CodeWriter
+    * @return void
+    * @access protected
+    */
+    function generateContents(&$code) {
+        foreach( array_keys($this->children) as $key) {
+            $this->children[$key]->generate($code);
+        }
+    }
+
+    /**
+    * Pre generation method
+    * @param CodeWriter
+    * @return void
+    * @access protected
+    */
+    function preGenerate(&$code) {
+        foreach( array_keys($this->properties) as $key) {
+            if ($this->properties[$key]->isActive()) {
+                $this->properties[$key]->generateScopeEntry($code);
+            }
+        }
+    }
+
+    /**
+    * Post generation method
+    * @param CodeWriter
+    * @return void
+    * @access protected
+    */
+    function postGenerate(&$code) {
+        foreach( array_keys($this->properties) as $key) {
+            if ($this->properties[$key]->isActive()) {
+                $this->properties[$key]->generateScopeExit($code);
+            }
+        }
+    }
+
+    /**
+    * Calls the local preGenerate(), generateContents() and postGenerate()
+    * methods.
+    * @param CodeWriter
+    * @return void
+    * @access protected
+    */
+    function generate(&$code) {
+        $this->preGenerate($code);
+        $this->generateContents($code);
+        $this->postGenerate($code);
+    }
+}
+?>
\ No newline at end of file

Copied: 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/ComponentTree.class.php (from rev 4162, 3.x/packages/wact/trunk/framework/template/compiler/ComponentTree.class.php)
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/ComponentTree.class.php	                        (rev 0)
+++ 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/ComponentTree.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -0,0 +1,47 @@
+<?php
+/**
+* The root compile time component in the template hierarchy.
+* @see http://wact.sourceforge.net/index.php/CompilerTreeRootNode
+* @access public
+* @package WACT_TEMPLATE
+*/
+class CompilerTreeRootNode extends CompilerComponent
+{
+
+  /**
+  * Returns the base for building the PHP runtime component reference string
+  * @param CodeWriter
+  * @return string
+  * @access protected
+  */
+  function getComponentRefCode() {
+    return '$root';
+  }
+
+  /**
+  * @param CodeWriter
+  * @return string
+  * @access protected
+  */
+  function getDataSourceRefCode() {
+    return '$root->_datasource';
+  }
+
+  /**
+  * Returns this instance of CompilerTreeRootNode
+  * @return CompilerTreeRootNode this instance
+  * @access protected
+  */
+  function &getDataSource() {
+    return $this;
+  }
+
+  /**
+  * @return Boolean Indicating whether or not this component is a DataSource
+  */
+  function isDataSource() {
+      return TRUE;
+  }
+
+}
+?>
\ No newline at end of file

Copied: 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/OutputExpression.class.php (from rev 4162, 3.x/packages/wact/trunk/framework/template/compiler/OutputExpression.class.php)
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/OutputExpression.class.php	                        (rev 0)
+++ 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/OutputExpression.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -0,0 +1,34 @@
+<?php
+/**
+* Outputs the result of an expression like {$var} or {$'var'}
+*/
+class OutputExpression extends CompilerComponent
+{
+  protected $expression;
+
+  function OutputExpression($expression)
+  {
+    $this->expression = new Expression($expression, $this, 'html');
+  }
+
+  function prepare()
+  {
+    $this->expression->prepare();
+    parent::prepare();
+  }
+
+  function generate($code_writer)
+  {
+    if ($this->expression->isConstant())
+      $code_writer->writeHTML($this->expression->getValue());
+    else
+    {
+      $this->expression->generatePreStatement($code_writer);
+      $code_writer->writePHP('echo ');
+      $this->expression->generateExpression($code_writer);
+      $code_writer->writePHP(';');
+      $this->expression->generatePostStatement($code_writer);
+    }
+  }
+}
+?>
\ No newline at end of file

Copied: 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/PHPNode.class.php (from rev 4162, 3.x/packages/wact/trunk/framework/template/compiler/PHPNode.class.php)
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/PHPNode.class.php	                        (rev 0)
+++ 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/PHPNode.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -0,0 +1,16 @@
+<?php
+class PHPNode extends CompilerComponent
+{
+  protected $contents;
+
+  function __construct($text)
+  {
+    $this->contents = $text;
+  }
+
+  function generate($code_writer)
+  {
+    $code_writer->writePHP($this->contents);
+  }
+}
+?>
\ No newline at end of file

Copied: 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/TextNode.class.php (from rev 4162, 3.x/packages/wact/trunk/framework/template/compiler/TextNode.class.php)
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/TextNode.class.php	                        (rev 0)
+++ 3.x/packages/wact/trunk/framework/template/compiler/compile_tree_node/TextNode.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -0,0 +1,19 @@
+<?php
+class TextNode extends CompilerComponent
+{
+  protected $contents;
+
+  function __construct($text)
+  {
+    $this->contents = $text;
+  }
+
+  function generateContents($code_writer)
+  {
+    $code_writer->writeHTML($this->contents);
+
+    parent :: generateContents($code_writer);
+  }
+}
+
+?>
\ No newline at end of file

Modified: 3.x/packages/wact/trunk/framework/template/compiler/parser/SourceFileParser.class.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/parser/SourceFileParser.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/parser/SourceFileParser.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -111,10 +111,10 @@
   /**
   * Used to parse the source template.
   * Initially invoked by the CompileTemplate function,
-  * the first component argument being a ComponentTree.
+  * the first component argument being a CompilerTreeRootNode.
   * Uses the TagDictionary to spot compiler components
   * @see CompileTemplate
-  * @see ComponentTree
+  * @see CompilerTreeRootNode
   * @param object compile time component
   * @return void
   * @access protected

Modified: 3.x/packages/wact/trunk/framework/template/compiler/parser/WactNodeBuilder.class.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/parser/WactNodeBuilder.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/parser/WactNodeBuilder.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -112,10 +112,6 @@
   * @access public
   */
   function addProcessingInstruction(&$TreeBuilder, $target, $instruction) {
-      // we can optimize here by not loading PHP node until we need it
-      // It will probably be rarely used in templates.
-      require_once WACT_ROOT . '/template/compiler/PHPNode.class.php';
-
       // Pass through any PI's except PHP PI's
       $php_targets = array('php','PHP','=','');
       if(in_array($target, $php_targets))

Modified: 3.x/packages/wact/trunk/framework/template/compiler/parser/WactTreeBuilder.class.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/parser/WactTreeBuilder.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/parser/WactTreeBuilder.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,6 +1,6 @@
 <?php
 /**
-* Acts on the ComponentTree in response to events within the SourceFileParser
+* Acts on the CompilerTreeRootNode in response to events within the SourceFileParser
 *
 * When adding an open tag to the tree, call pushExpectedTag().  When closing
 * a tag, call popExpectedTag(), which ensures the tree is balanced.

Modified: 3.x/packages/wact/trunk/framework/template/compiler/tags/ServerComponentTag.class.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/tags/ServerComponentTag.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/tags/ServerComponentTag.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -11,7 +11,7 @@
 /**
 * include parent class
 */
-require_once WACT_ROOT . '/template/compiler/CompilerComponent.class.php';
+require_once WACT_ROOT . '/template/compiler/tags/CompilerTag.class.php';
 /**
 * Server component tags have a corresponding server Component which represents
 * an API which can be used to manipulate the marked up portion of the template.

Modified: 3.x/packages/wact/trunk/framework/template/compiler/templatecompiler.inc.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/compiler/templatecompiler.inc.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/compiler/templatecompiler.inc.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -15,8 +15,11 @@
 */
 require_once WACT_ROOT . '/template/compiler/WactDictionaryHolder.class.php';
 
-require_once WACT_ROOT . '/template/compiler/CompilerComponent.class.php';
-require_once WACT_ROOT . '/template/compiler/ComponentTree.class.php';
+require_once WACT_ROOT . '/template/compiler/compile_tree_node/CompilerComponent.class.php';
+require_once WACT_ROOT . '/template/compiler/compile_tree_node/CompilerTreeRootNode.class.php';
+require_once WACT_ROOT . '/template/compiler/compile_tree_node/TextNode.class.php';
+require_once WACT_ROOT . '/template/compiler/compile_tree_node/PHPNode.class.php';
+require_once WACT_ROOT . '/template/compiler/compile_tree_node/OutputExpression.class.php';
 
 require_once WACT_ROOT . '/template/compiler/tags/CompilerTag.class.php';
 require_once WACT_ROOT . '/template/compiler/tags/CompilerDirectiveTag.class.php';
@@ -29,10 +32,6 @@
 require_once WACT_ROOT . '/template/compiler/tags/tagdictionary.inc.php';
 require_once WACT_ROOT . '/template/compiler/tags/WactTagInfoExtractor.class.php';
 
-require_once WACT_ROOT . '/template/compiler/TextNode.class.php';
-require_once WACT_ROOT . '/template/compiler/PHPNode.class.php';
-require_once WACT_ROOT . '/template/compiler/OutputExpression.class.php';
-
 require_once WACT_ROOT . '/template/compiler/attribute/AttributeNode.class.php';
 require_once WACT_ROOT . '/template/compiler/filter/CompilerFilter.class.php';
 
@@ -64,11 +63,11 @@
 
 /**
 * Compiles a template file. Uses the file scheme to location the source,
-* instantiates the CodeWriter and ComponentTree (as the root) component then
+* instantiates the CodeWriter and CompilerTreeRootNode (as the root) component then
 * instantiates the SourceFileParser to parse the template.
 * Creates the initialize and render functions in the compiled template.
 * @see http://wact.sourceforge.net/CompileTemplateFile
-* @see ComponentTree
+* @see CompilerTreeRootNode
 * @see CodeWriter
 * @see SourceFileParser
 * @param string name of source template
@@ -88,7 +87,7 @@
     $code =& new CodeWriter();
     $code->setFunctionPrefix(md5($destfile));
 
-    $Tree =& GetComponentTree(TRUE);
+    $Tree =& GetCompilerTreeRootNode(TRUE);
     $Tree->SourceLocation =& new WactSourceLocation($sourcefile, '');
 
     $TreeBuilder =& new WactTreeBuilder;
@@ -114,17 +113,17 @@
 }
 
 /**
-* Used to maintain a single instance of ComponentTree for a single
+* Used to maintain a single instance of CompilerTreeRootNode for a single
 * template file.
 * Called from CompileTemplateFile and WactTreeBuilder::checkServerId()
 * @param boolean (default = FALSE) whether to create a new instance
-* @return ComponentTree
+* @return CompilerTreeRootNode
 * @access public
 */
-function & GetComponentTree($newInstance = FALSE) {
+function & GetCompilerTreeRootNode($newInstance = FALSE) {
     static $Tree = NULL;
     if ( $newInstance || is_null($Tree) ) {
-        $Tree = new ComponentTree();
+        $Tree = new CompilerTreeRootNode();
     }
     return $Tree;
 }

Modified: 3.x/packages/wact/trunk/framework/template/tags/form/inputautocomplete.tag.php
===================================================================
--- 3.x/packages/wact/trunk/framework/template/tags/form/inputautocomplete.tag.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/framework/template/tags/form/inputautocomplete.tag.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -119,12 +119,12 @@
   }
 }
 EOD;
-        $ComponentTree = & $this->findParentByClass('ComponentTree') ;
-        if ( !$ComponentTree ) {
+        $CompilerTreeRootNode = & $this->findParentByClass('CompilerTreeRootNode') ;
+        if ( !$CompilerTreeRootNode ) {
             $this->raiseCompilerError('COMPONENTNOTFOUND',
-                array('ServerId' => 'ComponentTree'));
+                array('ServerId' => 'CompilerTreeRootNode'));
         }
-        $JContainer = & $ComponentTree->findChildByClass('CoreScriptTag');
+        $JContainer = & $CompilerTreeRootNode->findChildByClass('CoreScriptTag');
         if ( !$JContainer ) {
             $this->raiseCompilerError('COMPONENTNOTFOUND',
                 array('ServerId' => 'CoreScriptTag'));

Modified: 3.x/packages/wact/trunk/tests/cases/template/compiler/ComponentTreeTest.class.php
===================================================================
--- 3.x/packages/wact/trunk/tests/cases/template/compiler/ComponentTreeTest.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/tests/cases/template/compiler/ComponentTreeTest.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,24 +1,24 @@
 <?php
 require_once(WACT_TEST_CASES . '/template/compiler/CompilerComponentTest.class.php');
 
-class ComponentTreeTest extends CompilerComponentTest
+class CompilerTreeRootNodeTest extends CompilerComponentTest
 {
   function testGetDataSourceRefCode()
   {
-    $this->component = new ComponentTree();
+    $this->component = new CompilerTreeRootNode();
     $this->assertEqual($this->component->getDataSourceRefCode(), '$root->_datasource');
   }
 
   function testGetComponentRefCode()
   {
-    $this->component = new ComponentTree();
+    $this->component = new CompilerTreeRootNode();
     $this->assertEqual($this->component->getComponentRefCode(), '$root');
   }
 
   function testGetDataSource()
   {
-    $this->component = new ComponentTree();
-    $this->assertIsA($this->component->getDataSource(), 'ComponentTree');
+    $this->component = new CompilerTreeRootNode();
+    $this->assertIsA($this->component->getDataSource(), 'CompilerTreeRootNode');
   }
 }
 ?>
\ No newline at end of file

Modified: 3.x/packages/wact/trunk/tests/cases/template/compiler/PHPNodeTest.class.php
===================================================================
--- 3.x/packages/wact/trunk/tests/cases/template/compiler/PHPNodeTest.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/tests/cases/template/compiler/PHPNodeTest.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,11 +1,5 @@
 <?php
-/**
-* @package WACT_TESTS
-* @version $Id: phpnode.test.php 2864 2006-02-28 10:20:41Z pachanga $
-*/
-
 require_once WACT_TEST_CASES . '/template/compiler/CompilerComponentTest.class.php';
-require_once WACT_ROOT . 'template/compiler/PHPNode.class.php';
 
 class PHPNodeTest extends CompilerComponentTest {
     function setUp() {

Modified: 3.x/packages/wact/trunk/tests/cases/template/compiler/TextNodeTest.class.php
===================================================================
--- 3.x/packages/wact/trunk/tests/cases/template/compiler/TextNodeTest.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/tests/cases/template/compiler/TextNodeTest.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,6 +1,5 @@
 <?php
 require_once(WACT_TEST_CASES . '/template/compiler/CompilerComponentTest.class.php');
-require_once WACT_ROOT . 'template/compiler/TextNode.class.php';
 
 class TextNodeTest extends CompilerComponentTest
 {

Modified: 3.x/packages/wact/trunk/tests/cases/template/compiler/WactTreeBuilderTest.class.php
===================================================================
--- 3.x/packages/wact/trunk/tests/cases/template/compiler/WactTreeBuilderTest.class.php	2006-10-16 06:51:26 UTC (rev 4162)
+++ 3.x/packages/wact/trunk/tests/cases/template/compiler/WactTreeBuilderTest.class.php	2006-10-16 07:21:57 UTC (rev 4163)
@@ -1,6 +1,5 @@
 <?php
 require_once WACT_ROOT . '/template/compiler/templatecompiler.inc.php';
-require_once WACT_ROOT . '/template/compiler/PHPNode.class.php';
 
 Mock::generate('CompilerComponent','MockCompilerComponent');
 Mock::generate('SourceFileParser','MockSourceFileParser');



More information about the limb-svn mailing list