Dactyloidae/netwerk/test/gtest/TestHeaders.cpp

29 lines
977 B
C++
Raw Permalink Normal View History

#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 coalesced like
// other headers are.
mozilla::net::nsHttpHeaderArray headers;
nsresult rv = headers.SetHeaderFromNet(
mozilla::net::nsHttp::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("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");
}