Fix Ruby client seqid handling
diff --git a/lib/rb/spec/compact_protocol_spec.rb b/lib/rb/spec/compact_protocol_spec.rb
index 944554f..e67514b 100644
--- a/lib/rb/spec/compact_protocol_spec.rb
+++ b/lib/rb/spec/compact_protocol_spec.rb
@@ -124,6 +124,20 @@
     expect(client.recv_Janky).to eq(2)
   end
 
+  it "should round-trip wrapped negative seqids in message headers" do
+    trans = Thrift::MemoryBufferTransport.new
+    writer = Thrift::CompactProtocol.new(trans)
+
+    writer.write_message_begin("test", Thrift::MessageTypes::CALL, -2147483648)
+    writer.write_message_end
+
+    reader = Thrift::CompactProtocol.new(trans)
+    name, type, seqid = reader.read_message_begin
+    expect(name).to eq("test")
+    expect(type).to eq(Thrift::MessageTypes::CALL)
+    expect(seqid).to eq(-2147483648)
+  end
+
   it "should deal with fields following fields that have non-delta ids" do
     brcp = Thrift::Test::BreaksRubyCompactProtocol.new(
       :field1 => "blah",