[res] Add the grammatical gender qualifier
Bug: 237579711
Test: UTs + build + boot
Change-Id: Id0919799a8a364f109ff351974f02e4f151f23cd
diff --git a/libs/androidfw/tests/ConfigDescription_test.cpp b/libs/androidfw/tests/ConfigDescription_test.cpp
index 8fed0a4..f5c01e5 100644
--- a/libs/androidfw/tests/ConfigDescription_test.cpp
+++ b/libs/androidfw/tests/ConfigDescription_test.cpp
@@ -154,4 +154,22 @@
EXPECT_FALSE(ParseConfigOrDie("600x400").ConflictsWith(ParseConfigOrDie("300x200")));
}
+TEST(ConfigDescriptionTest, TestGrammaticalGenderQualifier) {
+ ConfigDescription config;
+ EXPECT_TRUE(TestParse("feminine", &config));
+ EXPECT_EQ(android::ResTable_config::GRAMMATICAL_GENDER_FEMININE, config.grammaticalInflection);
+ EXPECT_EQ(SDK_U, config.sdkVersion);
+ EXPECT_EQ(std::string("feminine-v34"), config.toString().string());
+
+ EXPECT_TRUE(TestParse("masculine", &config));
+ EXPECT_EQ(android::ResTable_config::GRAMMATICAL_GENDER_MASCULINE, config.grammaticalInflection);
+ EXPECT_EQ(SDK_U, config.sdkVersion);
+ EXPECT_EQ(std::string("masculine-v34"), config.toString().string());
+
+ EXPECT_TRUE(TestParse("neuter", &config));
+ EXPECT_EQ(android::ResTable_config::GRAMMATICAL_GENDER_NEUTER, config.grammaticalInflection);
+ EXPECT_EQ(SDK_U, config.sdkVersion);
+ EXPECT_EQ(std::string("neuter-v34"), config.toString().string());
+}
+
} // namespace android
diff --git a/libs/androidfw/tests/Config_test.cpp b/libs/androidfw/tests/Config_test.cpp
index 698c36f..5477621 100644
--- a/libs/androidfw/tests/Config_test.cpp
+++ b/libs/androidfw/tests/Config_test.cpp
@@ -205,4 +205,18 @@
EXPECT_EQ(defaultConfig.diff(hdrConfig), ResTable_config::CONFIG_COLOR_MODE);
}
+TEST(ConfigTest, GrammaticalGender) {
+ ResTable_config defaultConfig = {};
+ ResTable_config masculine = {};
+ masculine.grammaticalInflection = ResTable_config::GRAMMATICAL_GENDER_MASCULINE;
+
+ EXPECT_EQ(defaultConfig.diff(masculine), ResTable_config::CONFIG_GRAMMATICAL_GENDER);
+
+ ResTable_config feminine = {};
+ feminine.grammaticalInflection = ResTable_config::GRAMMATICAL_GENDER_FEMININE;
+
+ EXPECT_EQ(defaultConfig.diff(feminine), ResTable_config::CONFIG_GRAMMATICAL_GENDER);
+ EXPECT_EQ(masculine.diff(feminine), ResTable_config::CONFIG_GRAMMATICAL_GENDER);
+}
+
} // namespace android.