diff options
Diffstat (limited to 'tools/aapt2/ResourceValues_test.cpp')
-rw-r--r-- | tools/aapt2/ResourceValues_test.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/aapt2/ResourceValues_test.cpp b/tools/aapt2/ResourceValues_test.cpp index 10f9b55ede08..a80a9dc177f1 100644 --- a/tools/aapt2/ResourceValues_test.cpp +++ b/tools/aapt2/ResourceValues_test.cpp @@ -18,6 +18,10 @@ #include "test/Test.h" +using ::testing::Eq; +using ::testing::SizeIs; +using ::testing::StrEq; + namespace aapt { TEST(ResourceValuesTest, PluralEquals) { @@ -148,6 +152,22 @@ TEST(ResourceValuesTest, StyleClone) { EXPECT_TRUE(a->Equals(b.get())); } +TEST(ResourcesValuesTest, StringClones) { + StringPool pool_a; + StringPool pool_b; + + String str_a(pool_a.MakeRef("hello", StringPool::Context(test::ParseConfigOrDie("en")))); + + ASSERT_THAT(pool_a, SizeIs(1u)); + EXPECT_THAT(pool_a.strings()[0]->context.config, Eq(test::ParseConfigOrDie("en"))); + EXPECT_THAT(pool_a.strings()[0]->value, StrEq("hello")); + + std::unique_ptr<String> str_b(str_a.Clone(&pool_b)); + ASSERT_THAT(pool_b, SizeIs(1u)); + EXPECT_THAT(pool_b.strings()[0]->context.config, Eq(test::ParseConfigOrDie("en"))); + EXPECT_THAT(pool_b.strings()[0]->value, StrEq("hello")); +} + TEST(ResourceValuesTest, StyleMerges) { StringPool pool_a; StringPool pool_b; |