| Index: ash/common/system/chromeos/network/vpn_delegate_unittest.cc
|
| diff --git a/ash/common/system/chromeos/network/vpn_delegate_unittest.cc b/ash/common/system/chromeos/network/vpn_delegate_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..160b51f48417d348fad7e367ffd6c112a8904ccd
|
| --- /dev/null
|
| +++ b/ash/common/system/chromeos/network/vpn_delegate_unittest.cc
|
| @@ -0,0 +1,64 @@
|
| +// Copyright 2016 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 "ash/common/system/chromeos/network/vpn_delegate.h"
|
| +
|
| +#include <algorithm>
|
| +#include <vector>
|
| +
|
| +#include "base/macros.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace ash {
|
| +
|
| +namespace {
|
| +
|
| +class TestVpnDelegate : public VPNDelegate {
|
| + public:
|
| + TestVpnDelegate() {}
|
| + ~TestVpnDelegate() override {}
|
| +
|
| + // VPNDelegate:
|
| + void ShowAddPage(const VPNProvider::Key& key) override {}
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(TestVpnDelegate);
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| +using VpnDelegateTest = testing::Test;
|
| +
|
| +TEST_F(VpnDelegateTest, BuiltInProvider) {
|
| + TestVpnDelegate delegate;
|
| +
|
| + // The VPN list should only contain the built-in provider.
|
| + ASSERT_EQ(1u, delegate.vpn_providers().size());
|
| + VPNProvider provider = delegate.vpn_providers()[0];
|
| + EXPECT_FALSE(provider.key.third_party);
|
| + EXPECT_TRUE(provider.key.extension_id.empty());
|
| +}
|
| +
|
| +TEST_F(VpnDelegateTest, ThirdPartyProviders) {
|
| + TestVpnDelegate delegate;
|
| +
|
| + // The VPN list should only contain the built-in provider.
|
| + EXPECT_EQ(1u, delegate.vpn_providers().size());
|
| +
|
| + // Add some third party (extension-backed) providers.
|
| + VPNProvider::Key key1("extension_id1");
|
| + VPNProvider provider1(key1, "name1");
|
| + VPNProvider::Key key2("extension_id2");
|
| + VPNProvider provider2(key2, "name2");
|
| + std::vector<VPNProvider> third_party_providers = {provider1, provider2};
|
| + delegate.SetThirdPartyVpnProviders(third_party_providers);
|
| +
|
| + // List contains the extension-backed providers. Order doesn't matter.
|
| + std::vector<VPNProvider> providers = delegate.vpn_providers();
|
| + EXPECT_EQ(3u, providers.size());
|
| + EXPECT_EQ(1u, std::count(providers.begin(), providers.end(), provider1));
|
| + EXPECT_EQ(1u, std::count(providers.begin(), providers.end(), provider2));
|
| +}
|
| +
|
| +} // namespace ash
|
|
|