OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/core/quic_versions.h" | 5 #include "net/quic/core/quic_versions.h" |
6 | 6 |
7 #include "net/quic/core/quic_flags.h" | 7 #include "net/quic/core/quic_flags.h" |
8 #include "net/quic/test_tools/quic_test_utils.h" | 8 #include "net/quic/test_tools/quic_test_utils.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED,QUIC_VERSION_35", | 118 EXPECT_EQ("QUIC_VERSION_UNSUPPORTED,QUIC_VERSION_35", |
119 QuicVersionVectorToString(versions_vector)); | 119 QuicVersionVectorToString(versions_vector)); |
120 | 120 |
121 // Make sure that all supported versions are present in QuicVersionToString. | 121 // Make sure that all supported versions are present in QuicVersionToString. |
122 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) { | 122 for (size_t i = 0; i < arraysize(kSupportedQuicVersions); ++i) { |
123 QuicVersion version = kSupportedQuicVersions[i]; | 123 QuicVersion version = kSupportedQuicVersions[i]; |
124 EXPECT_NE("QUIC_VERSION_UNSUPPORTED", QuicVersionToString(version)); | 124 EXPECT_NE("QUIC_VERSION_UNSUPPORTED", QuicVersionToString(version)); |
125 } | 125 } |
126 } | 126 } |
127 | 127 |
128 TEST(QuicVersionsTest, FilterSupportedVersionsNo36) { | |
129 QuicFlagSaver flags; | |
130 QuicVersionVector all_versions = {QUIC_VERSION_35, QUIC_VERSION_36, | |
131 QUIC_VERSION_37}; | |
132 | |
133 FLAGS_quic_reloadable_flag_quic_enable_version_36_v3 = false; | |
134 FLAGS_quic_reloadable_flag_quic_enable_version_37 = false; | |
135 | |
136 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); | |
137 ASSERT_EQ(1u, filtered_versions.size()); | |
138 EXPECT_EQ(QUIC_VERSION_35, filtered_versions[0]); | |
139 } | |
140 | |
141 TEST(QuicVersionsTest, FilterSupportedVersionsNo37) { | 128 TEST(QuicVersionsTest, FilterSupportedVersionsNo37) { |
142 QuicFlagSaver flags; | 129 QuicFlagSaver flags; |
143 QuicVersionVector all_versions = {QUIC_VERSION_35, QUIC_VERSION_36, | 130 QuicVersionVector all_versions = {QUIC_VERSION_35, QUIC_VERSION_36, |
144 QUIC_VERSION_37}; | 131 QUIC_VERSION_37}; |
145 | 132 |
146 FLAGS_quic_reloadable_flag_quic_enable_version_36_v3 = true; | |
147 FLAGS_quic_reloadable_flag_quic_enable_version_37 = false; | 133 FLAGS_quic_reloadable_flag_quic_enable_version_37 = false; |
148 | 134 |
149 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); | 135 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); |
150 ASSERT_EQ(2u, filtered_versions.size()); | 136 ASSERT_EQ(2u, filtered_versions.size()); |
151 EXPECT_EQ(QUIC_VERSION_35, filtered_versions[0]); | 137 EXPECT_EQ(QUIC_VERSION_35, filtered_versions[0]); |
152 EXPECT_EQ(QUIC_VERSION_36, filtered_versions[1]); | 138 EXPECT_EQ(QUIC_VERSION_36, filtered_versions[1]); |
153 } | 139 } |
154 | 140 |
155 TEST(QuicVersionsTest, FilterSupportedVersionsAllVersions) { | 141 TEST(QuicVersionsTest, FilterSupportedVersionsAllVersions) { |
156 QuicFlagSaver flags; | 142 QuicFlagSaver flags; |
157 QuicVersionVector all_versions = {QUIC_VERSION_35, QUIC_VERSION_36, | 143 QuicVersionVector all_versions = {QUIC_VERSION_35, QUIC_VERSION_36, |
158 QUIC_VERSION_37}; | 144 QUIC_VERSION_37}; |
159 | 145 |
160 FLAGS_quic_reloadable_flag_quic_enable_version_36_v3 = true; | |
161 FLAGS_quic_reloadable_flag_quic_enable_version_37 = true; | 146 FLAGS_quic_reloadable_flag_quic_enable_version_37 = true; |
162 | 147 |
163 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); | 148 QuicVersionVector filtered_versions = FilterSupportedVersions(all_versions); |
164 ASSERT_EQ(all_versions, filtered_versions); | 149 ASSERT_EQ(all_versions, filtered_versions); |
165 } | 150 } |
166 | 151 |
167 TEST(QuicVersionsTest, LookUpVersionByIndex) { | 152 TEST(QuicVersionsTest, LookUpVersionByIndex) { |
168 QuicVersionVector all_versions = {QUIC_VERSION_35, QUIC_VERSION_36, | 153 QuicVersionVector all_versions = {QUIC_VERSION_35, QUIC_VERSION_36, |
169 QUIC_VERSION_37}; | 154 QUIC_VERSION_37}; |
170 int version_count = all_versions.size(); | 155 int version_count = all_versions.size(); |
171 for (int i = -5; i <= version_count + 1; ++i) { | 156 for (int i = -5; i <= version_count + 1; ++i) { |
172 if (i >= 0 && i < version_count) { | 157 if (i >= 0 && i < version_count) { |
173 EXPECT_EQ(all_versions[i], VersionOfIndex(all_versions, i)[0]); | 158 EXPECT_EQ(all_versions[i], VersionOfIndex(all_versions, i)[0]); |
174 } else { | 159 } else { |
175 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED, VersionOfIndex(all_versions, i)[0]); | 160 EXPECT_EQ(QUIC_VERSION_UNSUPPORTED, VersionOfIndex(all_versions, i)[0]); |
176 } | 161 } |
177 } | 162 } |
178 } | 163 } |
179 | 164 |
180 } // namespace | 165 } // namespace |
181 } // namespace test | 166 } // namespace test |
182 } // namespace net | 167 } // namespace net |
OLD | NEW |