Index: net/quic/quic_client_promised_info_test.cc |
diff --git a/net/quic/quic_client_promised_info_test.cc b/net/quic/quic_client_promised_info_test.cc |
index 91a2d4caf679fbaafed574abf84b447fa2ae83dc..74555250cf573a7aefd6ee312997b66df387c82f 100644 |
--- a/net/quic/quic_client_promised_info_test.cc |
+++ b/net/quic/quic_client_promised_info_test.cc |
@@ -198,6 +198,21 @@ TEST_F(QuicClientPromisedInfoTest, PushPromiseInvalidUrl) { |
EXPECT_EQ(session_.GetPromisedByUrl(promise_url_), nullptr); |
} |
+TEST_F(QuicClientPromisedInfoTest, PushPromiseInvalidUrl) { |
+ // Promise with an unsafe method |
+ push_promise_[":method"] = "PUT"; |
+ serialized_push_promise_ = |
+ SpdyUtils::SerializeUncompressedHeaders(push_promise_); |
+ |
+ EXPECT_CALL(*connection_, |
+ SendRstStream(promise_id_, QUIC_INVALID_PROMISE_METHOD, 0)); |
+ ReceivePromise(promise_id_); |
+ |
+ // Verify that the promise headers were ignored |
+ EXPECT_EQ(session_.GetPromisedById(promise_id_), nullptr); |
+ EXPECT_EQ(session_.GetPromisedByUrl(promise_url_), nullptr); |
+} |
+ |
TEST_F(QuicClientPromisedInfoTest, PushPromiseUnauthorizedUrl) { |
session_.set_authorized(false); |