Fixed bug 341977: [DBCS 3.7] Open from clipboard does not work for DBCS.
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/ui/OpenFromClipboardTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/ui/OpenFromClipboardTests.java
index 3ae2da7..63846fb 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/ui/OpenFromClipboardTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/ui/OpenFromClipboardTests.java
@@ -25,9 +25,11 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
@@ -140,43 +142,25 @@
return matches;
}
- // type tests
- private void setupTypeTest() throws JavaModelException {
- IPackageFragment pack = fSourceFolder.createPackageFragment("p", false, null);
- StringBuffer buf = new StringBuffer();
- buf.append("package p;\n");
- buf.append("public class OpenFromClipboardTests {\n");
- buf.append("}\n");
- pack.createCompilationUnit("OpenFromClipboardTests.java", buf.toString(), false, null);
- }
-
- private void setupTypeWithDollarSignTest() throws JavaModelException {
- IPackageFragment pack = fSourceFolder.createPackageFragment("p", false, null);
- StringBuffer buf = new StringBuffer();
- buf.append("package p;\n");
- buf.append("public class OpenFromClipboard$Tests {\n");
- buf.append(" void getMatching$Pattern(){\n");
- buf.append(" }\n");
- buf.append("}\n");
- pack.createCompilationUnit("OpenFromClipboard$Tests.java", buf.toString(), false, null);
- }
-
- private void setupTypeWithDBCSTest() throws JavaModelException {
+ private void setupTypeTest(String typeName) throws CoreException {
IPackageFragment pack= fSourceFolder.createPackageFragment("p", false, null);
+ ((IContainer)pack.getUnderlyingResource()).setDefaultCharset("UTF-8", null);
StringBuffer buf= new StringBuffer();
buf.append("package p;\n");
- buf.append("public class 新規クラス {\n");
+ buf.append("public class " + typeName + " {\n");
buf.append(" void getMatching$Pattern(){\n");
buf.append(" }\n");
buf.append("}\n");
- pack.createCompilationUnit("新規クラス.java", buf.toString(), false, null);
+ ICompilationUnit x= pack.createCompilationUnit(typeName + ".java", buf.toString(), false, null);
+ x.exists();
+
}
public void testClassFileLine_1() throws Exception {
String s = "OpenFromClipboardTests.java:100";
assertEquals(JAVA_FILE_LINE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
@@ -185,7 +169,7 @@
String s = "OpenFromClipboardTests.java : 100";
assertEquals(JAVA_FILE_LINE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
@@ -194,16 +178,30 @@
String s = "OpenFromClipboard$Tests.java:100";
assertEquals(JAVA_FILE_LINE, getMatachingPattern(s));
- setupTypeWithDollarSignTest();
+ setupTypeTest("OpenFromClipboard$Tests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
- public void _testDBCS() throws Exception {
- String s= "新規クラス.java:100";
+ public void testDBCS() throws Exception {
+ String typeName= "\u65b0\u898f\u30af\u30e9\u30b9";
+ String s= typeName + ".java:100";
+
assertEquals(JAVA_FILE_LINE, getMatachingPattern(s));
- setupTypeWithDBCSTest();
+ setupTypeTest(typeName);
+
+ List matches= getJavaElementMatches(s);
+ assertEquals(1, matches.size());
+ }
+
+ public void testUmlaut() throws Exception {
+ String typeName= "\u0042\u006c\u00f6\u0064";
+ String s= typeName + ".java:100";
+
+ assertEquals(JAVA_FILE_LINE, getMatachingPattern(s));
+
+ setupTypeTest(typeName);
List matches= getJavaElementMatches(s);
assertEquals(1, matches.size());
@@ -213,7 +211,7 @@
String s = "OpenFromClipboardTests.java";
assertEquals(JAVA_FILE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
@@ -222,7 +220,7 @@
String s = "OpenFromClipboardTests:100";
assertEquals(TYPE_LINE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
@@ -231,7 +229,7 @@
String s = "OpenFromClipboardTests : 100";
assertEquals(TYPE_LINE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
@@ -241,7 +239,7 @@
String s = "(OpenFromClipboardTests.java:121)";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
@@ -250,7 +248,7 @@
String s = "( OpenFromClipboardTests.java : 121 )";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
@@ -259,7 +257,7 @@
String s = "at p.OpenFromClipboardTests.getMatchingPattern(OpenFromClipboardTests.java:121)";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
@@ -268,7 +266,7 @@
String s = "OpenFromClipboardTests.getMatchingPattern(OpenFromClipboardTests.java:121)";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
@@ -277,24 +275,24 @@
String s = "OpenFromClipboardTests.getMatchingPattern ( OpenFromClipboardTests.java : 121 )";
assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
- setupTypeTest();
+ setupTypeTest("OpenFromClipboardTests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
public void testStackTraceLine_6() throws Exception {
String s = "at p.OpenFromClipboard$Tests.getMatching$Pattern(OpenFromClipboardTests.java:121)";
- assertEquals(STACK_TRACE_LINE, getMatachingPattern(s));
+ setupTypeTest("OpenFromClipboardTests");
- setupTypeWithDollarSignTest();
+ setupTypeTest("OpenFromClipboard$Tests");
List matches = getJavaElementMatches(s);
assertEquals(1, matches.size());
}
// method tests
private void setupMethodTest() throws JavaModelException {
- IPackageFragment pack = fSourceFolder.createPackageFragment("p", false, null);
- StringBuffer buf = new StringBuffer();
+ IPackageFragment pack= fSourceFolder.createPackageFragment("p", false, null);
+ StringBuffer buf= new StringBuffer();
buf.append("package p;\n");
buf.append("public class OpenFromClipboardTests {\n");
buf.append(" private void invokeOpenFromClipboardCommand() {\n");
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenFromClipboardAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenFromClipboardAction.java
index 9cc3a66..1b6ebf8 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenFromClipboardAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/OpenFromClipboardAction.java
@@ -82,7 +82,7 @@
/**
* Pattern to match a simple name e.g. <code>OpenFromClipboardAction</code>
*/
- private static final String SIMPLE_NAME_PATTERN= "[\\p{Lo}\\w\\$]+"; //$NON-NLS-1$
+ private static final String SIMPLE_NAME_PATTERN= "\\p{javaJavaIdentifierStart}\\p{javaJavaIdentifierPart}*"; //$NON-NLS-1$
/**
* Pattern to match a qualified name e.g.