diff options
author | Ryan Mitchell <rtmitchell@google.com> | 2020-11-15 21:41:24 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-11-15 21:41:24 +0000 |
commit | 8f2f4e14deb73eee88094a40091c1cbaf2952d26 (patch) | |
tree | cdab2fb44da8a1b01d172b8165ba044080389511 /tools | |
parent | ba6f39518816a8e0060bfa90b9b7cb0472613e7d (diff) | |
parent | 527ebbaa55f42e90a05f12f0154294d2e9d16903 (diff) |
Merge "Fix DominatorTree for locale and mcc/mnc config"
Diffstat (limited to 'tools')
-rw-r--r-- | tools/aapt2/DominatorTree_test.cpp | 28 | ||||
-rw-r--r-- | tools/aapt2/optimize/ResourceDeduper_test.cpp | 22 |
2 files changed, 50 insertions, 0 deletions
diff --git a/tools/aapt2/DominatorTree_test.cpp b/tools/aapt2/DominatorTree_test.cpp index 3e49034310c3..52949da1b64f 100644 --- a/tools/aapt2/DominatorTree_test.cpp +++ b/tools/aapt2/DominatorTree_test.cpp @@ -198,5 +198,33 @@ TEST(DominatorTreeTest, NonZeroDensitiesMatch) { EXPECT_EQ(expected, printer.ToString(&tree)); } +TEST(DominatorTreeTest, MccMncIsPeertoLocale) { + const ConfigDescription default_config = {}; + const ConfigDescription de_config = test::ParseConfigOrDie("de"); + const ConfigDescription fr_config = test::ParseConfigOrDie("fr"); + const ConfigDescription mcc_config = test::ParseConfigOrDie("mcc262"); + const ConfigDescription mcc_fr_config = test::ParseConfigOrDie("mcc262-fr"); + const ConfigDescription mnc_config = test::ParseConfigOrDie("mnc2"); + const ConfigDescription mnc_fr_config = test::ParseConfigOrDie("mnc2-fr"); + std::vector<std::unique_ptr<ResourceConfigValue>> configs; + configs.push_back(util::make_unique<ResourceConfigValue>(default_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(de_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(fr_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(mcc_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(mcc_fr_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(mnc_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(mnc_fr_config, "")); + DominatorTree tree(configs); + PrettyPrinter printer; + std::string expected = + "<default>\n" + "de\n" + "fr\n" + "mcc262\n" + "mcc262-fr\n" + "mnc2\n" + "mnc2-fr\n"; + EXPECT_EQ(expected, printer.ToString(&tree)); +} } // namespace aapt diff --git a/tools/aapt2/optimize/ResourceDeduper_test.cpp b/tools/aapt2/optimize/ResourceDeduper_test.cpp index 048e318d2802..888de40be268 100644 --- a/tools/aapt2/optimize/ResourceDeduper_test.cpp +++ b/tools/aapt2/optimize/ResourceDeduper_test.cpp @@ -52,9 +52,11 @@ TEST(ResourceDeduperTest, SameValuesAreDeduped) { .Build(); ASSERT_TRUE(ResourceDeduper().Consume(context.get(), table.get())); + EXPECT_THAT(table, HasValue("android:string/dedupe", default_config)); EXPECT_THAT(table, Not(HasValue("android:string/dedupe", ldrtl_config))); EXPECT_THAT(table, Not(HasValue("android:string/dedupe", land_config))); + EXPECT_THAT(table, HasValue("android:string/dedupe2", default_config)); EXPECT_THAT(table, HasValue("android:string/dedupe2", ldrtl_v21_config)); EXPECT_THAT(table, Not(HasValue("android:string/dedupe2", ldrtl_config))); @@ -151,4 +153,24 @@ TEST(ResourceDeduperTest, LocalesValuesAreKept) { EXPECT_THAT(table, HasValue("android:string/keep", fr_rCA_config)); } +TEST(ResourceDeduperTest, MccMncValuesAreKept) { + std::unique_ptr<IAaptContext> context = test::ContextBuilder().Build(); + const ConfigDescription default_config = {}; + const ConfigDescription mcc_config = test::ParseConfigOrDie("mcc262"); + const ConfigDescription mnc_config = test::ParseConfigOrDie("mnc2"); + + std::unique_ptr<ResourceTable> table = + test::ResourceTableBuilder() + .AddString("android:string/keep", ResourceId{}, default_config, "keep") + .AddString("android:string/keep", ResourceId{}, mcc_config, "keep") + .AddString("android:string/keep", ResourceId{}, mnc_config, "keep") + .Build(); + + ASSERT_TRUE(ResourceDeduper().Consume(context.get(), table.get())); + EXPECT_THAT(table, HasValue("android:string/keep", default_config)); + EXPECT_THAT(table, HasValue("android:string/keep", mcc_config)); + EXPECT_THAT(table, HasValue("android:string/keep", mnc_config)); +} + + } // namespace aapt |