X-Git-Url: http://secure.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 deleted file mode 100644 index b460407..0000000 --- a/net.sourceforge.phpeclipse.tests/src/net/sourceforge/phpeclipse/tests/parser/PHPManualTestCase.java +++ /dev/null @@ -1,322 +0,0 @@ -package net.sourceforge.phpeclipse.tests.parser; -/********************************************************************** -Copyright (c) 2002 Klaus Hartlage - www.eclipseproject.de -All rights reserved. This program and the accompanying materials -are made available under the terms of the Common Public License v1.0 -which accompanies this distribution, and is available at -http://www.eclipse.org/legal/cpl-v10.html -**********************************************************************/ - -import net.sourceforge.phpdt.internal.compiler.parser.Parser; -import net.sourceforge.phpdt.internal.compiler.parser.Scanner; - -import org.eclipse.core.runtime.CoreException; -import junit.framework.TestCase; - -/** - * Tests the php parser - */ -public class PHPManualTestCase extends TestCase { - - Parser parser; - - public PHPManualTestCase(String name) { - super(name); - } - - /** - * Test the PHP Parser with different PHP snippets - */ - public void testPHPParser() { - // Bugs item #690938 - checkPHP( - " echo \"This is a test\"; // This is a one-line c++ style comment\n" - + " /* This is a multi line comment\n" - + " yet another line of comment */\n" - + " echo \"This is yet another test\";\n" - + " echo \"One Final Test\"; # This is shell-style style comment \n"); - checkPHP( - "$bool = TRUE; // a boolean\n" - + "$str = \"foo\"; // a string\n" - + "$int = 12; // an integer\n" - + "\n" - + "echo gettype($bool); // prints out \"boolean\"\n" - + "echo gettype($str); // prints out \"string\"\n" - + "" - + "// If this is an integer, increment it by four\n" - + "if (is_int($int)) {\n" - + " $int += 4;\n" - + "}\n" - + "\n" - + "// If $bool is a string, print it out\n" - + "// (does not print out anything)\n" - + "if (is_string($bool)) {\n" - + " echo \"String: $bool\";\n" - + "}\n"); - - checkPHP("$foo = True; // assign the value TRUE to $foo"); - - checkPHP( - "// == is an operator which test\n" - + "// equality and returns a boolean\n" - + "if ($action == \"show_version\") {\n" - + " echo \"The version is 1.23\";\n" - + "}\n" - + "\n" - + "// this is not necessary...\n" - + "if ($show_separators == TRUE) {\n" - + " echo \"
\\n\";\n" - + "}\n" - + "\n" - + "// ...because you can simply type\n" - + "if ($show_separators) {\n" - + " echo \"
\\n\";\n" - + "}"); - - checkPHP( - "echo gettype((bool) \"\"); // bool(false)\n" - + "echo gettype((bool) 1); // bool(true)\n" - + "echo gettype((bool) -2); // bool(true)\n" - + "echo gettype((bool) \"foo\"); // bool(true)\n" - + "echo gettype((bool) 2.3e5); // bool(true)\n" - + "echo gettype((bool) array(12)); // bool(true)\n" - + "echo gettype((bool) array()); // bool(false)\n"); - - checkPHP( - "$a = 1234; # decimal number\n" - + "$a = -123; # a negative number\n" - + "$a = 0123; # octal number (equivalent to 83 decimal)\n" - + "$a = 0x1A; # hexadecimal number (equivalent to 26 decimal)\n"); - - checkPHP( - "$large_number = 2147483647;\n" - + "var_dump($large_number);\n" - + "// output: int(2147483647)\n" - + "\n" - + "$large_number = 2147483648;\n" - + "var_dump($large_number);\n" - + "// output: float(2147483648)\n" - + "" - + "// this goes also for hexadecimal specified integers:\n" - + "var_dump( 0x80000000 );\n" - + "// output: float(2147483648)\n" - + "\n" - + "$million = 1000000;\n" - + "$large_number = 50000 * $million;\n" - + "var_dump($large_number);\n" - + "// output: float(50000000000)\n"); - - checkPHP( - "var_dump(25/7); // float(3.5714285714286)\n" - + "var_dump((int) (25/7)); // int(3)\n" - + "var_dump(round(25/7)); // float(4)"); - - checkPHP("echo (int) ( (0.1+0.7) * 10 ); // echoes 7!"); - - checkPHP("$a = 1.234; " + "$b = 1.2e3; " + "$c = 7E-10;"); - - checkPHP( - "echo 'this is a simple string';\n" - + "\n" - + "echo 'You can also have embedded newlines in \n" - + "strings this way as it is\n" - + "okay to do';\n" - + "\n" - + "// Outputs: \"I'll be back\"\n" - + "echo 'Arnold once said: \"I\\'ll be back\"';\n" - + "\n" - + "// Outputs: You deleted C:\\*.*?\n" - + "echo 'You deleted C:\\\\*.*?';\n" - + "\n" - + "// Outputs: You deleted C:\\*.*?\n" - + "echo 'You deleted C:\\\\*.*?';\n" - + "\n" - + "// Outputs: This will not expand: \\n a newline\n" - + "echo 'This will not expand: \\n a newline';\n" - + "\n" - + "// Outputs: Variables do not $expand $either\n" - + "echo 'Variables do not $expand $either';\n"); - - checkPHP( - "$str = <<foo = 'Foo';\n" - + " $this->bar = array('Bar1', 'Bar2', 'Bar3');\n" - + " }\n" - + "}\n" - + "\n" - + "$foo = new foo();\n" - + "$name = 'MyName';\n" - + "\n" - + "echo <<foo.\n" - + "Now, I am printing some {$foo->bar[1]}.\n" - + "This should print a capital 'A': \\x41\n" - + "EOT;\n"); - - checkPHP("echo \"This works: \" . $arr['foo'][3];"); - - checkPHP("echo \"\\$foo==$foo; type is \" . gettype ($foo) . \"
\\n\";"); - - checkPHP( - "$arr = array(\"foo\" => \"bar\", 12 => true);\n" - + "\n" - + "echo $arr[\"foo\"]; // bar\n" - + "echo $arr[12]; // 1\n"); - - checkPHP( - "// This array is the same as ...\n" - + "array(5 => 43, 32, 56, \"b\" => 12);\n" - + "\n" - + "// ...this array\n" - + "array(5 => 43, 6 => 32, 7 => 56, \"b\" => 12);\n"); - - checkPHP( - "$arr = array(5 => 1, 12 => 2);\n" - + "\n" - + "$arr[] = 56; // This is the same as $arr[13] = 56;\n" - + " // at this point of the script\n" - + "\n" - + "$arr[\"x\"] = 42; // This adds a new element to\n" - + " // the array with key \"x\"\n" - + " \n" - + "unset($arr[5]); // This removes the element from the array\n" - + "\n" - + "unset($arr); // This deletes the whole array\n"); - - checkPHP("$foo[bar] = 'enemy';\n" + "echo $foo[bar];"); - - checkPHP( - "$a = array( 'color' => 'red',\n" - + " 'taste' => 'sweet',\n" - + " 'shape' => 'round',\n" - + " 'name' => 'apple',\n" - + " 4 // key will be 0\n" - + " );\n" - + "\n" - + "// is completely equivalent with\n" - + "$a['color'] = 'red';\n" - + "$a['taste'] = 'sweet';\n" - + "$a['shape'] = 'round';\n" - + "$a['name'] = 'apple';\n" - + "$a[] = 4; // key will be 0\n" - + "\n" - + "$b[] = 'a';\n" - + "$b[] = 'b';\n" - + "$b[] = 'c';\n" - + "// will result in the array array(0 => 'a' , 1 => 'b' , 2 => 'c'),\n" - + "// or simply array('a', 'b', 'c')\n"); - - checkPHP( - "foreach ($colors as $key => $color) {\n" - + " // won't work:\n" - + " //$color = strtoupper($color);\n" - + " \n" - + " // works:\n" - + " $colors[$key] = strtoupper($color);\n" - + "}\n" - + "print_r($colors);\n"); - - checkPHP( - "$fruits = array ( \"fruits\" => array ( \"a\" => \"orange\",\n" - + " \"b\" => \"banana\",\n" - + " \"c\" => \"apple\"\n" - + " ),\n" - + " \"numbers\" => array ( 1,\n" - + " 2,\n" - + " 3,\n" - + " 4,\n" - + " 5,\n" - + " 6,\n" - + " ),\n" - + " \"holes\" => array ( \"first\",\n" - + " 5 => \"second\",\n" - + " \"third\"\n" - + " )\n" - + " );\n" - + "\n" - + "// Some examples to address values in the array above \n" - + "echo $fruits[\"holes\"][5]; // prints \"second\"\n" - + "echo $fruits[\"fruits\"][\"a\"]; // prints \"orange\"\n" - + "unset($fruits[\"holes\"][0]); // remove \"first\"\n" - + "\n" - + "// Create a new multi-dimensional array\n" - + "$juices[\"apple\"][\"green\"] = \"good\"; \n"); - - checkPHP("$arr3 = &$arr1;"); - - checkPHP( - "class foo\n" - + "{\n" - + " function do_foo()\n" - + " {\n" - + " echo \"Doing foo.\"; \n" - + " }\n" - + "}\n" - + "\n" - + "$bar = new foo;\n" - + "$bar->do_foo();\n"); - - checkPHP( - "$obj = (object) 'ciao';\n" + - "echo $obj->scalar; // outputs 'ciao'"); - - checkPHP("$var = NULL;"); - - checkPHP("$var = \"Bob\";\n" + - "$Var = \"Joe\";\n" + - "echo \"$var, $Var\"; // outputs \"Bob, Joe\"\n" + - "\n" + - // "$4site = 'not yet'; // invalid; starts with a number\n" + - "$_4site = 'not yet'; // valid; starts with an underscore\n" + - "$täyte = 'mansikka'; \n"); - - checkPHP(""); - - checkPHP(""); - - checkPHP(""); - } - - private void checkPHP(String strEval) { - try { - if (Scanner.DEBUG) { - System.out.println("\n------------------------------------"); - System.out.println(strEval); - } - parser.phpParserTester(strEval, 1); - } catch (CoreException e) { - } - } - - private void checkHTML(String strEval) { - try { - if (Scanner.DEBUG) { - System.out.println("\n------------------------------------"); - System.out.println(strEval); - } - parser.parse(strEval); - } catch (CoreException e) { - } - } - - /** - * The JUnit setup method - */ - protected void setUp() { - parser = new Parser(null); - } - -}