diff options
author | Bob Badour <bbadour@google.com> | 2020-05-06 15:54:00 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-05-06 15:54:00 +0000 |
commit | c6f9015f6bf1b59f46d6bb87f5e48cbab3cb94de (patch) | |
tree | fd845444b59dfc72656b7781596e0b1a0662c4c7 /eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ChangeViewRefactoringTest.java | |
parent | b96d49b79df68d7cc1d63c15fe7416e27e419151 (diff) | |
parent | 9d23b89ef175eab9c26c504e6b6cdf5cd28c0b34 (diff) | |
download | sdk-c6f9015f6bf1b59f46d6bb87f5e48cbab3cb94de.tar.gz |
Merge "Revert "Remove unused project."" am: fc7cda06f5 am: d3c69fa48e am: d58f8ba3b1 am: f1a59c9833 am: 9d23b89ef1
Change-Id: I463b8ee72ee68d390c4398e5287b6d1003197939
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); + } +} |