| OLD | NEW |
| (Empty) |
| 1 // Copyright 2009-2010 Google Inc. | |
| 2 // | |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | |
| 4 // you may not use this file except in compliance with the License. | |
| 5 // You may obtain a copy of the License at | |
| 6 // | |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | |
| 8 // | |
| 9 // Unless required by applicable law or agreed to in writing, software | |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | |
| 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 12 // See the License for the specific language governing permissions and | |
| 13 // limitations under the License. | |
| 14 // ======================================================================== | |
| 15 | |
| 16 #include "omaha/base/utils.h" | |
| 17 #include "omaha/base/user_info.h" | |
| 18 #include "omaha/base/vistautil.h" | |
| 19 #include "testing/unit_test.h" | |
| 20 | |
| 21 namespace omaha { | |
| 22 | |
| 23 TEST(UnitTestHelpersTest, GetLocalAppDataPath) { | |
| 24 if (IsTestRunByLocalSystem()) { | |
| 25 return; | |
| 26 } | |
| 27 | |
| 28 const TCHAR kUserXpLocalAppDataPathFormat[] = | |
| 29 _T("C:\\Documents and Settings\\%s\\Local Settings\\Application Data\\"); | |
| 30 const TCHAR kUserVistaLocalAppDataPathFormat[] = | |
| 31 _T("C:\\Users\\%s\\AppData\\Local\\"); | |
| 32 | |
| 33 TCHAR username[MAX_PATH] = {0}; | |
| 34 EXPECT_TRUE(::GetEnvironmentVariable(_T("USERNAME"), | |
| 35 username, | |
| 36 arraysize(username))); | |
| 37 CString expected_path; | |
| 38 expected_path.Format(vista_util::IsVistaOrLater() ? | |
| 39 kUserVistaLocalAppDataPathFormat : | |
| 40 kUserXpLocalAppDataPathFormat, | |
| 41 username); | |
| 42 EXPECT_STREQ(expected_path, GetLocalAppDataPath()); | |
| 43 } | |
| 44 | |
| 45 // GUIDs cannot be compared in GTest because there is no << operator. Therefore, | |
| 46 // we must treat them as strings. All these tests rely on GuidToString working. | |
| 47 #define EXPECT_GUID_EQ(expected, actual) \ | |
| 48 EXPECT_STREQ(GuidToString(expected), GuidToString(actual)) | |
| 49 | |
| 50 TEST(UnitTestHelpersTest, StringToGuid_InvalidString) { | |
| 51 ExpectAsserts expect_asserts; // Invalid strings cause an assert. | |
| 52 | |
| 53 EXPECT_GUID_EQ(GUID_NULL, StringToGuid(_T(""))); | |
| 54 EXPECT_GUID_EQ(GUID_NULL, StringToGuid(_T("{}"))); | |
| 55 EXPECT_GUID_EQ(GUID_NULL, StringToGuid(_T("a"))); | |
| 56 EXPECT_GUID_EQ(GUID_NULL, | |
| 57 StringToGuid(_T("CA3045BFA6B14fb8A0EFA615CEFE452C"))); | |
| 58 | |
| 59 // Missing {} | |
| 60 EXPECT_GUID_EQ(GUID_NULL, | |
| 61 StringToGuid(_T("CA3045BF-A6B1-4fb8-A0EF-A615CEFE452C"))); | |
| 62 | |
| 63 // Invalid char X | |
| 64 EXPECT_GUID_EQ(GUID_NULL, | |
| 65 StringToGuid(_T("{XA3045BF-A6B1-4fb8-A0EF-A615CEFE452C}"))); | |
| 66 | |
| 67 // Invalid binary char 0x200 | |
| 68 EXPECT_GUID_EQ( | |
| 69 GUID_NULL, | |
| 70 StringToGuid(_T("{\0x200a3045bf-a6b1-4fb8-a0ef-a615cefe452c}"))); | |
| 71 | |
| 72 // Missing - | |
| 73 EXPECT_GUID_EQ(GUID_NULL, | |
| 74 StringToGuid(_T("{CA3045BFA6B14fb8A0EFA615CEFE452C}"))); | |
| 75 | |
| 76 // Double quotes | |
| 77 EXPECT_GUID_EQ( | |
| 78 GUID_NULL, | |
| 79 StringToGuid(_T("\"{ca3045bf-a6b1-4fb8-a0ef-a615cefe452c}\""))); | |
| 80 } | |
| 81 | |
| 82 TEST(UnitTestHelpersTest, StringToGuid_ValidString) { | |
| 83 const GUID kExpectedGuid = {0xCA3045BF, 0xA6B1, 0x4FB8, | |
| 84 {0xA0, 0xEF, 0xA6, 0x15, 0xCE, 0xFE, 0x45, 0x2C}}; | |
| 85 | |
| 86 // Converted successfully, but indistinguishable from failures. | |
| 87 EXPECT_GUID_EQ(GUID_NULL, | |
| 88 StringToGuid(_T("{00000000-0000-0000-0000-000000000000}"))); | |
| 89 | |
| 90 EXPECT_GUID_EQ(kExpectedGuid, | |
| 91 StringToGuid(_T("{CA3045BF-A6B1-4fb8-A0EF-A615CEFE452C}"))); | |
| 92 | |
| 93 EXPECT_GUID_EQ(kExpectedGuid, | |
| 94 StringToGuid(_T("{ca3045bf-a6b1-4fb8-a0ef-a615cefe452c}"))); | |
| 95 } | |
| 96 | |
| 97 } // namespace omaha | |
| OLD | NEW |