X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/junit/sourceforge/phpeclipse/PHPParserTestCase.java b/net.sourceforge.phpeclipse/src/junit/sourceforge/phpeclipse/PHPParserTestCase.java index 91cb16e..adf4c17 100644 --- a/net.sourceforge.phpeclipse/src/junit/sourceforge/phpeclipse/PHPParserTestCase.java +++ b/net.sourceforge.phpeclipse/src/junit/sourceforge/phpeclipse/PHPParserTestCase.java @@ -7,7 +7,8 @@ which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v10.html **********************************************************************/ -import net.sourceforge.phpeclipse.phpeditor.phpparser.PHPParser; +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; @@ -17,7 +18,7 @@ import junit.framework.TestCase; */ public class PHPParserTestCase extends TestCase { - PHPParser parser; + Parser parser; public PHPParserTestCase(String name) { super(name); @@ -27,13 +28,22 @@ public class PHPParserTestCase extends TestCase { * Test the PHP Parser with different PHP snippets */ public void testPHPParser() { - - checkHTML("\n\n\n\n <?php print \"Hello world\" ?>"); - checkHTML("<?php phpinfo(); ?>"); - checkHTML("<?php phpinfo()?>"); - checkHTML("<?php phpinfo(); ?> foo <?php phpinfo(); ?>"); - checkHTML(" <?php //this is a line comment ?>"); - + // Bugs item #690938 + checkPHP( + "$ebus_sql['sel_url_list'] = <<<EOS\n" + + "select rtrim(URL_NAME) as url_name\n" + + " , rtrim(URL) as url\n" + + " , rtrim(URL_DESC) as url_desc\n" + + "from appl_url\n" + + "where appl_instnc_sk = <<INSTNC>>\n" + + "and appl_sect_deftn_sk = <<SECT>>\n" + + "order by url_ord\n" + + "EOS;\n"); + + checkPHP("foreach ($HTTP_GET_VARS as $secvalue) { }"); + checkPHP("\"\\\"\";"); + checkPHP("\"\\[addsig]\""); + checkPHP("$v->read();"); checkPHP("$add = 'a'.$i;$val = $$add;"); checkPHP("($a==\"b\") || (c($this->x)==\"d\");"); checkPHP("(substr($this->file, 0, 2) == \"MM\");"); @@ -46,7 +56,7 @@ public class PHPParserTestCase extends TestCase { checkPHP("$this->highlightfile = new $this->startmap[$startcurrtag]();"); checkPHP("echo \"Test\", \"me\";"); checkPHP("print (\"Test me\");"); - checkPHP("$s = <<<HEREDOC \n dskjfhskj\n \n\nHEREDOC;"); + checkPHP("$s = <<<HEREDOC \n dskjfhskj\n \n\nHEREDOC;"); checkPHP("$a == 0 ? print \"true\" : print \"false\";"); checkPHP("if(!$result = mysql_query($sql)) return(array());"); checkPHP("class test { function &fetchRow($result, $fetchmode = DB_FETCHMODE_DEFAULT, $rownum=null) \n{ \n } \n }"); @@ -69,9 +79,21 @@ public class PHPParserTestCase extends TestCase { checkPHP("class Cmd extends PEAR { var $arrSetting = array(), $i=10; }"); checkPHP("if (isset($test)) { } elseif (isset($lang)) { }"); checkPHP("require_once(\"mainfile.php\"); "); - checkPHP("if (eregi(\"footer.php\",$PHP_SELF)) {\n" + "Header(\"Location: index.php\");\n" + "die();\n" + "}\n"); - checkPHP("while (eregi(\"footer.php\",$PHP_SELF)) {\n" + "Header(\"Location: index.php\");\n" + "die();\n" + "}\n"); - checkPHP("while (eregi(\"footer.php\",$PHP_SELF)) :\n" + "Header(\"Location: index.php\");\n" + "die();\n" + "endwhile;\n"); + checkPHP( + "if (eregi(\"footer.php\",$PHP_SELF)) {\n" + + "Header(\"Location: index.php\");\n" + + "die();\n" + + "}\n"); + checkPHP( + "while (eregi(\"footer.php\",$PHP_SELF)) {\n" + + "Header(\"Location: index.php\");\n" + + "die();\n" + + "}\n"); + checkPHP( + "while (eregi(\"footer.php\",$PHP_SELF)) :\n" + + "Header(\"Location: index.php\");\n" + + "die();\n" + + "endwhile;\n"); checkPHP("$tipath = \"images/topics/\";"); checkPHP("$reasons = array(\"1\", \"2\",\"test\");"); checkPHP("if ($home == 1) { message_box(); blocks(Center);}"); @@ -80,8 +102,6 @@ public class PHPParserTestCase extends TestCase { checkPHP("list ($catid) = sql_fetch_row($result, $dbi);"); checkPHP("if (!$name) { \n }"); checkPHP("mt_srand((double)microtime()*1000000);"); - checkPHP("\"\\\"\";"); - checkPHP("$v->read();"); checkPHP("$alttext = ereg_replace(\"\\\"\", \"\", $alttext);"); checkPHP("$message .= \"\"._THISISAUTOMATED.\"\\n\\n\";"); checkPHP("if (!empty($pass) AND $pass==$passwd) { }"); @@ -104,10 +124,21 @@ public class PHPParserTestCase extends TestCase { checkPHP("do {$array[] = array(\"$myrow[uid]\" => \"$myrow[uname]\"); } while($myrow = mysql_fetch_array($result));"); checkPHP("$ol = new Overlib();"); checkPHP("$risultato = mysql_query($sql) or\n die(mysql_error());"); + + checkHTML("\n\n\n\n <?php print \"Hello world\" ?>"); + checkHTML("<?php phpinfo(); ?>"); + checkHTML("<?php phpinfo()?>"); + checkHTML("<?php phpinfo(); ?> foo <?php phpinfo(); ?>"); + checkHTML(" <?php //this is a line comment ?>"); + checkHTML("<?php echo $module_name ?>"); } private void checkPHP(String strEval) { try { + if (Scanner.DEBUG) { + System.out.println("\n------------------------------------"); + System.out.println(strEval); + } parser.phpParserTester(strEval, 1); } catch (CoreException e) { } @@ -115,6 +146,10 @@ public class PHPParserTestCase extends TestCase { private void checkHTML(String strEval) { try { + if (Scanner.DEBUG) { + System.out.println("\n------------------------------------"); + System.out.println(strEval); + } parser.parse(strEval); } catch (CoreException e) { } @@ -124,7 +159,7 @@ public class PHPParserTestCase extends TestCase { * The JUnit setup method */ protected void setUp() { - parser = new PHPParser(null); + parser = new Parser(null); } }