blob: 7da40041de8cbfc578a1f1aa83ed540bd22dcc6b [file] [log] [blame]
/*
* Copyright (C) 2011 The Android Open Source Project
*
* 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 com.android.tools.lint.checks;
import com.android.tools.lint.detector.api.Detector;
@SuppressWarnings("javadoc")
public class OverdrawDetectorTest extends AbstractCheckTest {
@Override
protected Detector getDetector() {
return new OverdrawDetector();
}
public void test() throws Exception {
assertEquals(
"res/layout/main.xml:5: Warning: Possible overdraw: Root element paints background @drawable/ic_launcher with a theme that also paints a background (inferred theme is @style/MyTheme_First) [Overdraw]\n" +
" android:background=\"@drawable/ic_launcher\"\n" +
" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
"res/layout/second.xml:5: Warning: Possible overdraw: Root element paints background @drawable/ic_launcher with a theme that also paints a background (inferred theme is @style/MyTheme) [Overdraw]\n" +
" android:background=\"@drawable/ic_launcher\"\n" +
" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
"res/layout/sixth.xml:4: Warning: Possible overdraw: Root element paints background @drawable/custombg with a theme that also paints a background (inferred theme is @style/MyTheme) [Overdraw]\n" +
" android:background=\"@drawable/custombg\"\n" +
" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
"res/layout/third.xml:5: Warning: Possible overdraw: Root element paints background @drawable/ic_launcher with a theme that also paints a background (inferred theme is @style/MyTheme_Third) [Overdraw]\n" +
" android:background=\"@drawable/ic_launcher\"\n" +
" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
"0 errors, 4 warnings\n" +
"",
lintProject(
"overdraw/.classpath=>.classpath",
"overdraw/.project=>.project",
"overdraw/AndroidManifest.xml=>AndroidManifest.xml",
"overdraw/project.properties=>project.properties",
"overdraw/res/drawable/custombg.xml=>res/drawable/custombg.xml",
"overdraw/res/drawable/custombg2.xml=>res/drawable/custombg2.xml",
"overdraw/res/drawable-hdpi/ic_launcher.png=>res/drawable-hdpi/ic_launcher.png",
"overdraw/res/drawable-ldpi/ic_launcher.png=>res/drawable-ldpi/ic_launcher.png",
"overdraw/res/drawable-mdpi/ic_launcher.png=>res/drawable-mdpi/ic_launcher.png",
"overdraw/res/layout/sixth.xml=>res/layout/sixth.xml",
"overdraw/res/layout/fifth.xml=>res/layout/fifth.xml",
"overdraw/res/layout/fourth.xml=>res/layout/fourth.xml",
"overdraw/res/layout/main.xml=>res/layout/main.xml",
"overdraw/res/layout/second.xml=>res/layout/second.xml",
"overdraw/res/layout/third.xml=>res/layout/third.xml",
"overdraw/res/values/strings.xml=>res/values/strings.xml",
"overdraw/res/values/styles.xml=>res/values/styles.xml",
// Java files must be renamed in source tree
"overdraw/gen/test/pkg/BuildConfig.java.txt=>gen/test/pkg/BuildConfig.java",
"overdraw/gen/test/pkg/R.java.txt=>gen/test/pkg/R.java",
"overdraw/src/test/pkg/FourthActivity.java.txt=>src/test/pkg/FourthActivity.java",
"overdraw/src/test/pkg/OverdrawActivity.java.txt=>src/test/pkg/OverdrawActivity.java",
"overdraw/src/test/pkg/SecondActivity.java.txt=>src/test/pkg/SecondActivity.java",
"overdraw/src/test/pkg/ThirdActivity.java.txt=>src/test/pkg/ThirdActivity.java"
));
}
public void testSuppressed() throws Exception {
assertEquals(
"No warnings.",
lintProject(
"overdraw/.classpath=>.classpath",
"overdraw/.project=>.project",
"overdraw/AndroidManifest.xml=>AndroidManifest.xml",
"overdraw/project.properties=>project.properties",
"overdraw/res/drawable/custombg.xml=>res/drawable/custombg.xml",
"overdraw/res/drawable/custombg2.xml=>res/drawable/custombg2.xml",
"overdraw/res/drawable-hdpi/ic_launcher.png=>res/drawable-hdpi/ic_launcher.png",
"overdraw/res/drawable-ldpi/ic_launcher.png=>res/drawable-ldpi/ic_launcher.png",
"overdraw/res/drawable-mdpi/ic_launcher.png=>res/drawable-mdpi/ic_launcher.png",
"overdraw/res/layout/main_ignore.xml=>res/layout/main.xml",
"overdraw/res/values/strings.xml=>res/values/strings.xml",
"overdraw/res/values/styles.xml=>res/values/styles.xml",
// Java files must be renamed in source tree
"overdraw/gen/test/pkg/BuildConfig.java.txt=>gen/test/pkg/BuildConfig.java",
"overdraw/gen/test/pkg/R.java.txt=>gen/test/pkg/R.java",
"overdraw/src/test/pkg/FourthActivity.java.txt=>src/test/pkg/FourthActivity.java",
"overdraw/src/test/pkg/OverdrawActivity.java.txt=>src/test/pkg/OverdrawActivity.java",
"overdraw/src/test/pkg/SecondActivity.java.txt=>src/test/pkg/SecondActivity.java",
"overdraw/src/test/pkg/ThirdActivity.java.txt=>src/test/pkg/ThirdActivity.java"
));
}
}