diff options
author | Jay Arthanareeswaran | 2019-05-10 16:18:14 +0000 |
---|---|---|
committer | Jay Arthanareeswaran | 2019-05-13 08:13:47 +0000 |
commit | 07c03e0c1a8370acadbedde0194541eadc4b20d4 (patch) | |
tree | 055f6d19c53e0c881cee4ee5202ffc4ba23606d2 /org.eclipse.jdt.core.tests.compiler | |
parent | ca057284776b53a6c26c46cec81546df9ed4cf32 (diff) | |
download | eclipse.jdt.core-07c03e0c1a8370acadbedde0194541eadc4b20d4.tar.gz eclipse.jdt.core-07c03e0c1a8370acadbedde0194541eadc4b20d4.tar.xz eclipse.jdt.core-07c03e0c1a8370acadbedde0194541eadc4b20d4.zip |
compiler.problem.ProblemReporter.duplicateCase(...) on reconcile
Change-Id: Ie97b4e108f4ce1c15376cba577d55e40d148663c
Signed-off-by: Jay Arthanareeswaran <jarthana@in.ibm.com>
Diffstat (limited to 'org.eclipse.jdt.core.tests.compiler')
-rw-r--r-- | org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java | 86 |
1 files changed, 75 insertions, 11 deletions
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java index 66d8d68d83..31eba3a614 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/SwitchExpressionTest.java @@ -699,10 +699,10 @@ public class SwitchExpressionTest extends AbstractRegressionTest { }; String expectedProblemLog = - "----------\n" + - "1. ERROR in X.java (at line 7)\n" + - " case SUNDAY : System.out.println(Day.SUNDAY);\n" + - " ^^^^^^^^^^^\n" + + "----------\n" + + "1. ERROR in X.java (at line 4)\n" + + " case SATURDAY, SUNDAY: \n" + + " ^^^^^^^^^^^^^^^^^^^^^\n" + "Duplicate case\n" + "----------\n" + "2. ERROR in X.java (at line 7)\n" + @@ -748,9 +748,9 @@ public class SwitchExpressionTest extends AbstractRegressionTest { " ^^^\n" + "The enum constant MONDAY needs a corresponding case label in this enum switch on Day\n" + "----------\n" + - "2. ERROR in X.java (at line 7)\n" + - " case SUNDAY, SATURDAY : \n" + - " ^^^^^^^^^^^^^^^^^^^^^\n" + + "2. ERROR in X.java (at line 4)\n" + + " case SATURDAY, SUNDAY: \n" + + " ^^^^^^^^^^^^^^^^^^^^^\n" + "Duplicate case\n" + "----------\n" + "3. ERROR in X.java (at line 7)\n" + @@ -1154,8 +1154,8 @@ public class SwitchExpressionTest extends AbstractRegressionTest { }; String expectedProblemLog = "----------\n" + - "1. ERROR in X.java (at line 8)\n" + - " case 3, 4: \n" + + "1. ERROR in X.java (at line 6)\n" + + " case 1, 3: \n" + " ^^^^^^^^^\n" + "Duplicate case\n" + "----------\n" + @@ -1195,8 +1195,8 @@ public class SwitchExpressionTest extends AbstractRegressionTest { }; String expectedProblemLog = "----------\n" + - "1. ERROR in X.java (at line 8)\n" + - " case \"b\", \"c\": \n" + + "1. ERROR in X.java (at line 6)\n" + + " case \"a\", \"b\": \n" + " ^^^^^^^^^^^^^\n" + "Duplicate case\n" + "----------\n" + @@ -2472,4 +2472,68 @@ public class SwitchExpressionTest extends AbstractRegressionTest { "Illegal last statement in Switch expression case body - continue, return not allowed\n" + "----------\n"); } + public void testBug547125_01() { + this.runNegativeTest( + new String[] { + "X.java", + "public class X {\n" + + " void foo(Day day) {\n" + + " switch (day) {\n" + + " case SATURDAY, SUNDAY, SUNDAY:\n" + + " System.out.println(\"Weekend\");\n" + + " case MONDAY:\n" + + " System.out.println(\"Weekday\");\n" + + " default: \n" + + " }\n" + + " }\n" + + "}\n" + + "\n" + + "enum Day {\n" + + " MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;\n" + + "}", + }, + "----------\n" + + "1. ERROR in X.java (at line 4)\n" + + " case SATURDAY, SUNDAY, SUNDAY:\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Duplicate case\n" + + "----------\n"); + } + public void testBug547125_02() { + this.runNegativeTest( + new String[] { + "X.java", + "public class X {\n" + + " void foo(Day day) {\n" + + " switch (day) {\n" + + " case SATURDAY, SUNDAY, MONDAY:\n" + + " System.out.println(\"Weekend\");\n" + + " case MONDAY, SUNDAY:\n" + + " System.out.println(\"Weekday\");\n" + + " default: \n" + + " }\n" + + " }\n" + + "}\n" + + "\n" + + "enum Day {\n" + + " MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;\n" + + "}", + }, + "----------\n" + + "1. ERROR in X.java (at line 4)\n" + + " case SATURDAY, SUNDAY, MONDAY:\n" + + " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + + "Duplicate case\n" + + "----------\n" + + "2. ERROR in X.java (at line 6)\n" + + " case MONDAY, SUNDAY:\n" + + " ^^^^^^^^^^^^^^^^^^^\n" + + "Duplicate case\n" + + "----------\n" + + "3. ERROR in X.java (at line 6)\n" + + " case MONDAY, SUNDAY:\n" + + " ^^^^^^^^^^^^^^^^^^^\n" + + "Duplicate case\n" + + "----------\n"); + } } |