1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- // Copyright 2019 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "base/win/hstring_compare.h"
- #include "base/win/hstring_reference.h"
- #include "base/win/windows_version.h"
- #include "testing/gtest/include/gtest/gtest.h"
- namespace base {
- namespace win {
- namespace {
- constexpr wchar_t kTestString12[] = L"12";
- constexpr wchar_t kTestString123[] = L"123";
- constexpr wchar_t kTestString1234[] = L"1234";
- } // namespace
- TEST(HStringCompareTest, WorksOnWindows8AndAbove) {
- INT32 result;
- HRESULT hr = HStringCompare(nullptr, nullptr, &result);
- // HStringCompare requires WinRT core functions, which are not available in
- // older versions.
- if (GetVersion() < Version::WIN8)
- EXPECT_HRESULT_FAILED(hr);
- else
- EXPECT_HRESULT_SUCCEEDED(hr);
- }
- TEST(HStringCompareTest, FirstStringBeforeSecondString) {
- if (GetVersion() < Version::WIN8)
- return;
- ASSERT_TRUE(HStringReference::ResolveCoreWinRTStringDelayload());
- const HStringReference string12(kTestString12);
- const HStringReference string123(kTestString123);
- INT32 result;
- HRESULT hr = HStringCompare(string12.Get(), string123.Get(), &result);
- EXPECT_HRESULT_SUCCEEDED(hr);
- EXPECT_EQ(-1, result);
- }
- TEST(HStringCompareTest, StringsEqual) {
- if (GetVersion() < Version::WIN8)
- return;
- ASSERT_TRUE(HStringReference::ResolveCoreWinRTStringDelayload());
- const HStringReference string123(kTestString123);
- INT32 result;
- HRESULT hr = HStringCompare(string123.Get(), string123.Get(), &result);
- EXPECT_HRESULT_SUCCEEDED(hr);
- EXPECT_EQ(0, result);
- }
- TEST(HStringCompareTest, FirstStringAfterSecondString) {
- if (GetVersion() < Version::WIN8)
- return;
- ASSERT_TRUE(HStringReference::ResolveCoreWinRTStringDelayload());
- const HStringReference string123(kTestString123);
- const HStringReference string1234(kTestString1234);
- INT32 result;
- HRESULT hr = HStringCompare(string1234.Get(), string123.Get(), &result);
- EXPECT_HRESULT_SUCCEEDED(hr);
- EXPECT_EQ(1, result);
- }
- } // namespace win
- } // namespace base
|