summaryrefslogtreecommitdiff
path: root/SafetyCenter/ConfigLintChecker/tests/java/android/safetycenter/lint/test/ParserExceptionDetectorTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'SafetyCenter/ConfigLintChecker/tests/java/android/safetycenter/lint/test/ParserExceptionDetectorTest.kt')
-rw-r--r--SafetyCenter/ConfigLintChecker/tests/java/android/safetycenter/lint/test/ParserExceptionDetectorTest.kt51
1 files changed, 43 insertions, 8 deletions
diff --git a/SafetyCenter/ConfigLintChecker/tests/java/android/safetycenter/lint/test/ParserExceptionDetectorTest.kt b/SafetyCenter/ConfigLintChecker/tests/java/android/safetycenter/lint/test/ParserExceptionDetectorTest.kt
index 869780eea..1cd693ef6 100644
--- a/SafetyCenter/ConfigLintChecker/tests/java/android/safetycenter/lint/test/ParserExceptionDetectorTest.kt
+++ b/SafetyCenter/ConfigLintChecker/tests/java/android/safetycenter/lint/test/ParserExceptionDetectorTest.kt
@@ -16,6 +16,7 @@
package android.safetycenter.lint.test
+import android.os.Build.VERSION_CODES.TIRAMISU
import android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE
import android.safetycenter.lint.FileSdk
import android.safetycenter.lint.ParserExceptionDetector
@@ -48,7 +49,7 @@ class ParserExceptionDetectorTest : LintDetectorTest() {
lint()
.files(
xml("res/raw/safety_center_config.xml", VALID_TIRAMISU_CONFIG),
- STRINGS_WITH_REFERENCE_XML
+ STRINGS_WITH_REFERENCE_XML_DEFAULT
)
.run()
.expectClean()
@@ -59,7 +60,7 @@ class ParserExceptionDetectorTest : LintDetectorTest() {
lint()
.files(
xml("res/raw-99/safety_center_config.xml", VALID_TIRAMISU_CONFIG),
- STRINGS_WITH_REFERENCE_XML
+ STRINGS_WITH_REFERENCE_XML_DEFAULT
)
.run()
.expectClean()
@@ -100,7 +101,7 @@ class ParserExceptionDetectorTest : LintDetectorTest() {
lint()
.files(
xml("res/raw/safety_center_config.xml", VALID_UDC_CONFIG),
- STRINGS_WITH_REFERENCE_XML
+ STRINGS_WITH_REFERENCE_XML_DEFAULT
)
.run()
.expect(
@@ -111,6 +112,40 @@ class ParserExceptionDetectorTest : LintDetectorTest() {
}
@Test
+ fun validTConfigWithUReference_throwsInT() {
+ FileSdk.maxVersionOverride = TIRAMISU
+ lint()
+ .files(
+ xml("res/raw/safety_center_config.xml", VALID_TIRAMISU_CONFIG),
+ xml("res/values-v34/strings.xml", STRINGS_WITH_REFERENCE_XML),
+ )
+ .run()
+ .expect(
+ "res/raw/safety_center_config.xml: Error: Parser exception at sdk=33: " +
+ "\"Resource name \"@lint.test.pkg:string/reference\" in " +
+ "safety-sources-group.title missing or invalid\", cause: \"null\" " +
+ "[InvalidSafetyCenterConfig]\n1 errors, 0 warnings"
+ )
+ }
+
+ @Test
+ fun validTConfigWithOtherLanguageReference_throwsInT() {
+ FileSdk.maxVersionOverride = TIRAMISU
+ lint()
+ .files(
+ xml("res/raw/safety_center_config.xml", VALID_TIRAMISU_CONFIG),
+ xml("res/values-ar/strings.xml", STRINGS_WITH_REFERENCE_XML),
+ )
+ .run()
+ .expect(
+ "res/raw/safety_center_config.xml: Error: Parser exception at sdk=33: " +
+ "\"Resource name \"@lint.test.pkg:string/reference\" in " +
+ "safety-sources-group.title missing or invalid\", cause: \"null\" " +
+ "[InvalidSafetyCenterConfig]\n1 errors, 0 warnings"
+ )
+ }
+
+ @Test
fun unrelatedFile_doesNotThrow() {
lint().files(xml("res/raw/some_other_config.xml", "<some-other-root/>")).run().expectClean()
}
@@ -121,15 +156,15 @@ class ParserExceptionDetectorTest : LintDetectorTest() {
}
private companion object {
- val STRINGS_WITH_REFERENCE_XML: TestFile =
- xml(
- "res/values/strings.xml",
- """
+ const val STRINGS_WITH_REFERENCE_XML =
+ """
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="reference" translatable="false">Reference</string>
</resources>
"""
- )
+
+ val STRINGS_WITH_REFERENCE_XML_DEFAULT: TestFile =
+ xml("res/values/strings.xml", STRINGS_WITH_REFERENCE_XML)
const val VALID_TIRAMISU_CONFIG =
"""