summaryrefslogtreecommitdiff
path: root/tools/aapt2/xml/XmlPullParser_test.cpp
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2017-08-02 14:57:43 -0700
committerAdam Lesinski <adamlesinski@google.com>2017-08-03 17:33:52 -0700
commitefeb7af13be4446ce4a511a2ca707691e9a67c1e (patch)
tree36dc0651bcad4b81faf41fe730754d96d6eea465 /tools/aapt2/xml/XmlPullParser_test.cpp
parentf0f9fa330772f5f6a13673bd1204251c464ce67b (diff)
AAPT2: Fix windows unicode path issues
Mingw64 was being difficult, so instead of defining a wmain entrypoint, the command line parameters are parsed manually using built-in Windows methods that support Unicode. The results are converted to UTF8 and handled just like the rest of the linux/mac version of the code. This also removes dependencies on std::istream in favour of a FileInputStream which calls the appropriate unicode version of open to read a file. No speed regressions found on Linux or MacOS. Bug: 62336414 Bug: 63830502 Test: manual Change-Id: I597da51e33729ed1b98bf246e7e773337fd3fee8
Diffstat (limited to 'tools/aapt2/xml/XmlPullParser_test.cpp')
-rw-r--r--tools/aapt2/xml/XmlPullParser_test.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/tools/aapt2/xml/XmlPullParser_test.cpp b/tools/aapt2/xml/XmlPullParser_test.cpp
index 1cce4850cac5..681d9d48173f 100644
--- a/tools/aapt2/xml/XmlPullParser_test.cpp
+++ b/tools/aapt2/xml/XmlPullParser_test.cpp
@@ -16,21 +16,22 @@
#include "xml/XmlPullParser.h"
-#include <sstream>
-
#include "androidfw/StringPiece.h"
+#include "io/StringInputStream.h"
#include "test/Test.h"
-using android::StringPiece;
+using ::aapt::io::StringInputStream;
+using ::android::StringPiece;
namespace aapt {
TEST(XmlPullParserTest, NextChildNodeTraversesCorrectly) {
- std::stringstream str;
- str << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
- "<a><b><c xmlns:a=\"http://schema.org\"><d/></c><e/></b></a>";
- xml::XmlPullParser parser(str);
+ std::string str =
+ R"(<?xml version="1.0" encoding="utf-8"?>
+ <a><b><c xmlns:a="http://schema.org"><d/></c><e/></b></a>)";
+ StringInputStream input(str);
+ xml::XmlPullParser parser(&input);
const size_t depth_outer = parser.depth();
ASSERT_TRUE(xml::XmlPullParser::NextChildNode(&parser, depth_outer));