Index: base/xml_utils_unittest.cc |
diff --git a/base/xml_utils_unittest.cc b/base/xml_utils_unittest.cc |
deleted file mode 100644 |
index 0e7d8651a8122c076e886ee04552309c1995d78c..0000000000000000000000000000000000000000 |
--- a/base/xml_utils_unittest.cc |
+++ /dev/null |
@@ -1,134 +0,0 @@ |
-// Copyright 2005-2009 Google Inc. |
-// |
-// 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 <windows.h> |
-#include <atlstr.h> |
-#include <vector> |
-#include "omaha/base/file.h" |
-#include "omaha/base/module_utils.h" |
-#include "omaha/base/string.h" |
-#include "omaha/base/utils.h" |
-#include "omaha/base/scoped_any.h" |
-#include "omaha/base/xml_utils.h" |
-#include "omaha/testing/unit_test.h" |
- |
-namespace omaha { |
- |
-const TCHAR kTestXMLFile[] = _T("manifest.xml"); |
-const TCHAR kTempXMLFile[] = _T("foobar.xml"); |
- |
-const XMLFQName fqLowNoURI(NULL, _T("Bar")); |
-const XMLFQName fqLowNoURI2(NULL, _T("Bar")); |
-const XMLFQName fqHighNoURI(NULL, _T("Foo")); |
-const XMLFQName fqLowURI(_T("Zebra"), _T("Bar")); |
-const XMLFQName fqLowURI2(_T("Zebra"), _T("Bar")); |
-const XMLFQName fqHighURI(_T("Zebra"), _T("Foo")); |
-const XMLFQName fqDifferentURI(_T("Xray"), _T("Bar")); |
- |
-TEST(XmlUtilsTest, XMLFQName) { |
- ASSERT_TRUE(fqLowNoURI == fqLowNoURI2); |
- ASSERT_TRUE(fqHighNoURI == fqHighNoURI); |
- ASSERT_TRUE(fqLowNoURI != fqHighNoURI); |
- ASSERT_TRUE(fqLowNoURI != fqLowURI); |
- ASSERT_TRUE(fqLowNoURI < fqHighNoURI); |
- ASSERT_TRUE(fqLowNoURI <= fqHighNoURI); |
- ASSERT_TRUE(fqHighNoURI > fqLowNoURI); |
- ASSERT_TRUE(fqHighNoURI >= fqLowNoURI); |
- ASSERT_TRUE(fqLowURI == fqLowURI2); |
- ASSERT_TRUE(fqHighURI == fqHighURI); |
- ASSERT_TRUE(fqLowURI != fqHighURI); |
- ASSERT_TRUE(fqLowURI < fqHighURI); |
- ASSERT_TRUE(fqLowURI <= fqHighURI); |
- ASSERT_TRUE(fqHighURI > fqLowURI); |
- ASSERT_TRUE(fqHighURI >= fqLowURI); |
- ASSERT_TRUE(fqLowURI != fqDifferentURI); |
-} |
- |
-TEST(XmlUtilsTest, LoadSave) { |
- scoped_co_init co_init; |
- |
- // Get some directory and file names to start with. |
- TCHAR directory[MAX_PATH] = {0}; |
- ASSERT_TRUE(GetModuleDirectory(NULL, directory)); |
- CString test_file; |
- test_file.Format(_T("%s\\unittest_support\\%s"), directory, kTestXMLFile); |
- |
- TCHAR temp_path[MAX_PATH] = {0}; |
- ASSERT_TRUE(::GetTempPath(MAX_PATH, temp_path)); |
- CString temp_file; |
- temp_file.AppendFormat(_T("%s%s"), temp_path, kTempXMLFile); |
- |
- // Test loading and storing to a file. |
- CComPtr<IXMLDOMDocument> xmldoc; |
- ASSERT_SUCCEEDED(LoadXMLFromFile(test_file, true, &xmldoc)); |
- ASSERT_TRUE(xmldoc); |
- ASSERT_SUCCEEDED(SaveXMLToFile(xmldoc, temp_file)); |
- |
- // Test loading and storing raw UTF8 data to memory. |
- std::vector<byte> buffer_utf8; |
- ASSERT_SUCCEEDED(ReadEntireFile(temp_file, 0, &buffer_utf8)); |
- |
- CComPtr<IXMLDOMDocument> xmldoc2; |
- ASSERT_SUCCEEDED(LoadXMLFromRawData(buffer_utf8, true, &xmldoc2)); |
- ASSERT_TRUE(xmldoc2); |
- std::vector<byte> xml_utf8; |
- ASSERT_SUCCEEDED(SaveXMLToRawData(xmldoc2, &xml_utf8)); |
- |
- CStringA input_utf8(reinterpret_cast<char*>(&buffer_utf8.front()), |
- buffer_utf8.size()); |
- CStringA output_utf8(reinterpret_cast<char*>(&xml_utf8.front()), |
- xml_utf8.size()); |
- ASSERT_STREQ(input_utf8, output_utf8); |
- |
- // Test loading and storing Unicode to memory. |
- // The input must be Unicode for the calls below, but our test file is UTF-8. |
- // So read it and convert it to Unicode. |
- int len(::MultiByteToWideChar(CP_UTF8, |
- 0, /*flags*/ |
- reinterpret_cast<const char*>(&buffer_utf8[0]), |
- buffer_utf8.size(), |
- NULL, |
- 0)); |
- std::vector<wchar_t> buffer_unicode(len+1); |
- int len2(::MultiByteToWideChar(CP_UTF8, |
- 0, /*flags*/ |
- reinterpret_cast<const char*>(&buffer_utf8[0]), |
- buffer_utf8.size(), |
- &buffer_unicode[0], |
- len)); |
- ASSERT_EQ(len, len2); |
- buffer_unicode[len] = 0; // null terminate the unicode string. |
- |
- // Now round-trip the load from memory and save to memory. |
- xmldoc2 = NULL; |
- ASSERT_SUCCEEDED(LoadXMLFromMemory(&buffer_unicode.front(), true, &xmldoc2)); |
- ASSERT_TRUE(xmldoc2); |
- CString xmlmemory; |
- ASSERT_SUCCEEDED(SaveXMLToMemory(xmldoc2, &xmlmemory)); |
- |
- // Now compare that the result of the round-trip is the same as the input. |
- CString input(&buffer_unicode.front()); |
- CString output(xmlmemory); |
- // Except must first remove the " encoding="UTF-8"" attribute from the |
- // input string. |
- ReplaceCString(input, L" encoding=\"UTF-8\"", L""); |
- ASSERT_STREQ(input, output); |
- |
- // Clean up. |
- ASSERT_SUCCEEDED(File::Remove(temp_file)); |
-} |
- |
-} // namespace omaha |
- |