diff options
Diffstat (limited to 'libs/androidfw/tests/AssetManager2_test.cpp')
-rw-r--r-- | libs/androidfw/tests/AssetManager2_test.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/androidfw/tests/AssetManager2_test.cpp b/libs/androidfw/tests/AssetManager2_test.cpp index 7cac2b3417b5..3118009fef90 100644 --- a/libs/androidfw/tests/AssetManager2_test.cpp +++ b/libs/androidfw/tests/AssetManager2_test.cpp @@ -329,6 +329,17 @@ TEST_F(AssetManager2Test, MergesStylesWithParentFromSingleApkAssets) { EXPECT_EQ(0, bag_two->entries[5].cookie); } +TEST_F(AssetManager2Test, MergeStylesCircularDependency) { + AssetManager2 assetmanager; + assetmanager.SetApkAssets({style_assets_.get()}); + + // GetBag should stop traversing the parents of styles when a circular + // dependency is detected + const ResolvedBag* bag_one = assetmanager.GetBag(app::R::style::StyleFour); + ASSERT_NE(nullptr, bag_one); + ASSERT_EQ(3u, bag_one->entry_count); +} + TEST_F(AssetManager2Test, ResolveReferenceToResource) { AssetManager2 assetmanager; assetmanager.SetApkAssets({basic_assets_.get()}); |