Tests: basic HTTP/2 PUSH_PROMISE support.
diff --git a/lib/Test/Nginx/HTTP2.pm b/lib/Test/Nginx/HTTP2.pm
index 089aa6f..30028c1 100644
--- a/lib/Test/Nginx/HTTP2.pm
+++ b/lib/Test/Nginx/HTTP2.pm
@@ -24,7 +24,7 @@
 #	2 => { name => 'PRIORITY', value => \&priority },
 	3 => { name => 'RST_STREAM', value => \&rst_stream },
 	4 => { name => 'SETTINGS', value => \&settings },
-#	5 => { name => 'PUSH_PROMISE', value => \&push_promise },
+	5 => { name => 'PUSH_PROMISE', value => \&push_promise },
 	6 => { name => 'PING', value => \&ping },
 	7 => { name => 'GOAWAY', value => \&goaway },
 	8 => { name => 'WINDOW_UPDATE', value => \&window_update },
@@ -402,6 +402,13 @@
 	return \%payload;
 }
 
+sub push_promise {
+	my ($ctx, $buf, $len, $flags) = @_;
+
+	{ promised => unpack("N", $buf),
+	  headers => hunpack($ctx, substr($buf, 4, $len), $len) };
+}
+
 sub ping {
 	my ($ctx, $buf, $len) = @_;
 	return { value => unpack "A$len", $buf };