package butterknife.lint; import com.android.tools.lint.detector.api.Detector; import com.android.tools.lint.detector.api.Issue; import com.google.common.collect.ImmutableList; import java.util.List; public class InvalidR2UsageDetectorTest extends LintDetectorTestBase { private static final String PATH_TEST_RESOURCES = "/src/test/java/sample/r2/"; private static final String NO_WARNINGS = "No warnings."; private static final String R2 = "R2.java"; private static final String BIND_TEST = "BindTest.java"; @Override protected Detector getDetector() { return new InvalidR2UsageDetector(); } @Override protected List<Issue> getIssues() { return ImmutableList.of(InvalidR2UsageDetector.ISSUE); } @Override protected String getTestResourcesPath() { return PATH_TEST_RESOURCES; } public void testNoR2Usage() throws Exception { String file = "NoR2Usage.java"; assertSame(NO_WARNINGS, lintFiles(file)); } public void testR2UsageInAnnotations() throws Exception { String file = "R2UsageInAnnotations.java"; assertSame(NO_WARNINGS, lintFiles(file, BIND_TEST, R2)); } public void testR2UsageOutsideAnnotations() throws Exception { String file = "R2UsageOutsideAnnotations.java"; String lintOutput = lintFiles(file, R2); assertNotSame(NO_WARNINGS, lintOutput); assertTrue(lintOutput.contains("2 errors, 0 warnings")); } public void testR2UsageWithSuppression() throws Exception { String file = "R2UsageWithSuppression.java"; String lintOutput = lintFiles(file, R2); assertSame(NO_WARNINGS, lintOutput); } }