diff options
Diffstat (limited to 'tools/aapt2/test')
-rw-r--r-- | tools/aapt2/test/Builders.h | 70 | ||||
-rw-r--r-- | tools/aapt2/test/Common.h | 8 | ||||
-rw-r--r-- | tools/aapt2/test/Context.h | 26 |
3 files changed, 57 insertions, 47 deletions
diff --git a/tools/aapt2/test/Builders.h b/tools/aapt2/test/Builders.h index 8eb4bc88168d..c0c016032921 100644 --- a/tools/aapt2/test/Builders.h +++ b/tools/aapt2/test/Builders.h @@ -40,77 +40,81 @@ public: return &mTable->stringPool; } - ResourceTableBuilder& setPackageId(const StringPiece16& packageName, uint8_t id) { + ResourceTableBuilder& setPackageId(const StringPiece& packageName, uint8_t id) { ResourceTablePackage* package = mTable->createPackage(packageName, id); assert(package); return *this; } - ResourceTableBuilder& addSimple(const StringPiece16& name, const ResourceId id = {}) { + ResourceTableBuilder& addSimple(const StringPiece& name, const ResourceId id = {}) { return addValue(name, id, util::make_unique<Id>()); } - ResourceTableBuilder& addReference(const StringPiece16& name, const StringPiece16& ref) { + ResourceTableBuilder& addSimple(const StringPiece& name, const ConfigDescription& config, + const ResourceId id = {}) { + return addValue(name, config, id, util::make_unique<Id>()); + } + + ResourceTableBuilder& addReference(const StringPiece& name, const StringPiece& ref) { return addReference(name, {}, ref); } - ResourceTableBuilder& addReference(const StringPiece16& name, const ResourceId id, - const StringPiece16& ref) { + ResourceTableBuilder& addReference(const StringPiece& name, const ResourceId id, + const StringPiece& ref) { return addValue(name, id, util::make_unique<Reference>(parseNameOrDie(ref))); } - ResourceTableBuilder& addString(const StringPiece16& name, const StringPiece16& str) { + ResourceTableBuilder& addString(const StringPiece& name, const StringPiece& str) { return addString(name, {}, str); } - ResourceTableBuilder& addString(const StringPiece16& name, const ResourceId id, - const StringPiece16& str) { + ResourceTableBuilder& addString(const StringPiece& name, const ResourceId id, + const StringPiece& str) { return addValue(name, id, util::make_unique<String>(mTable->stringPool.makeRef(str))); } - ResourceTableBuilder& addString(const StringPiece16& name, const ResourceId id, - const ConfigDescription& config, const StringPiece16& str) { - return addValue(name, id, config, + ResourceTableBuilder& addString(const StringPiece& name, const ResourceId id, + const ConfigDescription& config, const StringPiece& str) { + return addValue(name, config, id, util::make_unique<String>(mTable->stringPool.makeRef(str))); } - ResourceTableBuilder& addFileReference(const StringPiece16& name, const StringPiece16& path) { + ResourceTableBuilder& addFileReference(const StringPiece& name, const StringPiece& path) { return addFileReference(name, {}, path); } - ResourceTableBuilder& addFileReference(const StringPiece16& name, const ResourceId id, - const StringPiece16& path) { + ResourceTableBuilder& addFileReference(const StringPiece& name, const ResourceId id, + const StringPiece& path) { return addValue(name, id, util::make_unique<FileReference>(mTable->stringPool.makeRef(path))); } - ResourceTableBuilder& addFileReference(const StringPiece16& name, const StringPiece16& path, + ResourceTableBuilder& addFileReference(const StringPiece& name, const StringPiece& path, const ConfigDescription& config) { - return addValue(name, {}, config, + return addValue(name, config, {}, util::make_unique<FileReference>(mTable->stringPool.makeRef(path))); } - ResourceTableBuilder& addValue(const StringPiece16& name, + ResourceTableBuilder& addValue(const StringPiece& name, std::unique_ptr<Value> value) { return addValue(name, {}, std::move(value)); } - ResourceTableBuilder& addValue(const StringPiece16& name, const ResourceId id, - std::unique_ptr<Value> value) { - return addValue(name, id, {}, std::move(value)); + ResourceTableBuilder& addValue(const StringPiece& name, const ResourceId id, + std::unique_ptr<Value> value) { + return addValue(name, {}, id, std::move(value)); } - ResourceTableBuilder& addValue(const StringPiece16& name, const ResourceId id, - const ConfigDescription& config, - std::unique_ptr<Value> value) { + ResourceTableBuilder& addValue(const StringPiece& name, const ConfigDescription& config, + const ResourceId id, std::unique_ptr<Value> value) { ResourceName resName = parseNameOrDie(name); - bool result = mTable->addResourceAllowMangled(resName, id, config, std::string(), + bool result = mTable->addResourceAllowMangled(resName, id, config, {}, std::move(value), &mDiagnostics); assert(result); return *this; } - ResourceTableBuilder& setSymbolState(const StringPiece16& name, ResourceId id, + ResourceTableBuilder& setSymbolState(const StringPiece& name, ResourceId id, SymbolState state) { ResourceName resName = parseNameOrDie(name); Symbol symbol; @@ -125,7 +129,7 @@ public: } }; -inline std::unique_ptr<Reference> buildReference(const StringPiece16& ref, +inline std::unique_ptr<Reference> buildReference(const StringPiece& ref, Maybe<ResourceId> id = {}) { std::unique_ptr<Reference> reference = util::make_unique<Reference>(parseNameOrDie(ref)); reference->id = id; @@ -156,7 +160,7 @@ public: return *this; } - ValueBuilder& setComment(const StringPiece16& str) { + ValueBuilder& setComment(const StringPiece& str) { mValue->setComment(str); return *this; } @@ -180,9 +184,9 @@ public: return *this; } - AttributeBuilder& addItem(const StringPiece16& name, uint32_t value) { + AttributeBuilder& addItem(const StringPiece& name, uint32_t value) { mAttr->symbols.push_back(Attribute::Symbol{ - Reference(ResourceName{ {}, ResourceType::kId, name.toString()}), + Reference(ResourceName({}, ResourceType::kId, name)), value}); return *this; } @@ -197,17 +201,17 @@ private: std::unique_ptr<Style> mStyle = util::make_unique<Style>(); public: - StyleBuilder& setParent(const StringPiece16& str) { + StyleBuilder& setParent(const StringPiece& str) { mStyle->parent = Reference(parseNameOrDie(str)); return *this; } - StyleBuilder& addItem(const StringPiece16& str, std::unique_ptr<Item> value) { + StyleBuilder& addItem(const StringPiece& str, std::unique_ptr<Item> value) { mStyle->entries.push_back(Style::Entry{ Reference(parseNameOrDie(str)), std::move(value) }); return *this; } - StyleBuilder& addItem(const StringPiece16& str, ResourceId id, std::unique_ptr<Item> value) { + StyleBuilder& addItem(const StringPiece& str, ResourceId id, std::unique_ptr<Item> value) { addItem(str, std::move(value)); mStyle->entries.back().key.id = id; return *this; @@ -223,7 +227,7 @@ private: std::unique_ptr<Styleable> mStyleable = util::make_unique<Styleable>(); public: - StyleableBuilder& addItem(const StringPiece16& str, Maybe<ResourceId> id = {}) { + StyleableBuilder& addItem(const StringPiece& str, Maybe<ResourceId> id = {}) { mStyleable->entries.push_back(Reference(parseNameOrDie(str))); mStyleable->entries.back().id = id; return *this; diff --git a/tools/aapt2/test/Common.h b/tools/aapt2/test/Common.h index faccd47783ff..b2eaba6439d8 100644 --- a/tools/aapt2/test/Common.h +++ b/tools/aapt2/test/Common.h @@ -62,7 +62,7 @@ inline IDiagnostics* getDiagnostics() { return &diag; } -inline ResourceName parseNameOrDie(const StringPiece16& str) { +inline ResourceName parseNameOrDie(const StringPiece& str) { ResourceNameRef ref; bool result = ResourceUtils::tryParseReference(str, &ref); assert(result && "invalid resource name"); @@ -77,7 +77,7 @@ inline ConfigDescription parseConfigOrDie(const StringPiece& str) { } template <typename T> T* getValueForConfigAndProduct(ResourceTable* table, - const StringPiece16& resName, + const StringPiece& resName, const ConfigDescription& config, const StringPiece& product) { Maybe<ResourceTable::SearchResult> result = table->findResource(parseNameOrDie(resName)); @@ -90,12 +90,12 @@ template <typename T> T* getValueForConfigAndProduct(ResourceTable* table, return nullptr; } -template <typename T> T* getValueForConfig(ResourceTable* table, const StringPiece16& resName, +template <typename T> T* getValueForConfig(ResourceTable* table, const StringPiece& resName, const ConfigDescription& config) { return getValueForConfigAndProduct<T>(table, resName, config, {}); } -template <typename T> T* getValue(ResourceTable* table, const StringPiece16& resName) { +template <typename T> T* getValue(ResourceTable* table, const StringPiece& resName) { return getValueForConfig<T>(table, resName, {}); } diff --git a/tools/aapt2/test/Context.h b/tools/aapt2/test/Context.h index 96752d33dd9a..b053e07eafde 100644 --- a/tools/aapt2/test/Context.h +++ b/tools/aapt2/test/Context.h @@ -19,7 +19,6 @@ #include "NameMangler.h" #include "util/Util.h" - #include "process/IResourceTableConsumer.h" #include "process/SymbolTable.h" #include "test/Common.h" @@ -40,7 +39,7 @@ public: return &mDiagnostics; } - const std::u16string& getCompilationPackage() override { + const std::string& getCompilationPackage() override { assert(mCompilationPackage && "package name not set"); return mCompilationPackage.value(); } @@ -58,17 +57,19 @@ public: return false; } + int getMinSdkVersion() override { + return mMinSdkVersion; + } + private: friend class ContextBuilder; - Context() : mNameMangler({}) { - } - - Maybe<std::u16string> mCompilationPackage; + Maybe<std::string> mCompilationPackage; Maybe<uint8_t> mPackageId; StdErrDiagnostics mDiagnostics; SymbolTable mSymbols; - NameMangler mNameMangler; + NameMangler mNameMangler = NameMangler({}); + int mMinSdkVersion = 0; }; class ContextBuilder { @@ -76,7 +77,7 @@ private: std::unique_ptr<Context> mContext = std::unique_ptr<Context>(new Context()); public: - ContextBuilder& setCompilationPackage(const StringPiece16& package) { + ContextBuilder& setCompilationPackage(const StringPiece& package) { mContext->mCompilationPackage = package.toString(); return *this; } @@ -96,6 +97,11 @@ public: return *this; } + ContextBuilder& setMinSdkVersion(int minSdk) { + mContext->mMinSdkVersion = minSdk; + return *this; + } + std::unique_ptr<Context> build() { return std::move(mContext); } @@ -103,7 +109,7 @@ public: class StaticSymbolSourceBuilder { public: - StaticSymbolSourceBuilder& addPublicSymbol(const StringPiece16& name, ResourceId id, + StaticSymbolSourceBuilder& addPublicSymbol(const StringPiece& name, ResourceId id, std::unique_ptr<Attribute> attr = {}) { std::unique_ptr<SymbolTable::Symbol> symbol = util::make_unique<SymbolTable::Symbol>( id, std::move(attr), true); @@ -113,7 +119,7 @@ public: return *this; } - StaticSymbolSourceBuilder& addSymbol(const StringPiece16& name, ResourceId id, + StaticSymbolSourceBuilder& addSymbol(const StringPiece& name, ResourceId id, std::unique_ptr<Attribute> attr = {}) { std::unique_ptr<SymbolTable::Symbol> symbol = util::make_unique<SymbolTable::Symbol>( id, std::move(attr), false); |