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
3 // found in the LICENSE file.
5 #include "net/quic/crypto/null_encrypter.h"
6 #include "net/quic/test_tools/quic_test_utils.h"
8 using base::StringPiece
;
13 class NullEncrypterTest
: public ::testing::TestWithParam
<bool> {
16 TEST_F(NullEncrypterTest
, Encrypt
) {
17 unsigned char expected
[] = {
19 0xa0, 0x6f, 0x44, 0x8a,
20 0x44, 0xf8, 0x18, 0x3b,
21 0x47, 0x91, 0xb2, 0x13,
26 NullEncrypter encrypter
;
28 size_t encrypted_len
= 0;
29 ASSERT_TRUE(encrypter
.EncryptPacket(0, "hello world!", "goodbye!", encrypted
,
30 &encrypted_len
, 256));
31 test::CompareCharArraysWithHexError(
32 "encrypted data", encrypted
, encrypted_len
,
33 reinterpret_cast<const char*>(expected
), arraysize(expected
));
36 TEST_F(NullEncrypterTest
, GetMaxPlaintextSize
) {
37 NullEncrypter encrypter
;
38 EXPECT_EQ(1000u, encrypter
.GetMaxPlaintextSize(1012));
39 EXPECT_EQ(100u, encrypter
.GetMaxPlaintextSize(112));
40 EXPECT_EQ(10u, encrypter
.GetMaxPlaintextSize(22));
43 TEST_F(NullEncrypterTest
, GetCiphertextSize
) {
44 NullEncrypter encrypter
;
45 EXPECT_EQ(1012u, encrypter
.GetCiphertextSize(1000));
46 EXPECT_EQ(112u, encrypter
.GetCiphertextSize(100));
47 EXPECT_EQ(22u, encrypter
.GetCiphertextSize(10));