For #15707: add MozillaStrictModeSuppressionTest.
parent
12e856ca11
commit
6a635c479b
@ -0,0 +1,70 @@
|
|||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
package org.mozilla.fenix.detektrules
|
||||||
|
|
||||||
|
import io.gitlab.arturbosch.detekt.api.Config
|
||||||
|
import io.gitlab.arturbosch.detekt.test.lint
|
||||||
|
import org.junit.jupiter.api.Assertions.*
|
||||||
|
import org.junit.jupiter.api.BeforeEach
|
||||||
|
import org.junit.jupiter.api.Test
|
||||||
|
|
||||||
|
internal class MozillaStrictModeSuppressionTest {
|
||||||
|
|
||||||
|
private lateinit var check: MozillaStrictModeSuppression
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
fun setUp() {
|
||||||
|
check = MozillaStrictModeSuppression(Config.empty)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `GIVEN a file with import not resetAfter WHEN linting THEN pass`() {
|
||||||
|
val file = """import android.os.StrictMode"""
|
||||||
|
assertNoFinding(file)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `GIVEN a file with import ac resetAfter WHEN linting THEN fail`() {
|
||||||
|
val file = """import mozilla.components.support.ktx.android.os.resetAfter"""
|
||||||
|
assertOneFinding(file)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `GIVEN a file with StrictMode getVmPolicy WHEN linting THEN pass`() {
|
||||||
|
val file = """fun main() {
|
||||||
|
| val policy = StrictMode.getVmPolicy()
|
||||||
|
| }""".trimMargin()
|
||||||
|
assertNoFinding(file)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `GIVEN a file with StrictMode setVmPolicy WHEN linting THEN fail`() {
|
||||||
|
val file = """fun main() {
|
||||||
|
| val policy = StrictMode.VmPolicy.Builder.build()
|
||||||
|
| StrictMode.setVmPolicy(policy)
|
||||||
|
| }""".trimMargin()
|
||||||
|
assertOneFinding(file)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `GIVEN a file with StrictMode setThreadPolicy WHEN linting THEN fail`() {
|
||||||
|
val file = """fun main() {
|
||||||
|
| val policy = StrictMode.ThreadPolicy.Builder.build()
|
||||||
|
| StrictMode.setThreadPolicy(policy)
|
||||||
|
| }""".trimMargin()
|
||||||
|
assertOneFinding(file)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun assertNoFinding(fileStr: String) {
|
||||||
|
val findings = check.lint(fileStr)
|
||||||
|
assertEquals(0, findings.size)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun assertOneFinding(fileStr: String) {
|
||||||
|
val findings = check.lint(fileStr)
|
||||||
|
assertEquals(1, findings.size)
|
||||||
|
assertEquals(check.issue, findings.first().issue)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue