diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCharacterMatcherTest.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCharacterMatcherTest.java | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCharacterMatcherTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCharacterMatcherTest.java deleted file mode 100644 index acb2b049b..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCharacterMatcherTest.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (C) 2011 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; - -import com.android.ide.eclipse.adt.internal.editors.layout.refactoring.AdtProjectTest; - -import org.eclipse.core.resources.IFile; -import org.eclipse.jface.text.IRegion; -import org.eclipse.jface.text.source.ISourceViewer; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.ide.IDE; -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; - -@SuppressWarnings("restriction") -public class AndroidXmlCharacterMatcherTest extends AdtProjectTest { - public void testGotoMatchingFwd1() throws Exception { - checkGotoMatching( - "<app^lication android:icon", - "^</application>"); - } - - public void testGotoMatchingFwd2() throws Exception { - checkGotoMatching( - "^<application android:icon", - "^</application>"); - } - - public void testGotoMatchingFwd3() throws Exception { - checkGotoMatching( - "<application^ android:icon", - "^</application>"); - } - - public void testGotoMatchingBwd1() throws Exception { - checkGotoMatching( - "^</application>", - "^<application android:icon"); - } - - public void testGotoMatchingBwd2() throws Exception { - checkGotoMatching( - "<^/application>", - "^<application android:icon"); - } - - public void testGotoMatchingBwd3() throws Exception { - checkGotoMatching( - "</^application>", - "^<application android:icon"); - } - - public void testGotoMatchingBwd4() throws Exception { - checkGotoMatching( - "</app^lication>", - "^<application android:icon"); - } - - public void testGotoMatchingBwd5() throws Exception { - checkGotoMatching( - "</^application>", - "^<application android:icon"); - } - - public void testGotoMatchingBwd6() throws Exception { - checkGotoMatching( - "</^application>", - "^<application android:icon"); - } - - public void testGotoMatchingFwd4() throws Exception { - checkGotoMatching( - "<intent-filter^>", - "^</intent-filter>"); - } - - public void testGotoMatchingFwd5() throws Exception { - checkGotoMatching( - "<intent-filter>^", - "^</intent-filter>"); - } - - public void testGotoMatchingFallback() throws Exception { - // Character matching is done by the superclass; ensure that fallback to the - // other XML matchers is working - checkGotoMatching( - "android:icon=^\"@drawable/icon\"", - "android:icon=\"@drawable/icon^\""); - } - - private void checkGotoMatching(IFile file, String caretBefore, - String caretAfter) throws Exception { - IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - assertNotNull(page); - IEditorPart editor = IDE.openEditor(page, file); - assertTrue(editor instanceof AndroidXmlEditor); - AndroidXmlEditor layoutEditor = (AndroidXmlEditor) editor; - ISourceViewer viewer = layoutEditor.getStructuredSourceViewer(); - - int caretPosBefore = updateCaret(viewer, caretBefore); - - AndroidXmlCharacterMatcher matcher = new AndroidXmlCharacterMatcher(); - IStructuredDocument document = layoutEditor.getStructuredDocument(); - - IRegion match = matcher.match(document, caretPosBefore); - assertNotNull(match); - - String text = document.get(); - final String after = stripCaret(caretAfter); - int index = text.indexOf(after); - int caretPosAfter = match.getOffset() - index; - String textWithCaret = after.substring(0, caretPosAfter) - + "^" + after.substring(caretPosAfter); - - assertEquals(caretAfter, textWithCaret); - } - - private static String stripCaret(String s) { - int index = s.indexOf('^'); - assertTrue(index != -1); - return s.substring(0, index) + s.substring(index + 1); - } - - private void checkGotoMatching(String caretBefore, - String caretAfter) throws Exception { - checkGotoMatching( - getTestDataFile(getProject(), "manifest.xml", "AndroidManifest.xml", true), - caretBefore, caretAfter); - } -} |