1 /* 2 * Copyright 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 @file:Suppress("UnstableApiUsage") 18 19 package androidx.build.lint 20 21 import com.android.tools.lint.checks.infrastructure.TestMode.Companion.PARTIAL 22 import org.junit.Test 23 import org.junit.runner.RunWith 24 import org.junit.runners.JUnit4 25 26 @RunWith(JUnit4::class) 27 class CameraXQuirksClassDetectorTest : 28 AbstractLintDetectorTest( 29 useDetector = CameraXQuirksClassDetector(), 30 useIssues = listOf(CameraXQuirksClassDetector.ISSUE) 31 ) { 32 33 @Test Detection of CameraX Quirks in Javanull34 fun `Detection of CameraX Quirks in Java`() { 35 val input = arrayOf(javaSample("androidx.CameraXMissingQuirkSummaryJava")) 36 37 val expected = 38 """ 39 src/androidx/CameraXMissingQuirkSummaryJava.java:22: Error: CameraX quirks should include this template in the javadoc: 40 41 * <p>QuirkSummary 42 * Bug Id: 43 * Description: 44 * Device(s): 45 [CameraXQuirksClassDetector] 46 public class CameraXMissingQuirkSummaryJava implements Quirk { 47 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 1 errors, 0 warnings 49 """ 50 .trimIndent() 51 52 lint() 53 .files(*stubs, *input) 54 .allowDuplicates() 55 .skipTestModes(PARTIAL) // b/324629808 56 .run() 57 .expect(expected) 58 } 59 } 60