diff options
author | Adam Lesinski <adamlesinski@google.com> | 2017-06-12 14:55:58 -0700 |
---|---|---|
committer | Adam Lesinski <adamlesinski@google.com> | 2017-08-04 17:23:14 -0700 |
commit | 907399187e5664855b4ab8446dfa179fbd232b4b (patch) | |
tree | d564f1cb459d68ee5ff8885a970ea57d6757e765 /tools/aapt2/DominatorTree_test.cpp | |
parent | 82e815616e1fcab7bcdab737dfc1a28946b0f486 (diff) |
AAPT2: Disable locale domination for deduping
Locale deduping isn't straightforward, as parenting rules
change between platform versions and the selection
preference of a specific locale variant over the default
configuration lead to incorrect results at runtime.
Bug: 62409213
Test: make aapt2_tests
Change-Id: Iec8f1cfba7ae43c847d163529891fdc15f3db826
Diffstat (limited to 'tools/aapt2/DominatorTree_test.cpp')
-rw-r--r-- | tools/aapt2/DominatorTree_test.cpp | 61 |
1 files changed, 36 insertions, 25 deletions
diff --git a/tools/aapt2/DominatorTree_test.cpp b/tools/aapt2/DominatorTree_test.cpp index e89c6beb0c57..efc523fcf59b 100644 --- a/tools/aapt2/DominatorTree_test.cpp +++ b/tools/aapt2/DominatorTree_test.cpp @@ -69,14 +69,12 @@ class PrettyPrinter : public DominatorTree::Visitor { TEST(DominatorTreeTest, DefaultDominatesEverything) { const ConfigDescription default_config = {}; const ConfigDescription land_config = test::ParseConfigOrDie("land"); - const ConfigDescription sw600dp_land_config = - test::ParseConfigOrDie("sw600dp-land-v13"); + const ConfigDescription sw600dp_land_config = test::ParseConfigOrDie("sw600dp-land-v13"); std::vector<std::unique_ptr<ResourceConfigValue>> configs; configs.push_back(util::make_unique<ResourceConfigValue>(default_config, "")); configs.push_back(util::make_unique<ResourceConfigValue>(land_config, "")); - configs.push_back( - util::make_unique<ResourceConfigValue>(sw600dp_land_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(sw600dp_land_config, "")); DominatorTree tree(configs); PrettyPrinter printer; @@ -91,16 +89,13 @@ TEST(DominatorTreeTest, DefaultDominatesEverything) { TEST(DominatorTreeTest, ProductsAreDominatedSeparately) { const ConfigDescription default_config = {}; const ConfigDescription land_config = test::ParseConfigOrDie("land"); - const ConfigDescription sw600dp_land_config = - test::ParseConfigOrDie("sw600dp-land-v13"); + const ConfigDescription sw600dp_land_config = test::ParseConfigOrDie("sw600dp-land-v13"); std::vector<std::unique_ptr<ResourceConfigValue>> configs; configs.push_back(util::make_unique<ResourceConfigValue>(default_config, "")); configs.push_back(util::make_unique<ResourceConfigValue>(land_config, "")); - configs.push_back( - util::make_unique<ResourceConfigValue>(default_config, "phablet")); - configs.push_back( - util::make_unique<ResourceConfigValue>(sw600dp_land_config, "phablet")); + configs.push_back(util::make_unique<ResourceConfigValue>(default_config, "phablet")); + configs.push_back(util::make_unique<ResourceConfigValue>(sw600dp_land_config, "phablet")); DominatorTree tree(configs); PrettyPrinter printer; @@ -118,16 +113,11 @@ TEST(DominatorTreeTest, MoreSpecificConfigurationsAreDominated) { const ConfigDescription en_config = test::ParseConfigOrDie("en"); const ConfigDescription en_v21_config = test::ParseConfigOrDie("en-v21"); const ConfigDescription ldrtl_config = test::ParseConfigOrDie("ldrtl-v4"); - const ConfigDescription ldrtl_xhdpi_config = - test::ParseConfigOrDie("ldrtl-xhdpi-v4"); - const ConfigDescription sw300dp_config = - test::ParseConfigOrDie("sw300dp-v13"); - const ConfigDescription sw540dp_config = - test::ParseConfigOrDie("sw540dp-v14"); - const ConfigDescription sw600dp_config = - test::ParseConfigOrDie("sw600dp-v14"); - const ConfigDescription sw720dp_config = - test::ParseConfigOrDie("sw720dp-v13"); + const ConfigDescription ldrtl_xhdpi_config = test::ParseConfigOrDie("ldrtl-xhdpi-v4"); + const ConfigDescription sw300dp_config = test::ParseConfigOrDie("sw300dp-v13"); + const ConfigDescription sw540dp_config = test::ParseConfigOrDie("sw540dp-v14"); + const ConfigDescription sw600dp_config = test::ParseConfigOrDie("sw600dp-v14"); + const ConfigDescription sw720dp_config = test::ParseConfigOrDie("sw720dp-v13"); const ConfigDescription v20_config = test::ParseConfigOrDie("v20"); std::vector<std::unique_ptr<ResourceConfigValue>> configs; @@ -135,8 +125,7 @@ TEST(DominatorTreeTest, MoreSpecificConfigurationsAreDominated) { configs.push_back(util::make_unique<ResourceConfigValue>(en_config, "")); configs.push_back(util::make_unique<ResourceConfigValue>(en_v21_config, "")); configs.push_back(util::make_unique<ResourceConfigValue>(ldrtl_config, "")); - configs.push_back( - util::make_unique<ResourceConfigValue>(ldrtl_xhdpi_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(ldrtl_xhdpi_config, "")); configs.push_back(util::make_unique<ResourceConfigValue>(sw300dp_config, "")); configs.push_back(util::make_unique<ResourceConfigValue>(sw540dp_config, "")); configs.push_back(util::make_unique<ResourceConfigValue>(sw600dp_config, "")); @@ -148,15 +137,37 @@ TEST(DominatorTreeTest, MoreSpecificConfigurationsAreDominated) { std::string expected = "<default>\n" - " en\n" - " en-v21\n" " ldrtl-v4\n" " ldrtl-xhdpi-v4\n" " sw300dp-v13\n" " sw540dp-v14\n" " sw600dp-v14\n" " sw720dp-v13\n" - " v20\n"; + " v20\n" + "en\n" + " en-v21\n"; + EXPECT_EQ(expected, printer.ToString(&tree)); +} + +TEST(DominatorTreeTest, LocalesAreNeverDominated) { + const ConfigDescription fr_config = test::ParseConfigOrDie("fr"); + const ConfigDescription fr_rCA_config = test::ParseConfigOrDie("fr-rCA"); + const ConfigDescription fr_rFR_config = test::ParseConfigOrDie("fr-rFR"); + + std::vector<std::unique_ptr<ResourceConfigValue>> configs; + configs.push_back(util::make_unique<ResourceConfigValue>(ConfigDescription::DefaultConfig(), "")); + configs.push_back(util::make_unique<ResourceConfigValue>(fr_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(fr_rCA_config, "")); + configs.push_back(util::make_unique<ResourceConfigValue>(fr_rFR_config, "")); + + DominatorTree tree(configs); + PrettyPrinter printer; + + std::string expected = + "<default>\n" + "fr\n" + "fr-rCA\n" + "fr-rFR\n"; EXPECT_EQ(expected, printer.ToString(&tree)); } |