зеркало из https://github.com/mozilla/gecko-dev.git
30 строки
1020 B
C++
30 строки
1020 B
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,
|
|
"Strict_Transport_Security"_ns, "max-age=360"_ns, 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,
|
|
"Strict_Transport_Security"_ns,
|
|
"max-age=720"_ns, 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");
|
|
}
|