| // Copyright (c) 2011 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/base/ssl_cipher_suite_names.h" |
| |
| #include "base/basictypes.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace net { |
| |
| namespace { |
| |
| TEST(CipherSuiteNamesTest, Basic) { |
| const char *key_exchange, *cipher, *mac; |
| SSLCipherSuiteToStrings(&key_exchange, &cipher, &mac, 0xc001); |
| EXPECT_STREQ(key_exchange, "ECDH_ECDSA"); |
| EXPECT_STREQ(cipher, "NULL"); |
| EXPECT_STREQ(mac, "SHA1"); |
| |
| SSLCipherSuiteToStrings(&key_exchange, &cipher, &mac, 0xff31); |
| EXPECT_STREQ(key_exchange, "???"); |
| EXPECT_STREQ(cipher, "???"); |
| EXPECT_STREQ(mac, "???"); |
| } |
| |
| TEST(CipherSuiteNamesTest, ParseSSLCipherString) { |
| uint16 cipher_suite = 0; |
| EXPECT_TRUE(ParseSSLCipherString("0x0004", &cipher_suite)); |
| EXPECT_EQ(0x00004u, cipher_suite); |
| |
| EXPECT_TRUE(ParseSSLCipherString("0xBEEF", &cipher_suite)); |
| EXPECT_EQ(0xBEEFu, cipher_suite); |
| } |
| |
| TEST(CipherSuiteNamesTest, ParseSSLCipherStringFails) { |
| const char* const cipher_strings[] = { |
| "0004", |
| "0x004", |
| "0xBEEFY", |
| }; |
| |
| for (size_t i = 0; i < arraysize(cipher_strings); ++i) { |
| uint16 cipher_suite = 0; |
| EXPECT_FALSE(ParseSSLCipherString(cipher_strings[i], &cipher_suite)); |
| } |
| } |
| |
| } // anonymous namespace |
| |
| } // namespace net |