blob: 0f19eea4bba831328cb33f7e257ca77357774f6d [file] [log] [blame]
/*
* Copyright 2000-2011 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.openapi.vfs.VirtualFile;
import java.io.IOException;
import java.util.List;
/**
* @author Eugene.Kudelevsky
*/
public class AndroidDrawableResourcesDomTest extends AndroidDomTest {
public AndroidDrawableResourcesDomTest() {
super(true, "dom/drawable");
}
@Override
public void setUp() throws Exception {
super.setUp();
copyFileToProject("myDrawable.png", "res/drawable/myDrawable.png");
copyFileToProject("otherResource.xml", "res/values/strings1.xml");
}
@Override
protected String getPathToCopy(String testFileName) {
return "res/drawable/" + testFileName;
}
public void testStateListHighlighting() throws Throwable {
doTestHighlighting();
}
public void testStateListHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testStateListCompletion1() throws Throwable {
doTestCompletion();
}
public void testStateListCompletion2() throws Throwable {
doTestCompletion();
}
public void testStateListCompletion3() throws Throwable {
doTestCompletion();
}
public void testStateListCompletion4() throws Throwable {
doTestCompletion();
}
public void testStateListCompletion5() throws Throwable {
doTestCompletion();
}
public void testStateListCompletion6() throws Throwable {
doTestCompletion();
}
public void testStateListCompletion7() throws Throwable {
copyFileToProject("colors.xml", "res/values/colors.xml");
doTestCompletion();
}
public void testSelectorHighlighting() throws Throwable {
doTestHighlighting();
}
public void testItemListHighlighting() throws Throwable {
doTestHighlighting();
}
public void testBitmapHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testBitmapHighlighting2() throws Throwable {
doTestHighlighting();
}
public void testBitmapHighlighting3() throws Throwable {
doTestHighlighting();
}
public void testBitmapCompletion1() throws Throwable {
doTestCompletion();
}
public void testBitmapCompletion2() throws Throwable {
doTestOnlyDrawableReferences();
}
public void testNinePatchHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testNinePatchHighlighting2() throws Throwable {
doTestHighlighting();
}
public void testNinePatchCompletion1() throws Throwable {
doTestCompletion();
}
public void testNinePatchCompletion2() throws Throwable {
doTestOnlyDrawableReferences();
}
public void testLayerListHighlighting() throws Throwable {
doTestHighlighting();
}
public void testLayerListHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testLayerListHighlighting2() throws Throwable {
doTestHighlighting();
}
public void testLayerListCompletion1() throws Throwable {
doTestCompletion();
}
public void testLayerListCompletion2() throws Throwable {
doTestOnlyDrawableReferences();
}
public void testLayerListCompletion3() throws Throwable {
doTestCompletion();
}
public void testLayerListCompletion4() throws Throwable {
doTestCompletion();
}
public void testLevelListHighlighting() throws Throwable {
doTestHighlighting();
}
public void testLevelListCompletion1() throws Throwable {
doTestOnlyDrawableReferences();
}
public void testLevelListCompletion2() throws Throwable {
doTestCompletion();
}
public void testLevelListCompletion3() throws Throwable {
doTestCompletion();
}
public void testTransitionHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testTransitionHighlighting2() throws Throwable {
doTestHighlighting();
}
public void testTransitionCompletion1() throws Throwable {
doTestCompletion();
}
public void testTransitionCompletion2() throws Throwable {
doTestCompletion();
}
public void testInsetHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testInsetHighlighting2() throws Throwable {
doTestHighlighting();
}
public void testInsetCompletion1() throws Throwable {
doTestCompletion();
}
public void testInsetCompletion2() throws Throwable {
doTestOnlyDrawableReferences();
}
public void testClipHighlighting() throws Throwable {
doTestHighlighting();
}
public void testClipCompletion1() throws Throwable {
doTestCompletion();
}
public void testClipCompletion2() throws Throwable {
doTestOnlyDrawableReferences();
}
public void testScaleHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testScaleHighlighting2() throws Throwable {
doTestHighlighting();
}
public void testScaleHighlighting3() throws Throwable {
doTestHighlighting();
}
public void testScaleCompletion1() throws Throwable {
doTestCompletion();
}
public void testScaleCompletion2() throws Throwable {
doTestOnlyDrawableReferences();
}
public void testShapeHighlighting() throws Throwable {
doTestHighlighting();
}
public void testShapeCompletion1() throws Throwable {
doTestCompletion();
}
public void testShapeCompletion2() throws Throwable {
doTestCompletionVariants(getTestName(true) + ".xml", "gradient", "solid", "size", "stroke", "padding", "corners");
}
public void testAnimationListHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testAnimationListHighlighting2() throws Throwable {
doTestHighlighting();
}
public void testAnimationListCompletion1() throws Throwable {
doTestCompletion();
}
public void testAnimationListCompletion2() throws Throwable {
doTestCompletion();
}
public void testAnimationListCompletion3() throws Throwable {
doTestCompletion();
}
public void testAnimatedRotateCompletion1() throws Throwable {
doTestCompletion();
}
public void testAnimatedRotateCompletion2() throws Throwable {
doTestOnlyDrawableReferences();
}
public void testAnimatedRotateHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testAnimatedRotateHighlighting2() throws Throwable {
doTestHighlighting();
}
public void testRotateCompletion1() throws Throwable {
doTestCompletion();
}
public void testRotateCompletion2() throws Throwable {
doTestOnlyDrawableReferences();
}
public void testRotateHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testRotateHighlighting2() throws Throwable {
doTestHighlighting();
}
public void testIncorrectRootTag() throws Throwable {
doTestHighlighting();
}
public void testSelectorAnimationHighlighting() throws Throwable {
doTestHighlighting();
}
/* Disabled until the attrs.xml file in the unit test distribution is updated to Android L
public void testAnimatedVectorHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testVectorHighlighting1() throws Throwable {
doTestHighlighting();
}
public void testVectorHighlighting2() throws Throwable {
doTestHighlighting();
}
*/
public void testRootTagCompletion() throws Throwable {
doTestCompletionVariants(getTestName(true) + ".xml", "selector", "bitmap", "nine-patch", "layer-list", "level-list", "transition",
"inset", "clip", "color", "scale", "shape", "animation-list", "animated-rotate", "rotate",
// API 21:
"ripple", "vector", "animated-vector", "animated-selector");
}
public void testInlineClip() throws Throwable {
doTestHighlighting();
}
public void testIds() throws Throwable {
myFixture.copyFileToProject(SdkConstants.FN_ANDROID_MANIFEST_XML, SdkConstants.FN_ANDROID_MANIFEST_XML);
copyFileToProject("ids.xml");
final VirtualFile javaFile = copyFileToProject("IdsClass.java", "src/p1/p2/IdsClass.java");
myFixture.configureFromExistingVirtualFile(javaFile);
myFixture.checkHighlighting(true, false, false);
}
private void doTestOnlyDrawableReferences() throws IOException {
VirtualFile file = copyFileToProject(getTestName(true) + ".xml");
myFixture.configureFromExistingVirtualFile(file);
myFixture.complete(CompletionType.BASIC);
List<String> lookupElementStrings = myFixture.getLookupElementStrings();
assertNotNull(lookupElementStrings);
for (String s : lookupElementStrings) {
if (!s.startsWith("@android") && !s.startsWith("@drawable") && !s.startsWith("@color")) {
fail("Variant " + s + " shouldn't be there");
}
}
}
}