spec/stream_spec.rb in http-2-0.8.1 vs spec/stream_spec.rb in http-2-0.8.2
- old
+ new
@@ -571,10 +571,25 @@
@client << framer.generate(WINDOW_UPDATE.merge(stream: s1.id, increment: 1000))
expect(s1.buffered_amount).to eq 0
expect(s1.remote_window).to eq 900
end
+
+ it 'should keep track of incoming flow control' do
+ data = DATA.deep_dup
+ datalen = data[:payload].bytesize
+ expect(@stream).to receive(:send) do |frame|
+ expect(frame[:type]).to eq :window_update
+ expect(frame[:increment]).to eq datalen
+ end
+ expect(@client).to receive(:send) do |frame|
+ expect(frame[:type]).to eq :window_update
+ expect(frame[:increment]).to eq datalen
+ end
+ @stream.receive HEADERS.deep_dup
+ @stream.receive data
+ end
end
context 'client API' do
it '.reprioritize should emit PRIORITY frame' do
expect(@stream).to receive(:send) do |frame|
@@ -657,9 +672,17 @@
expect(frame[:type]).to eq :rst_stream
expect(frame[:error]).to eq :refused_stream
end
@stream.refuse
+ end
+
+ it '.window_update should emit WINDOW_UPDATE frames' do
+ expect(@stream).to receive(:send) do |frame|
+ expect(frame[:type]).to eq :window_update
+ expect(frame[:increment]).to eq 20
+ end
+ @stream.window_update(20)
end
end
context 'server API' do
before(:each) do