summaryrefslogtreecommitdiffstats
path: root/tools/aapt2/XmlDom_test.cpp
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2015-06-04 19:40:32 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-04 19:40:34 +0000
commit581cc1ee59d01fe4b4a31618ab4aedfa639e42b0 (patch)
tree6573e4b4b46037ed80378146c8698b247aad26c3 /tools/aapt2/XmlDom_test.cpp
parent2b710c29e2ae7808bbd1a1a6d0c39f69ad8bf33a (diff)
parent75f3a55cc569a9b61f540a85d9828e91bdca5047 (diff)
downloadframeworks_base-581cc1ee59d01fe4b4a31618ab4aedfa639e42b0.zip
frameworks_base-581cc1ee59d01fe4b4a31618ab4aedfa639e42b0.tar.gz
frameworks_base-581cc1ee59d01fe4b4a31618ab4aedfa639e42b0.tar.bz2
Merge "AAPT2: Change xml file parsing to DOM based" into mnc-dev
Diffstat (limited to 'tools/aapt2/XmlDom_test.cpp')
-rw-r--r--tools/aapt2/XmlDom_test.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/tools/aapt2/XmlDom_test.cpp b/tools/aapt2/XmlDom_test.cpp
new file mode 100644
index 0000000..0217144
--- /dev/null
+++ b/tools/aapt2/XmlDom_test.cpp
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "XmlDom.h"
+
+#include <gtest/gtest.h>
+#include <sstream>
+#include <string>
+
+namespace aapt {
+
+constexpr const char* kXmlPreamble = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
+
+TEST(XmlDomTest, Inflate) {
+ std::stringstream in(kXmlPreamble);
+ in << R"EOF(
+ <Layout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ <TextView android:id="@+id/id"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ </Layout>
+ )EOF";
+
+ SourceLogger logger(Source{ "/test/path" });
+ std::unique_ptr<xml::Node> root = xml::inflate(&in, &logger);
+ ASSERT_NE(root, nullptr);
+
+ EXPECT_EQ(root->type, xml::NodeType::kNamespace);
+ xml::Namespace* ns = static_cast<xml::Namespace*>(root.get());
+ EXPECT_EQ(ns->namespaceUri, u"http://schemas.android.com/apk/res/android");
+ EXPECT_EQ(ns->namespacePrefix, u"android");
+}
+
+} // namespace aapt