diff options
author | Bob Badour <bbadour@google.com> | 2020-05-06 14:30:13 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-05-06 14:30:13 +0000 |
commit | d3c69fa48e25645a343d97ac392300583e38b30a (patch) | |
tree | fd845444b59dfc72656b7781596e0b1a0662c4c7 /eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoringTest.java | |
parent | 0300bcd44ebe99ec7118dab453986fefd9a0555e (diff) | |
parent | fc7cda06f54946e3a03ea008c1ba086d90aeef84 (diff) | |
download | sdk-d3c69fa48e25645a343d97ac392300583e38b30a.tar.gz |
Merge "Revert "Remove unused project."" am: fc7cda06f5
Change-Id: I1dbd864aa8ee9e2a44b6acc173c12740abf9447f
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoringTest.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoringTest.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoringTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoringTest.java new file mode 100644 index 000000000..582ed0f27 --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoringTest.java @@ -0,0 +1,59 @@ +/* + * 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.layout.refactoring; + +import static com.android.SdkConstants.FQCN_RADIO_BUTTON; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.ltk.core.refactoring.Change; +import org.w3c.dom.Element; + +import java.util.List; + +public class ChangeViewRefactoringTest extends RefactoringTest { + + public void testChangeView1() throws Exception { + checkRefactoring("sample1a.xml", FQCN_RADIO_BUTTON, "@+id/button1", "@+id/button6"); + } + + public void testChangeView2() throws Exception { + // Tests (1) updating references to the renamed id of the changed widgets + // (e.g. button3 is renamed to imageButton1 and layout references to button3 + // must be updated), and (2) removal of attributes not available in the new type + // (the text property is removed since it is not available on the new widget + // type ImageButton) + checkRefactoring("sample2.xml", "android.widget.ImageButton", + "@+id/button3", "@+id/button5"); + } + + private void checkRefactoring(String basename, String newType, + String... ids) throws Exception { + assertTrue(ids.length > 0); + + IFile file = getLayoutFile(getProject(), basename); + TestContext info = setupTestContext(file, basename); + TestLayoutEditorDelegate layoutEditor = info.mLayoutEditorDelegate; + List<Element> selectedElements = getElements(info.mElement, ids); + + ChangeViewRefactoring refactoring = new ChangeViewRefactoring(selectedElements, + layoutEditor); + refactoring.setType(newType); + + List<Change> changes = refactoring.computeChanges(new NullProgressMonitor()); + checkEdits(basename, changes); + } +} |