aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2010-12-09 15:22:29 -0800
committerAndroid Code Review <code-review@android.com>2010-12-09 15:22:29 -0800
commiteadfb94154126f670fa0ada62d36fec5f6188bd9 (patch)
tree9f9b6e4ffdd16c9894b14ef7a09827c75ba254fd /eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android
parentf7bb5e5fe9c3e6cda5f6d2c4a1db4673a2f8f02d (diff)
parent2a58932d3c4e2642cbdbfc161b4f7b884b3d7ea6 (diff)
downloadsdk-eadfb94154126f670fa0ada62d36fec5f6188bd9.zip
sdk-eadfb94154126f670fa0ada62d36fec5f6188bd9.tar.gz
sdk-eadfb94154126f670fa0ada62d36fec5f6188bd9.tar.bz2
Merge "Add a hyperlink resolved for Android XML files"
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtPluginTest.java41
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/xml/XmlHyperlinkResolverTest.java40
2 files changed, 81 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtPluginTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtPluginTest.java
new file mode 100644
index 0000000..ab20473
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/AdtPluginTest.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/org/documents/epl-v10.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.ide.eclipse.adt;
+
+import java.io.StringReader;
+
+import junit.framework.TestCase;
+
+public class AdtPluginTest extends TestCase {
+ public void testReaderContains() throws Exception {
+ String input = "this is a test";
+ assertFalse(AdtPlugin.streamContains(new StringReader(input), "hello"));
+ assertTrue(AdtPlugin.streamContains(new StringReader(input), "this"));
+ assertFalse(AdtPlugin.streamContains(new StringReader(input), "thiss"));
+ assertTrue(AdtPlugin.streamContains(new StringReader(input), "is a"));
+ assertTrue(AdtPlugin.streamContains(new StringReader("ABC ABCDAB ABCDABCDABDE"),
+ "ABCDABD"));
+ assertFalse(AdtPlugin.streamContains(new StringReader("ABC ABCDAB ABCDABCDABDE"),
+ "ABCEABD"));
+ }
+
+ public void testReadStream() throws Exception {
+ String input = "this is a test";
+ String contents = AdtPlugin.readFile(new StringReader(input));
+ assertEquals(input, contents);
+ }
+
+}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/xml/XmlHyperlinkResolverTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/xml/XmlHyperlinkResolverTest.java
new file mode 100644
index 0000000..917dbe4
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/xml/XmlHyperlinkResolverTest.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/org/documents/epl-v10.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.ide.eclipse.adt.internal.editors.xml;
+
+import junit.framework.TestCase;
+
+public class XmlHyperlinkResolverTest extends TestCase {
+ public void testFqnRegexp() throws Exception {
+ assertTrue(XmlHyperlinkResolver.CLASS_PATTERN.matcher("com.android.Foo").matches());
+ assertTrue(XmlHyperlinkResolver.CLASS_PATTERN.matcher("com.android.pk_g.Foo_Bar1").
+ matches());
+ assertTrue(XmlHyperlinkResolver.CLASS_PATTERN.matcher("com.android.Foo$Inner").matches());
+
+ // Should we allow non-standard packages and class names?
+ // For now, we're allowing it -- see how this works out in practice.
+ //assertFalse(XmlHyperlinkResolver.CLASS_PATTERN.matcher("Foo.bar").matches());
+ assertTrue(XmlHyperlinkResolver.CLASS_PATTERN.matcher("Foo.bar").matches());
+
+ assertFalse(XmlHyperlinkResolver.CLASS_PATTERN.matcher("LinearLayout").matches());
+ assertFalse(XmlHyperlinkResolver.CLASS_PATTERN.matcher(".").matches());
+ assertFalse(XmlHyperlinkResolver.CLASS_PATTERN.matcher(".F").matches());
+ assertFalse(XmlHyperlinkResolver.CLASS_PATTERN.matcher("f.").matches());
+ assertFalse(XmlHyperlinkResolver.CLASS_PATTERN.matcher("Foo").matches());
+ assertFalse(XmlHyperlinkResolver.CLASS_PATTERN.matcher("com.android.1Foo").matches());
+ assertFalse(XmlHyperlinkResolver.CLASS_PATTERN.matcher("1com.Foo").matches());
+ }
+}