summaryrefslogtreecommitdiff
path: root/libs/androidfw/tests
diff options
context:
space:
mode:
authorRyan Mitchell <rtmitchell@google.com>2020-11-16 23:08:18 +0000
committerRyan Mitchell <rtmitchell@google.com>2020-12-08 16:59:06 +0000
commita45506e6f6619f59ce1ae94b20ad377b86966be0 (patch)
tree377104fd9714aabca65cbb343971fd2cda1d00a8 /libs/androidfw/tests
parente7ab62723ac8bc1c95405353e7f625956b1dfbe3 (diff)
Revert^2 "Cache resolved theme values"
6ca48473e533a8b89abac6294a0bb8130b8c8c89 Change-Id: Icb295186b85e1edcdcebc1d746f7ff0d6ef66829 Merged-In: Icb295186b85e1edcdcebc1d746f7ff0d6ef66829
Diffstat (limited to 'libs/androidfw/tests')
-rw-r--r--libs/androidfw/tests/AssetManager2_test.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/libs/androidfw/tests/AssetManager2_test.cpp b/libs/androidfw/tests/AssetManager2_test.cpp
index 0f5afd45546c..471b0ee1e7e9 100644
--- a/libs/androidfw/tests/AssetManager2_test.cpp
+++ b/libs/androidfw/tests/AssetManager2_test.cpp
@@ -458,6 +458,37 @@ TEST_F(AssetManager2Test, KeepLastReferenceIdUnmodifiedIfNoReferenceIsResolved)
EXPECT_EQ(basic::R::string::test1, value.resid);
}
+TEST_F(AssetManager2Test, ResolveReferenceMissingResourceDoNotCacheFlags) {
+ AssetManager2 assetmanager;
+ assetmanager.SetApkAssets({basic_assets_.get()});
+ {
+ AssetManager2::SelectedValue value{};
+ value.data = basic::R::string::test1;
+ value.type = Res_value::TYPE_REFERENCE;
+ value.flags = ResTable_config::CONFIG_KEYBOARD;
+
+ auto result = assetmanager.ResolveReference(value);
+ ASSERT_TRUE(result.has_value());
+ EXPECT_EQ(Res_value::TYPE_STRING, value.type);
+ EXPECT_EQ(0, value.cookie);
+ EXPECT_EQ(basic::R::string::test1, value.resid);
+ EXPECT_EQ(ResTable_typeSpec::SPEC_PUBLIC | ResTable_config::CONFIG_KEYBOARD, value.flags);
+ }
+ {
+ AssetManager2::SelectedValue value{};
+ value.data = basic::R::string::test1;
+ value.type = Res_value::TYPE_REFERENCE;
+ value.flags = ResTable_config::CONFIG_COLOR_MODE;
+
+ auto result = assetmanager.ResolveReference(value);
+ ASSERT_TRUE(result.has_value());
+ EXPECT_EQ(Res_value::TYPE_STRING, value.type);
+ EXPECT_EQ(0, value.cookie);
+ EXPECT_EQ(basic::R::string::test1, value.resid);
+ EXPECT_EQ(ResTable_typeSpec::SPEC_PUBLIC | ResTable_config::CONFIG_COLOR_MODE, value.flags);
+ }
+}
+
TEST_F(AssetManager2Test, ResolveReferenceMissingResource) {
AssetManager2 assetmanager;
assetmanager.SetApkAssets({basic_assets_.get()});