diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-12-03 22:59:16 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-12-03 22:59:16 +0000 |
commit | dccf3cacd7d4caaca65fa1ec03d5069d00a12d40 (patch) | |
tree | 7cb74c0885ab77feb34b06e01696d14a49661087 /tools/aapt2/java/JavaClassGenerator_test.cpp | |
parent | b0160bb54101f3b101190707a43ba5294a4fdbe7 (diff) | |
parent | be8607dcd543b9dabcd9a2d950e3cfa1eb60ef60 (diff) |
Merge "Add @hide support for styleable attributes"
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator_test.cpp')
-rw-r--r-- | tools/aapt2/java/JavaClassGenerator_test.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tools/aapt2/java/JavaClassGenerator_test.cpp b/tools/aapt2/java/JavaClassGenerator_test.cpp index fa208be120ed..4f51fc48c80e 100644 --- a/tools/aapt2/java/JavaClassGenerator_test.cpp +++ b/tools/aapt2/java/JavaClassGenerator_test.cpp @@ -366,6 +366,46 @@ TEST(JavaClassGeneratorTest, CommentsForStyleablesAndNestedAttributesArePresent) ASSERT_TRUE(generator.Generate("android", &out)); out.Flush(); + EXPECT_THAT(output, HasSubstr("#Container_one android:one")); + EXPECT_THAT(output, HasSubstr("@see #Container_one")); + EXPECT_THAT(output, HasSubstr("attr name android:one")); + EXPECT_THAT(output, HasSubstr("attr description")); + EXPECT_THAT(output, HasSubstr(attr.GetComment())); + EXPECT_THAT(output, HasSubstr(styleable.GetComment())); +} + +TEST(JavaClassGeneratorTest, CommentsForStyleableHiddenAttributesAreNotPresent) { + Attribute attr; + attr.SetComment(StringPiece("This is an attribute @hide")); + + Styleable styleable; + styleable.entries.push_back(Reference(test::ParseNameOrDie("android:attr/one"))); + styleable.SetComment(StringPiece("This is a styleable")); + + std::unique_ptr<ResourceTable> table = + test::ResourceTableBuilder() + .SetPackageId("android", 0x01) + .AddValue("android:attr/one", util::make_unique<Attribute>(attr)) + .AddValue("android:styleable/Container", + std::unique_ptr<Styleable>(styleable.Clone(nullptr))) + .Build(); + + std::unique_ptr<IAaptContext> context = + test::ContextBuilder() + .AddSymbolSource(util::make_unique<ResourceTableSymbolSource>(table.get())) + .SetNameManglerPolicy(NameManglerPolicy{"android"}) + .Build(); + JavaClassGeneratorOptions options; + options.use_final = false; + JavaClassGenerator generator(context.get(), table.get(), options); + + std::string output; + StringOutputStream out(&output); + ASSERT_TRUE(generator.Generate("android", &out)); + out.Flush(); + + EXPECT_THAT(output, Not(HasSubstr("#Container_one android:one"))); + EXPECT_THAT(output, Not(HasSubstr("@see #Container_one"))); EXPECT_THAT(output, HasSubstr("attr name android:one")); EXPECT_THAT(output, HasSubstr("attr description")); EXPECT_THAT(output, HasSubstr(attr.GetComment())); |