package me.ycdev.android.arch.lint; import com.android.tools.lint.detector.api.Detector; import com.android.tools.lint.detector.api.Issue; import java.util.Collections; import java.util.List; public class MyBaseActivityDetectorTest extends AbstractCheckTest { @Override protected Detector getDetector() { return new MyBaseActivityDetector(); } @Override protected List<Issue> getIssues() { return Collections.singletonList(MyBaseActivityDetector.ISSUE); } public void testGood() throws Exception { String result = lintProject("java/me/ycdev/android/arch/demo/activity/LintGoodActivity.java" + "=>src/me/ycdev/android/arch/demo/activity/LintGoodActivity.java"); assertEquals("No warnings." + "", result); } public void testGood2() throws Exception { String result = lintProject("java/me/ycdev/android/arch/demo/activity/LintGood2Activity.java" + "=>src/me/ycdev/android/arch/demo/activity/LintGood2Activity.java"); assertEquals("No warnings." + "", result); } public void testGood3() throws Exception { String result = lintProject("java/me/ycdev/android/arch/demo/activity/LintGood3Activity.java" + "=>src/me/ycdev/android/arch/demo/activity/LintGood3Activity.java"); assertEquals("No warnings." + "", result); } public void testViolation() throws Exception { String result = lintProject("java/me/ycdev/android/arch/demo/activity/LintViolationActivity.java" + "=>src/me/ycdev/android/arch/demo/activity/LintViolationActivity.java"); // TODO lint test engine cannot resolve their-party code (including Android Support Library) assertEquals("??????????" + "", result); } public void testViolation2() throws Exception { String result = lintProject("java/me/ycdev/android/arch/demo/activity/LintViolation2Activity.java" + "=>src/me/ycdev/android/arch/demo/activity/LintViolation2Activity.java"); assertEquals("src/me/ycdev/android/arch/demo/activity/LintViolation2Activity.java:9: Error: Please use the base classes for Activity. [MyBaseActivity]\n" + "public class LintViolation2Activity extends Activity { // lint violation\n" + " ~~~~~~~~~~~~~~~~~~~~~~\n" + "1 errors, 0 warnings\n" + "", result); } }