--- /dev/null
+/*
+ * Created on 29.02.2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package net.sourceforge.phpeclipse.phpeditor.php.test;
+
+import net.sourceforge.phpdt.core.tests.util.AbstractCompilerTest;
+
+public class DualParseSyntaxErrorTest extends AbstractCompilerTest {
+ public static boolean optimizeStringLiterals = false;
+
+ public DualParseSyntaxErrorTest(String testName) {
+ super(testName);
+ }
+
+ public void test01() {
+ String s = "$login =1; " + "final class test {\n" + "\n"
+ + "private function f1() {\n" + "\n" + "}\n"
+ + "public function f2() {\n" + "\n" + " \n" + "} \n" + "}";
+
+ String expectedSyntaxErrorDiagnosis = "";
+
+ String testName = "<test01>";
+ checkParsePHP(s.toCharArray(), expectedSyntaxErrorDiagnosis);
+ // testName);
+ }
+
+ public void test02() {
+ String s = "class test { \n" + " function f0() \n"
+ + " { \n" + " } \n"
+ + "} \n";
+
+ String expectedSyntaxErrorDiagnosis = "";
+
+ String testName = "<test02>";
+ checkParsePHP(s.toCharArray(), expectedSyntaxErrorDiagnosis);
+ // testName);
+ }
+
+ public void test03() {
+ String s = "$chars = ( isset($HTTP_GET_VARS['chars']) ) ? intval($HTTP_GET_VARS['chars']) : 200;";
+ String expectedSyntaxErrorDiagnosis = "";
+
+ checkParsePHP(s.toCharArray(), expectedSyntaxErrorDiagnosis);
+ // testName);
+ }
+
+ public void test96() {
+ String s = "$str = <<<EOD\n" + "Example of string\n"
+ + "spanning multiple lines\n" + "using heredoc syntax.\n"
+ + "EOD;\n" + "\n"
+ + "/* More complex example, with variables. */\n"
+ + "class foo\n" + "{\n" + " var $foo;\n" + " var $bar;\n"
+ + "\n" + " function foo()\n" + " {\n"
+ + " $this->foo = 'Foo';\n"
+ + " $this->bar = array('Bar1', 'Bar2', 'Bar3');\n"
+ + " }\n" + "}\n" + "\n" + "$foo = new foo();\n"
+ + "$name = 'MyName';\n" + "\n" + "echo <<<EOT\n"
+ + "My name is \"$name\". I am printing some $foo->foo.\n"
+ + "Now, I am printing some {$foo->bar[1]}.\n"
+ + "This should print a capital 'A': \\x41\n" + "EOT;\n";
+ String expectedSyntaxErrorDiagnosis = "";
+
+ checkParsePHP(s.toCharArray(), expectedSyntaxErrorDiagnosis);
+ // testName);
+ }
+
+ public void test97() {
+ String s = "class momo { \n"
+ + " function &fetchRow($result, $fetchmode = DB_FETCHMODE_DEFAULT, $rownum=null) \n"
+ + " { \n" + " } \n"
+ + "} \n";
+
+ String expectedSyntaxErrorDiagnosis = "";
+
+ checkParsePHP(s.toCharArray(), expectedSyntaxErrorDiagnosis);
+ // testName);
+ }
+
+ public void test98() {
+ String s = "return(array());"
+ + "if(!$result = mysql_query($sql)) return(array());\n";
+
+ String expectedSyntaxErrorDiagnosis = "";
+
+ checkParsePHP(s.toCharArray(), expectedSyntaxErrorDiagnosis);
+ // testName);
+ }
+
+ public void test99() {
+ String s = "class test { \n"
+ + " murks; \n"
+ + " function &fetchRow($result, $fetchmode = DB_FETCHMODE_DEFAULT, $rownum=null) \n"
+ + " { \n" + " } \n"
+ + "} \n";
+
+ String expectedSyntaxErrorDiagnosis = "----------\n"
+ + "1. ERROR in (at line 1)\n"
+ + " murks; \n"
+ + " ^^^^^^\n"
+ + "Parser error \"\'public\' \'private\' or \'protected\' modifier expected for field declarations.\"\n"
+ + "----------\n"
+ // + "2. ERROR in (at line 1)\n"
+ // + " } \n"
+ // + " ^\n"
+ // + "Parser error \"Too many closing \'}\'; end-of-file not
+ // reached.\"\n"
+ // + "----------\n"
+ ;
+
+ checkParsePHP(s.toCharArray(), expectedSyntaxErrorDiagnosis);
+ // testName);
+ }
+}