19ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 29ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 39ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles)// found in the LICENSE file. 49ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) 59ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles)#include "chrome/browser/profiles/file_path_verifier_win.h" 69ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) 79ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles)#include "base/files/file_path.h" 89ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 99ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) 109ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles)TEST(FilePathVerifierTest, ComparePathsIgnoreCase) { 119ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) const struct PathComparisonReasonTestData { 129ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) const base::FilePath::CharType* inputs[2]; 139ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) internal::PathComparisonReason expected; 149ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) } cases[] = { 159ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) { { FILE_PATH_LITERAL("test/foo.bar"), 169ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) FILE_PATH_LITERAL("test/foo.bar") }, 179ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) internal::PATH_COMPARISON_EQUAL}, 189ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) { { FILE_PATH_LITERAL("test\\foo.bar"), 199ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) FILE_PATH_LITERAL("test\\foo.bar") }, 209ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) internal::PATH_COMPARISON_EQUAL}, 219ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) { { FILE_PATH_LITERAL("test/foo.bar"), 229ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) FILE_PATH_LITERAL("test/foo.baz") }, 239ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) internal::PATH_COMPARISON_FAILED_SAMEDIR}, 249ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) { { FILE_PATH_LITERAL("test/foo.bar"), 259ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) FILE_PATH_LITERAL("test/joe/foo.bar") }, 269ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) internal::PATH_COMPARISON_FAILED_SAMEBASE}, 279ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) { { FILE_PATH_LITERAL("test/foo.bar"), 289ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) FILE_PATH_LITERAL("jack/bar.buz") }, 299ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) internal::PATH_COMPARISON_FAILED_UNKNOWN}, 309ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) }; 319ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) 329ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) for (size_t i = 0; i < arraysize(cases); ++i) { 339ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) base::FilePath p1(cases[i].inputs[0]); 349ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) base::FilePath p2(cases[i].inputs[1]); 359ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) internal::PathComparisonReason reason = 369ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) internal::ComparePathsIgnoreCase(p1, p2); 379ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) EXPECT_EQ(cases[i].expected, reason) << 389ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) "i: " << i << ", p1: " << p1.value() << ", p2: " << p2.value(); 399ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles) } 409ab648a9d8bb43f27cc0620387d8052a8485a5eeTorne (Richard Coles)} 41