123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // 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 "net/nqe/effective_connection_type.h"
- #include <string>
- #include "testing/gtest/include/gtest/gtest.h"
- #include "third_party/abseil-cpp/absl/types/optional.h"
- namespace net {
- namespace {
- // Tests that the effective connection type is converted correctly to a
- // descriptive string name, and vice-versa.
- TEST(EffectiveConnectionTypeTest, NameConnectionTypeConversion) {
- // Verify GetEffectiveConnectionTypeForName() returns an unset value when an
- // invalid effective connection type name is provided.
- EXPECT_FALSE(
- GetEffectiveConnectionTypeForName("InvalidEffectiveConnectionTypeName"));
- EXPECT_FALSE(GetEffectiveConnectionTypeForName(std::string()));
- for (size_t i = 0; i < EFFECTIVE_CONNECTION_TYPE_LAST; ++i) {
- const EffectiveConnectionType effective_connection_type =
- static_cast<EffectiveConnectionType>(i);
- std::string connection_type_name = std::string(
- GetNameForEffectiveConnectionType(effective_connection_type));
- EXPECT_FALSE(connection_type_name.empty());
- if (effective_connection_type != EFFECTIVE_CONNECTION_TYPE_SLOW_2G) {
- // For all effective connection types except Slow2G,
- // DeprecatedGetNameForEffectiveConnectionType should return the same
- // name as GetNameForEffectiveConnectionType.
- EXPECT_EQ(connection_type_name,
- DeprecatedGetNameForEffectiveConnectionType(
- effective_connection_type));
- }
- EXPECT_EQ(effective_connection_type,
- GetEffectiveConnectionTypeForName(connection_type_name));
- }
- }
- // Tests that the Slow 2G effective connection type is converted correctly to a
- // descriptive string name, and vice-versa.
- TEST(EffectiveConnectionTypeTest, Slow2GTypeConversion) {
- // GetEffectiveConnectionTypeForName should return Slow2G as effective
- // connection type for both the deprecated and the current string
- // representation.
- absl::optional<EffectiveConnectionType> type =
- GetEffectiveConnectionTypeForName("Slow2G");
- EXPECT_EQ(EFFECTIVE_CONNECTION_TYPE_SLOW_2G, type.value());
- type = GetEffectiveConnectionTypeForName("Slow-2G");
- EXPECT_EQ(EFFECTIVE_CONNECTION_TYPE_SLOW_2G, type.value());
- EXPECT_EQ("Slow-2G", std::string(GetNameForEffectiveConnectionType(
- EFFECTIVE_CONNECTION_TYPE_SLOW_2G)));
- EXPECT_EQ("Slow2G", std::string(DeprecatedGetNameForEffectiveConnectionType(
- EFFECTIVE_CONNECTION_TYPE_SLOW_2G)));
- }
- } // namespace
- } // namespace net
|