summaryrefslogtreecommitdiff
path: root/tools/aapt2/JavaClassGenerator_test.cpp
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2015-04-10 19:43:55 -0700
committerAdam Lesinski <adamlesinski@google.com>2015-04-15 19:56:59 -0700
commit769de98f2dd41bfe39a1c9f76aefd1ad58942733 (patch)
tree3d79143b08f02dfb61158689f51e01eeb1bb371e /tools/aapt2/JavaClassGenerator_test.cpp
parent9310e4285b3fc951c3524d040726d1161015562c (diff)
AAPT2: Add library support
Change-Id: I307f56d9631784ab29ee4156d94886f9b2f25b30
Diffstat (limited to 'tools/aapt2/JavaClassGenerator_test.cpp')
-rw-r--r--tools/aapt2/JavaClassGenerator_test.cpp35
1 files changed, 33 insertions, 2 deletions
diff --git a/tools/aapt2/JavaClassGenerator_test.cpp b/tools/aapt2/JavaClassGenerator_test.cpp
index 32050e30fd8a..96bb10b9232c 100644
--- a/tools/aapt2/JavaClassGenerator_test.cpp
+++ b/tools/aapt2/JavaClassGenerator_test.cpp
@@ -15,6 +15,8 @@
*/
#include "JavaClassGenerator.h"
+#include "Linker.h"
+#include "Resolver.h"
#include "ResourceTable.h"
#include "ResourceValues.h"
#include "Util.h"
@@ -47,7 +49,7 @@ TEST_F(JavaClassGeneratorTest, FailWhenEntryIsJavaKeyword) {
JavaClassGenerator generator(mTable, {});
std::stringstream out;
- EXPECT_FALSE(generator.generate(out));
+ EXPECT_FALSE(generator.generate(mTable->getPackage(), out));
}
TEST_F(JavaClassGeneratorTest, TransformInvalidJavaIdentifierCharacter) {
@@ -69,7 +71,7 @@ TEST_F(JavaClassGeneratorTest, TransformInvalidJavaIdentifierCharacter) {
JavaClassGenerator generator(mTable, {});
std::stringstream out;
- EXPECT_TRUE(generator.generate(out));
+ EXPECT_TRUE(generator.generate(mTable->getPackage(), out));
std::string output = out.str();
EXPECT_NE(std::string::npos,
@@ -82,4 +84,33 @@ TEST_F(JavaClassGeneratorTest, TransformInvalidJavaIdentifierCharacter) {
output.find("public static final int hey_dude_cool_attr = 0;"));
}
+TEST_F(JavaClassGeneratorTest, EmitPackageMangledSymbols) {
+ ASSERT_TRUE(addResource(ResourceName{ {}, ResourceType::kId, u"foo" },
+ ResourceId{ 0x01, 0x02, 0x0000 }));
+ ResourceTable table;
+ table.setPackage(u"com.lib");
+ ASSERT_TRUE(table.addResource(ResourceName{ {}, ResourceType::kId, u"test" }, {},
+ SourceLine{ "lib.xml", 33 }, util::make_unique<Id>()));
+ ASSERT_TRUE(mTable->merge(std::move(table)));
+
+ std::shared_ptr<Resolver> resolver = std::make_shared<Resolver>(mTable,
+ std::make_shared<const android::AssetManager>());
+ Linker linker(mTable, resolver);
+ ASSERT_TRUE(linker.linkAndValidate());
+
+ JavaClassGenerator generator(mTable, {});
+
+ std::stringstream out;
+ EXPECT_TRUE(generator.generate(mTable->getPackage(), out));
+ std::string output = out.str();
+ EXPECT_NE(std::string::npos, output.find("int foo ="));
+ EXPECT_EQ(std::string::npos, output.find("int test ="));
+
+ out.str("");
+ EXPECT_TRUE(generator.generate(u"com.lib", out));
+ output = out.str();
+ EXPECT_NE(std::string::npos, output.find("int test ="));
+ EXPECT_EQ(std::string::npos, output.find("int foo ="));
+}
+
} // namespace aapt