mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
03fc65347c
# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D26280 --HG-- extra : moz-landing-system : lando
31 lines
1.1 KiB
C++
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");
|
|
}
|