OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include <string.h> |
| 6 |
| 7 #include "chrome/browser/password_manager/proxy/keyring_loader.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 |
| 10 class TestKeyringLoader : public GnomeKeyringLoader { |
| 11 public: |
| 12 // Promote members to be public for testing. |
| 13 using GnomeKeyringLoader::LoadGnomeKeyring; |
| 14 #define GNOME_KEYRING_USE_KEYRING_METHOD(name) \ |
| 15 using GnomeKeyringLoader::gnome_keyring_##name; |
| 16 GNOME_KEYRING_FOR_EACH_FUNC(GNOME_KEYRING_USE_KEYRING_METHOD) |
| 17 #undef GNOME_KEYRING_USE_KEYRING_METHOD |
| 18 }; |
| 19 |
| 20 TEST(GnomeKeyringLoaderTest, LoadsGnomeKeyring) { |
| 21 TestKeyringLoader loader; |
| 22 EXPECT_TRUE(loader.LoadGnomeKeyring()); |
| 23 // Since the test is linked directly with libgnomekeyring, we can compare the |
| 24 // results of dynamically loading it against the directly-linked symbols. |
| 25 #define GNOME_KEYRING_TEST_KEYRING_METHOD(name) \ |
| 26 EXPECT_EQ(&::gnome_keyring_##name, loader.gnome_keyring_##name); |
| 27 GNOME_KEYRING_FOR_EACH_FUNC(GNOME_KEYRING_TEST_KEYRING_METHOD) |
| 28 #undef GNOME_KEYRING_TEST_KEYRING_METHOD |
| 29 } |
OLD | NEW |