gecko-dev/netwerk/test/gtest/TestHeaders.cpp
Sylvestre Ledru 03fc65347c Bug 1542146 - Apply the change with the option StatementMacros from clang-format-8 r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26280

--HG--
extra : moz-landing-system : lando
2019-04-05 21:42:17 +00:00

31 lines
1.1 KiB
C++

#include "gtest/gtest.h"
#include "nsHttpHeaderArray.h"
TEST(TestHeaders, DuplicateHSTS)
{
// When the Strict-Transport-Security header is sent multiple times, its
// effective value is the value of the first item. It is not merged as other
// headers are.
mozilla::net::nsHttpHeaderArray headers;
nsresult rv =
headers.SetHeaderFromNet(mozilla::net::nsHttp::Strict_Transport_Security,
NS_LITERAL_CSTRING("Strict_Transport_Security"),
NS_LITERAL_CSTRING("max-age=360"), true);
ASSERT_EQ(rv, NS_OK);
nsAutoCString h;
rv = headers.GetHeader(mozilla::net::nsHttp::Strict_Transport_Security, h);
ASSERT_EQ(rv, NS_OK);
ASSERT_EQ(h.get(), "max-age=360");
rv = headers.SetHeaderFromNet(mozilla::net::nsHttp::Strict_Transport_Security,
NS_LITERAL_CSTRING("Strict_Transport_Security"),
NS_LITERAL_CSTRING("max-age=720"), true);
ASSERT_EQ(rv, NS_OK);
rv = headers.GetHeader(mozilla::net::nsHttp::Strict_Transport_Security, h);
ASSERT_EQ(rv, NS_OK);
ASSERT_EQ(h.get(), "max-age=360");
}