summaryrefslogtreecommitdiff
path: root/tools/aapt2/StringPool_test.cpp
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2016-07-01 14:51:51 -0700
committerAdam Lesinski <adamlesinski@google.com>2016-07-01 14:51:51 -0700
commite1fda9aec4337deb93ae7675e7c4a96d3172464d (patch)
tree95d17a1d755fa3142e652fc63ed37ea73a9f3dd9 /tools/aapt2/StringPool_test.cpp
parentd1941ce78c619ac625f2d14df7eeba17a8286d85 (diff)
AAPT2: Encode empty attribute string values
Due to another bug, empty strings in XML files were encoded as NULLs. This was only needed for encoding missing namespace URIs. Attribute values should remain empty strings. Bug:29939875 Bug:29462255 Change-Id: I3897661d85865c88bb2b7cf1495da16c30f7272e
Diffstat (limited to 'tools/aapt2/StringPool_test.cpp')
-rw-r--r--tools/aapt2/StringPool_test.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/aapt2/StringPool_test.cpp b/tools/aapt2/StringPool_test.cpp
index 2b2d348fd17c..562d80ed8cdb 100644
--- a/tools/aapt2/StringPool_test.cpp
+++ b/tools/aapt2/StringPool_test.cpp
@@ -208,7 +208,8 @@ TEST(StringPoolTest, FlattenUtf8) {
StringPool::Ref ref1 = pool.makeRef(u"hello");
StringPool::Ref ref2 = pool.makeRef(u"goodbye");
StringPool::Ref ref3 = pool.makeRef(sLongString);
- StringPool::StyleRef ref4 = pool.makeRef(StyleString{
+ StringPool::Ref ref4 = pool.makeRef(u"");
+ StringPool::StyleRef ref5 = pool.makeRef(StyleString{
{ u"style" },
{ Span{ { u"b" }, 0, 1 }, Span{ { u"i" }, 2, 3 } }
});
@@ -217,6 +218,7 @@ TEST(StringPoolTest, FlattenUtf8) {
EXPECT_EQ(1u, ref2.getIndex());
EXPECT_EQ(2u, ref3.getIndex());
EXPECT_EQ(3u, ref4.getIndex());
+ EXPECT_EQ(4u, ref5.getIndex());
BigBuffer buffer(1024);
StringPool::flattenUtf8(&buffer, pool);
@@ -229,9 +231,11 @@ TEST(StringPoolTest, FlattenUtf8) {
EXPECT_EQ(util::getString(test, 0), u"hello");
EXPECT_EQ(util::getString(test, 1), u"goodbye");
EXPECT_EQ(util::getString(test, 2), sLongString);
- EXPECT_EQ(util::getString(test, 3), u"style");
+ size_t len;
+ EXPECT_NE(nullptr, test.stringAt(3, &len));
+ EXPECT_EQ(util::getString(test, 4), u"style");
- const ResStringPool_span* span = test.styleAt(3);
+ const ResStringPool_span* span = test.styleAt(4);
ASSERT_NE(nullptr, span);
EXPECT_EQ(util::getString(test, span->name.index), u"b");
EXPECT_EQ(0u, span->firstChar);