X-Git-Url: http://git.phpeclipse.com

diff --git a/net.sourceforge.phpeclipse.tests/src/net/sourceforge/phpeclipse/tests/parser/PHPManualTestCase.java b/net.sourceforge.phpeclipse.tests/src/net/sourceforge/phpeclipse/tests/parser/PHPManualTestCase.java
index b460407..6ab02e7 100644
--- a/net.sourceforge.phpeclipse.tests/src/net/sourceforge/phpeclipse/tests/parser/PHPManualTestCase.java
+++ b/net.sourceforge.phpeclipse.tests/src/net/sourceforge/phpeclipse/tests/parser/PHPManualTestCase.java
@@ -28,6 +28,16 @@ public class PHPManualTestCase extends TestCase {
    *  Test the PHP Parser with different PHP snippets
    */
   public void testPHPParser() {
+    checkPHP("function foo()" +
    	"{" +
    	"    echo \"In foo()<br>\\n\";" +
    	"}" +
    	"" +
    	"function bar($arg = '')" +
    	"{" +
    	"    echo \"In bar(); argument was '$arg'.<br>\\n\";" +
    	"}" +
    	"" +
    	"// This is a wrapper function around echo" +
    	"function echoit($string)" +
    	"{" +
    	"    echo $string;" +
    	"}" +
    	"" +
    	"$func = 'foo';" +
    	"$func();        // This calls foo()" +
    	"" +
    	"$func = 'bar';" +
    	"$func('test');  // This calls bar()" +
    	"" +
    	"$func = 'echoit';" +
    	"$func('test');  // This calls echoit()" +
    	"");
+    checkPHP("class Foo" +
    	"{" +
    	"    function Vari()" +
    	"    {" +
    	"        $name = 'Bar';" +
    	"        $this->$name(); // This calls the Bar() method\n" +
    	"    }" +
    	"    " +
    	"    function Bar()" +
    	"    {" +
    	"        echo \"This is Bar\";" +
    	"    }" +
    	"}" +
    	"" +
    	"$foo = new Foo();" +
    	"$funcname = \"Var\";" +
    	"$foo->$varname();   // This calls $foo->Var()\n" +
    	"");
+    checkPHP("function square ($num)" +
    	"{" +
    	"    return $num * $num;" +
    	"}" +
    	"echo square (4);   // outputs '16'." +
    	"");
+    checkPHP("function small_numbers()" +
    	"{" +
    	"    return array (0, 1, 2);" +
    	"}" +
    	"list ($zero, $one, $two) = small_numbers();" +
    	"");
+    checkPHP("function &returns_reference()" +
    	"{" +
    	"    return $someref;" +
    	"}" +
    	"" +
    	"$newref =& returns_reference();" +
    	" " +
    	"");
+    checkPHP("function add_some_extra(&$string)" +
    	"{" +
    	"    $string .= 'and something extra.';" +
    	"}" +
    	"$str = 'This is a string, ';" +
    	"add_some_extra($str);" +
    	"echo $str;    ");
+    checkPHP("function makecoffee ($type = \"cappuccino\")\n" +
    	"{\n" +
    	"    return \"Making a cup of $type.\\n\";\n" +
    	"}" +
    	"echo makecoffee ();" +
    	"echo makecoffee (\"espresso\");" +
    	"");
+    checkPHP("$makefoo = true;" +
    	"" +
    	"/* We can't call foo() from here " +
    	"   since it doesn't exist yet," +
    	"   but we can call bar() */" +
    	"" +
    	"bar();" +
    	"" +
    	"if ($makefoo) {" +
    	"  function foo ()" +
    	"  {" +
    	"    echo \"I don't exist until program execution reaches me.\\n\";" +
    	"  }" +
    	"}" +
    	"" +
    	"/* Now we can safely call foo()" +
    	"   since $makefoo evaluated to true */" +
    	"" +
    	"if ($makefoo) foo();" +
    	"" +
    	"function bar() " +
    	"{" +
    	"  echo \"I exist immediately upon program start.\\n\";" +
    	"}" +
    	"" +
    	"");
+    checkPHP(
+    "function foo() " +
    "{" +
    "  function bar() " +
    "  {" +
    "    echo \"I don't exist until foo() is called.\\n\";" +
    "  }" +
    "}" +
    "" +
    "/* We can't call bar() yet" +
    "   since it doesn't exist. */" +
    "" +
    "foo();\n" +
    "" +
    "/* Now we can call bar()," +
    "   foo()'s processesing has" +
    "   made it accessable. */" +
    "" +
    "bar();" +
    "");
     // Bugs item #690938
     checkPHP(
       "    echo \"This is a test\"; // This is a one-line c++ style comment\n"