package com.bignerdranch.linette.detectors; import com.android.tools.lint.detector.api.Detector; import com.android.tools.lint.detector.api.Issue; import com.android.tools.lint.detector.api.TextFormat; import com.bignerdranch.linette.AbstractDetectorTest; import java.util.Arrays; import java.util.List; public class MinSdkDetectorTest extends AbstractDetectorTest { @Override protected Detector getDetector() { return new MinSdkDetector(); } @Override protected List<Issue> getIssues() { return Arrays.asList(MinSdkDetector.ISSUE); } @Override protected String getTestResourceDirectory() { return "minsdk"; } /** * Test that a valid AndroidManifest.xml has no warnings. */ public void testValidManifest() throws Exception { assertEquals( NO_WARNINGS, lintFiles("ValidAndroidManifest.xml=>AndroidManifest.xml") ); } /** * Test that an invalid AndroidManifest.xml has a warning. */ public void testInvalidManifest() throws Exception { String warningMessage = MinSdkDetectorTest.class.getSimpleName() + "_" + Thread.currentThread().getStackTrace()[1].getMethodName() + ": Warning: " + MinSdkDetector.ISSUE.getBriefDescription(TextFormat.TEXT) + " [" + MinSdkDetector.ISSUE.getId() + "]\n" + "0 errors, 1 warnings\n"; assertEquals( warningMessage, lintFiles("InvalidAndroidManifest.xml=>AndroidManifest.xml") ); } }