blob: 529f61ecbc4d17938b9f3c560f4a74e1c8849d3b [file] [log] [blame]
/*
* Copyright 2000-2009 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
*
* 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 org.jetbrains.android.dom;
import com.android.SdkConstants;
import com.intellij.codeInsight.completion.CompletionType;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.openapi.vfs.VirtualFile;
import java.util.List;
/**
* Created by IntelliJ IDEA.
* User: Eugene.Kudelevsky
* Date: Jun 11, 2009
* Time: 8:37:59 PM
* To change this template use File | Settings | File Templates.
*/
public class AndroidXmlResourcesDomTest extends AndroidDomTest {
public AndroidXmlResourcesDomTest() {
super(false, "dom/xml");
}
@Override
public void setUp() throws Exception {
super.setUp();
myFixture.copyFileToProject(SdkConstants.FN_ANDROID_MANIFEST_XML, SdkConstants.FN_ANDROID_MANIFEST_XML);
}
@Override
protected String getPathToCopy(String testFileName) {
return "res/xml/" + testFileName;
}
public void testPreferenceRootCompletion() throws Throwable {
toTestCompletion("pref1.xml", "pref1_after.xml");
}
public void testPreferenceChildrenCompletion() throws Throwable {
toTestCompletion("pref2.xml", "pref2_after.xml");
}
public void testPreferenceAttributeNamesCompletion1() throws Throwable {
doTestCompletionVariants("pref3.xml", "summary", "summaryOn", "summaryOff");
}
public void testPreferenceAttributeNamesCompletion2() throws Throwable {
toTestCompletion("pref4.xml", "pref4_after.xml");
}
public void testPreferenceAttributeValueCompletion() throws Throwable {
doTestCompletionVariants("pref5.xml", "@string/welcome", "@string/welcome1");
}
public void testPreferenceCompletion6() throws Throwable {
VirtualFile file = copyFileToProject("pref6.xml");
myFixture.configureFromExistingVirtualFile(file);
myFixture.complete(CompletionType.BASIC);
List<String> lookupElementStrings = myFixture.getLookupElementStrings();
assertNotNull(lookupElementStrings);
assertTrue(lookupElementStrings.contains("PreferenceScreen"));
assertFalse(lookupElementStrings.contains("android.preference.PreferenceScreen"));
}
public void testPreferenceCompletion7() throws Throwable {
toTestCompletion("pref7.xml", "pref7_after.xml");
}
public void testPreferenceCompletion8() throws Throwable {
VirtualFile file = copyFileToProject("pref8.xml");
myFixture.configureFromExistingVirtualFile(file);
myFixture.complete(CompletionType.BASIC);
List<String> lookupElementStrings = myFixture.getLookupElementStrings();
assertNotNull(lookupElementStrings);
assertTrue(lookupElementStrings.contains("CheckBoxPreference"));
assertFalse(lookupElementStrings.contains("android.preference.CheckBoxPreference"));
}
public void testPreferenceCompletion9() throws Throwable {
VirtualFile file = copyFileToProject("pref9.xml");
myFixture.configureFromExistingVirtualFile(file);
myFixture.complete(CompletionType.BASIC);
List<String> lookupElementStrings = myFixture.getLookupElementStrings();
assertNotNull(lookupElementStrings);
assertTrue(lookupElementStrings.contains("preference.CheckBoxPreference"));
}
public void testSearchableRoot() throws Throwable {
toTestCompletion("searchable_r.xml", "searchable_r_after.xml");
}
public void testSearchableAttributeName() throws Throwable {
toTestCompletion("searchable_an.xml", "searchable_an_after.xml");
}
public void testSearchableAttributeValue() throws Throwable {
doTestCompletionVariants("searchable_av.xml", "@string/welcome", "@string/welcome1");
}
public void testSearchableTagNameCompletion() throws Throwable {
toTestCompletion("searchable_tn.xml", "searchable_tn_after.xml");
}
public void testPreferenceIntent() throws Throwable {
doTestHighlighting("pref_intent.xml");
}
public void testPreferenceIntent1() throws Throwable {
toTestCompletion("pref_intent1.xml", "pref_intent1_after.xml");
}
public void testPreferenceIntentDoc() throws Throwable {
myFixture.configureFromExistingVirtualFile(copyFileToProject("pref_intent_doc.xml"));
myFixture.complete(CompletionType.BASIC);
myFixture.type("VIE");
doTestExternalDoc("the \"standard\" action that is");
}
public void testPreferenceIntentDoc1() throws Throwable {
myFixture.configureFromExistingVirtualFile(copyFileToProject("pref_intent_doc1.xml"));
doTestExternalDoc("the \"standard\" action that is");
}
public void testPreferenceWidget() throws Throwable {
toTestCompletion("pref_widget.xml", "pref_widget_after.xml");
}
public void testKeyboard() throws Throwable {
doTestHighlighting("keyboard.xml");
}
public void testKeyboard1() throws Throwable {
toTestCompletion("keyboard1.xml", "keyboard1_after.xml");
}
public void testDeviceAdmin() throws Throwable {
doTestHighlighting("deviceAdmin.xml");
}
public void testDeviceAdmin1() throws Throwable {
toTestCompletion("deviceAdmin1.xml", "deviceAdmin1_after.xml");
}
public void testDeviceAdmin2() throws Throwable {
toTestCompletion("deviceAdmin2.xml", "deviceAdmin2_after.xml");
}
public void testDeviceAdmin3() throws Throwable {
toTestCompletion("deviceAdmin3.xml", "deviceAdmin3_after.xml");
}
public void testAccountAuthenticator() throws Throwable {
toTestCompletion("accountAuthenticator.xml", "accountAuthenticator_after.xml");
}
public void testAccountAuthenticator1() throws Throwable {
toTestCompletion("accountAuthenticator1.xml", "accountAuthenticator1_after.xml");
}
public void testAppwidgetProviderConfigure() throws Throwable {
copyFileToProject("MyWidgetConfigurable.java", "src/p1/p2/MyWidgetConfigurable.java");
doTestCompletion();
}
public void testPreferenceHeaders() throws Throwable {
copyFileToProject("MyFragmentActivity.java", "src/p1/p2/MyFragmentActivity.java");
doTestHighlighting();
}
public void testCustomPreference1() throws Throwable {
copyFileToProject("MyPreference.java", "src/p1/p2/MyPreference.java");
toTestCompletion("customPref1.xml", "customPref1_after.xml");
}
public void testCustomPreference2() throws Throwable {
copyFileToProject("MyPreference.java", "src/p1/p2/MyPreference.java");
toTestCompletion("customPref2.xml", "customPref2_after.xml");
}
public void testPreferenceHeaders1() throws Throwable {
doTestCompletion();
}
public void testAndroidPrefixCompletion() throws Throwable {
doTestAndroidPrefixCompletion("android:");
}
public void testHtmlAsXmlResource() throws Throwable {
doTestHighlighting();
}
public void testCustomXmlFileHighlighting() throws Throwable {
doTestHighlighting();
}
public void testCustomXmlFileCompletion1() throws Throwable {
doTestCompletionVariants(getTestName(true) + ".xml");
}
public void testCustomXmlFileCompletion2() throws Throwable {
VirtualFile file = copyFileToProject(getTestName(true) + ".xml");
myFixture.configureFromExistingVirtualFile(file);
myFixture.complete(CompletionType.BASIC);
final LookupElement[] lookupElements = myFixture.getLookupElements();
assertNotNull(lookupElements);
for (LookupElement element : lookupElements) {
if ("http://www.w3.org/1999/xhtml".equals(element.getLookupString())) {
return;
}
}
fail();
}
public void testJavaCompletion1() throws Throwable {
copyFileToProject("javaCompletion.xml");
doTestJavaCompletion("p1.p2");
}
}