mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 00:38:39 +09:00
29 lines
977 B
C++
29 lines
977 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 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");
|
||
|
|
}
|