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.
5 #include "net/base/ssl_cipher_suite_names.h"
7 #include "base/basictypes.h"
8 #include "testing/gtest/include/gtest/gtest.h"
14 TEST(CipherSuiteNamesTest
, Basic
) {
15 const char *key_exchange
, *cipher
, *mac
;
16 SSLCipherSuiteToStrings(&key_exchange
, &cipher
, &mac
, 0xc001);
17 EXPECT_STREQ(key_exchange
, "ECDH_ECDSA");
18 EXPECT_STREQ(cipher
, "NULL");
19 EXPECT_STREQ(mac
, "SHA1");
21 SSLCipherSuiteToStrings(&key_exchange
, &cipher
, &mac
, 0xff31);
22 EXPECT_STREQ(key_exchange
, "???");
23 EXPECT_STREQ(cipher
, "???");
24 EXPECT_STREQ(mac
, "???");
27 TEST(CipherSuiteNamesTest
, ParseSSLCipherString
) {
28 uint16 cipher_suite
= 0;
29 EXPECT_TRUE(ParseSSLCipherString("0x0004", &cipher_suite
));
30 EXPECT_EQ(0x00004u
, cipher_suite
);
32 EXPECT_TRUE(ParseSSLCipherString("0xBEEF", &cipher_suite
));
33 EXPECT_EQ(0xBEEFu
, cipher_suite
);
36 TEST(CipherSuiteNamesTest
, ParseSSLCipherStringFails
) {
37 const char* const cipher_strings
[] = {
43 for (size_t i
= 0; i
< arraysize(cipher_strings
); ++i
) {
44 uint16 cipher_suite
= 0;
45 EXPECT_FALSE(ParseSSLCipherString(cipher_strings
[i
], &cipher_suite
));
49 } // anonymous namespace