[DRE-commits] [ruby-http-parser.rb] 02/03: Make tests run

Balasankar C balasankarc-guest at moszumanska.debian.org
Mon Jul 20 15:59:13 UTC 2015


This is an automated email from the git hooks/post-receive script.

balasankarc-guest pushed a commit to branch master
in repository ruby-http-parser.rb.

commit 4770d4b61c0f78ed16597d6ac91e14c2889c6696
Author: Balasankar C <balasankarc at autistici.org>
Date:   Mon Jul 20 21:27:51 2015 +0530

    Make tests run
---
 debian/patches/0005-tweak-to-support-rspec3.patch | 364 ++++++++++++++++++++++
 debian/patches/series                             |   1 +
 debian/ruby-tests.rake                            |  14 +-
 3 files changed, 376 insertions(+), 3 deletions(-)

diff --git a/debian/patches/0005-tweak-to-support-rspec3.patch b/debian/patches/0005-tweak-to-support-rspec3.patch
new file mode 100644
index 0000000..7f40161
--- /dev/null
+++ b/debian/patches/0005-tweak-to-support-rspec3.patch
@@ -0,0 +1,364 @@
+Description: Tweak tests to support RSpec3
+ Tests were using old syntax which gave errors and deprecation warnings with 
+ RSpec 3. Patched them to use the new syntax.
+Author: Balasankar C <balasankarc at autistici.org>
+Last-Update: 2015-07-20
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/spec/parser_spec.rb
++++ b/spec/parser_spec.rb
+@@ -21,24 +21,24 @@
+   end
+ 
+   it "should have initial state" do
+-    @parser.headers.should be_nil
++    expect(@parser.headers).to be_nil
+ 
+-    @parser.http_version.should be_nil
+-    @parser.http_method.should be_nil
+-    @parser.status_code.should be_nil
++    expect(@parser.http_version).to be_nil
++    expect(@parser.http_method).to be_nil
++    expect(@parser.status_code).to be_nil
+ 
+-    @parser.request_url.should be_nil
++    expect(@parser.request_url).to be_nil
+ 
+-    @parser.header_value_type.should == :mixed
++    expect(@parser.header_value_type).to eq(:mixed)
+   end
+ 
+   it "should allow us to set the header value type" do
+     [:mixed, :arrays, :strings].each do |type|
+       @parser.header_value_type = type
+-      @parser.header_value_type.should == type
++      expect(@parser.header_value_type).to eq(type)
+ 
+       parser_tmp = HTTP::Parser.new(nil, type)
+-      parser_tmp.header_value_type.should == type
++      expect(parser_tmp.header_value_type).to eq(type)
+     end
+   end
+ 
+@@ -47,16 +47,16 @@
+       HTTP::Parser.default_header_value_type = type
+ 
+       parser = HTTP::Parser.new
+-      parser.header_value_type.should == type
++      expect(parser.header_value_type).to eq(type)
+     end
+   end
+ 
+   it "should throw an Argument Error if header value type is invalid" do
+-    proc{ @parser.header_value_type = 'bob' }.should raise_error(ArgumentError)
++    expect(proc{ @parser.header_value_type = 'bob' }).to raise_error(ArgumentError)
+   end
+ 
+   it "should throw an Argument Error if default header value type is invalid" do
+-    proc{ HTTP::Parser.default_header_value_type = 'bob' }.should raise_error(ArgumentError)
++    expect(proc{ HTTP::Parser.default_header_value_type = 'bob' }).to raise_error(ArgumentError)
+   end
+ 
+   it "should implement basic api" do
+@@ -69,26 +69,26 @@
+       "\r\n" +
+       "World"
+ 
+-    @started.should be_true
+-    @done.should be_true
++    expect(@started).to be_truthy
++    expect(@done).to be_truthy
+ 
+-    @parser.http_major.should == 1
+-    @parser.http_minor.should == 1
+-    @parser.http_version.should == [1,1]
+-    @parser.http_method.should == 'GET'
+-    @parser.status_code.should be_nil
+-
+-    @parser.request_url.should == '/test?ok=1'
+-
+-    @parser.headers.should == @headers
+-    @parser.headers['User-Agent'].should == 'curl/7.18.0'
+-    @parser.headers['Host'].should == '0.0.0.0:5000'
++    expect(@parser.http_major).to eq(1)
++    expect(@parser.http_minor).to eq(1)
++    expect(@parser.http_version).to eq([1,1])
++    expect(@parser.http_method).to eq('GET')
++    expect(@parser.status_code).to be_nil
++
++    expect(@parser.request_url).to eq('/test?ok=1')
++
++    expect(@parser.headers).to eq(@headers)
++    expect(@parser.headers['User-Agent']).to eq('curl/7.18.0')
++    expect(@parser.headers['Host']).to eq('0.0.0.0:5000')
+ 
+-    @body.should == "World"
++    expect(@body).to eq("World")
+   end
+ 
+   it "should raise errors on invalid data" do
+-    proc{ @parser << "BLAH" }.should raise_error(HTTP::Parser::Error)
++    expect(proc{ @parser << "BLAH" }).to raise_error(HTTP::Parser::Error)
+   end
+ 
+   it "should abort parser via callback" do
+@@ -102,33 +102,33 @@
+ 
+     bytes = @parser << data
+ 
+-    bytes.should == 37
+-    data[bytes..-1].should == 'World'
++    expect(bytes).to eq(37)
++    expect(data[bytes..-1]).to eq('World')
+ 
+-    @headers.should == {'Content-Length' => '5'}
+-    @body.should be_empty
+-    @done.should be_false
++    expect(@headers).to eq({'Content-Length' => '5'})
++    expect(@body).to be_empty
++    expect(@done).to be_falsey
+   end
+ 
+   it "should reset to initial state" do
+     @parser << "GET / HTTP/1.0\r\n\r\n"
+ 
+-    @parser.http_method.should == 'GET'
+-    @parser.http_version.should == [1,0]
++    expect(@parser.http_method).to eq('GET')
++    expect(@parser.http_version).to eq([1,0])
+ 
+-    @parser.request_url.should == '/'
++    expect(@parser.request_url).to eq('/')
+ 
+-    @parser.reset!.should be_true
++    expect(@parser.reset!).to be_truthy
+ 
+-    @parser.http_version.should be_nil
+-    @parser.http_method.should be_nil
+-    @parser.status_code.should be_nil
++    expect(@parser.http_version).to be_nil
++    expect(@parser.http_method).to be_nil
++    expect(@parser.status_code).to be_nil
+ 
+-    @parser.request_url.should be_nil
++    expect(@parser.request_url).to be_nil
+   end
+ 
+   it "should optionally reset parser state on no-body responses" do
+-   @parser.reset!.should be_true
++   expect(@parser.reset!).to be_truthy
+ 
+    @head, @complete = 0, 0
+    @parser.on_headers_complete = proc {|h| @head += 1; :reset }
+@@ -138,21 +138,21 @@
+    head_response = "HTTP/1.1 200 OK\r\nContent-Length:10\r\n\r\n"
+ 
+    @parser << head_response
+-   @head.should == 1
+-   @complete.should == 1
++   expect(@head).to eq(1)
++   expect(@complete).to eq(1)
+ 
+    @parser << head_response
+-   @head.should == 2
+-   @complete.should == 2
++   expect(@head).to eq(2)
++   expect(@complete).to eq(2)
+   end
+ 
+   it "should retain callbacks after reset" do
+-    @parser.reset!.should be_true
++    expect(@parser.reset!).to be_truthy
+ 
+     @parser << "GET / HTTP/1.0\r\n\r\n"
+-    @started.should be_true
+-    @headers.should == {}
+-    @done.should be_true
++    expect(@started).to be_truthy
++    expect(@headers).to eq({})
++    expect(@done).to be_truthy
+   end
+ 
+   it "should parse headers incrementally" do
+@@ -166,10 +166,10 @@
+       @parser << chunk
+     end
+ 
+-    @parser.headers.should == {
++    expect(@parser.headers).to eq({
+       'Header1' => 'value 1',
+       'Header2' => 'value 2'
+-    }
++    })
+   end
+ 
+   it "should handle multiple headers using strings" do
+@@ -181,7 +181,7 @@
+       "Set-Cookie: NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly\r\n" +
+       "\r\n"
+ 
+-    @parser.headers["Set-Cookie"].should == "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com, NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly"
++    expect(@parser.headers["Set-Cookie"]).to eq("PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com, NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly")
+   end
+ 
+   it "should handle multiple headers using strings" do
+@@ -193,10 +193,10 @@
+       "Set-Cookie: NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly\r\n" +
+       "\r\n"
+ 
+-    @parser.headers["Set-Cookie"].should == [
++    expect(@parser.headers["Set-Cookie"]).to eq([
+         "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com",
+         "NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly"
+-    ]
++    ])
+   end
+ 
+   it "should handle multiple headers using mixed" do
+@@ -208,10 +208,10 @@
+       "Set-Cookie: NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly\r\n" +
+       "\r\n"
+ 
+-    @parser.headers["Set-Cookie"].should == [
++    expect(@parser.headers["Set-Cookie"]).to eq([
+         "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com",
+         "NID=46jSHxPM; path=/; domain=.bob.com; HttpOnly"
+-    ]
++    ])
+   end
+ 
+   it "should handle a single cookie using mixed" do
+@@ -222,23 +222,23 @@
+       "Set-Cookie: PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com\r\n" +
+       "\r\n"
+ 
+-    @parser.headers["Set-Cookie"].should == "PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com"
++    expect(@parser.headers["Set-Cookie"]).to eq("PREF=ID=a7d2c98; expires=Fri, 05-Apr-2013 05:00:45 GMT; path=/; domain=.bob.com")
+   end
+ 
+   it "should support alternative api" do
+     callbacks = double('callbacks')
+-    callbacks.stub(:on_message_begin){ @started = true }
+-    callbacks.stub(:on_headers_complete){ |e| @headers = e }
+-    callbacks.stub(:on_body){ |chunk| @body << chunk }
+-    callbacks.stub(:on_message_complete){ @done = true }
++    allow(callbacks).to receive(:on_message_begin){ @started = true }
++    allow(callbacks).to receive(:on_headers_complete){ |e| @headers = e }
++    allow(callbacks).to receive(:on_body){ |chunk| @body << chunk }
++    allow(callbacks).to receive(:on_message_complete){ @done = true }
+ 
+     @parser = HTTP::Parser.new(callbacks)
+     @parser << "GET / HTTP/1.0\r\n\r\n"
+ 
+-    @started.should be_true
+-    @headers.should == {}
+-    @body.should == ''
+-    @done.should be_true
++    expect(@started).to be_truthy
++    expect(@headers).to eq({})
++    expect(@body).to eq('')
++    expect(@done).to be_truthy
+   end
+ 
+   it "should ignore extra content beyond specified length" do
+@@ -249,8 +249,8 @@
+       "hello" +
+       "  \n"
+ 
+-    @body.should == 'hello'
+-    @done.should be_true
++    expect(@body).to eq('hello')
++    expect(@done).to be_truthy
+   end
+ 
+   it 'sets upgrade_data if available' do
+@@ -260,8 +260,8 @@
+       "Upgrade: WebSocket\r\n\r\n" +
+       "third key data"
+ 
+-    @parser.upgrade?.should be_true
+-    @parser.upgrade_data.should == 'third key data'
++    expect(@parser.upgrade?).to be_truthy
++    expect(@parser.upgrade_data).to eq('third key data')
+   end
+ 
+   it 'sets upgrade_data to blank if un-available' do
+@@ -270,8 +270,8 @@
+       "Connection: Upgrade\r\n" +
+       "Upgrade: WebSocket\r\n\r\n"
+ 
+-    @parser.upgrade?.should be_true
+-    @parser.upgrade_data.should == ''
++    expect(@parser.upgrade?).to be_truthy
++    expect(@parser.upgrade_data).to eq('')
+   end
+ 
+   it 'should stop parsing headers when instructed' do
+@@ -285,13 +285,13 @@
+ 
+     @parser.on_headers_complete = proc { |e| :stop }
+     offset = (@parser << request)
+-    @parser.upgrade?.should be_true
+-    @parser.upgrade_data.should == ''
+-    offset.should == request.length
++    expect(@parser.upgrade?).to be_truthy
++    expect(@parser.upgrade_data).to eq('')
++    expect(offset).to eq(request.length)
+   end
+ 
+   it "should execute on_body on requests with no content-length" do
+-   @parser.reset!.should be_true
++   expect(@parser.reset!).to be_truthy
+ 
+    @head, @complete, @body = 0, 0, 0
+    @parser.on_headers_complete = proc {|h| @head += 1 }
+@@ -302,9 +302,9 @@
+ 
+    @parser << head_response
+    @parser << ''
+-   @head.should == 1
+-   @complete.should == 1
+-   @body.should == 1
++   expect(@head).to eq(1)
++   expect(@complete).to eq(1)
++   expect(@body).to eq(1)
+   end
+ 
+ 
+@@ -316,12 +316,12 @@
+       it "should parse #{type}: #{test['name']}" do
+         @parser << test['raw']
+ 
+-        @parser.http_method.should == test['method']
+-        @parser.keep_alive?.should == test['should_keep_alive']
++        expect(@parser.http_method).to eq(test['method'])
++        expect(@parser.keep_alive?).to eq(test['should_keep_alive'])
+ 
+         if test.has_key?('upgrade') and test['upgrade'] != 0
+-          @parser.upgrade?.should be_true
+-          @parser.upgrade_data.should == test['upgrade']
++          expect(@parser.upgrade?).to be_truthy
++          expect(@parser.upgrade_data).to eq(test['upgrade'])
+         end
+ 
+         fields = %w[
+@@ -340,14 +340,14 @@
+         end
+ 
+         fields.each do |field|
+-          @parser.send(field).should == test[field]
++          expect(@parser.send(field)).to eq(test[field])
+         end
+ 
+-        @headers.size.should == test['num_headers']
+-        @headers.should == test['headers']
++        expect(@headers.size).to eq(test['num_headers'])
++        expect(@headers).to eq(test['headers'])
+ 
+-        @body.should == test['body']
+-        @body.size.should == test['body_size'] if test['body_size']
++        expect(@body).to eq(test['body'])
++        expect(@body.size).to eq(test['body_size']) if test['body_size']
+       end
+     end
+   end
diff --git a/debian/patches/series b/debian/patches/series
index d17f084..8e407a3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@
 0002-Remove-git-ls-files-call-in-gemspec.patch
 0003-Build-with-system-libhttp-parser.patch
 0004-Do-not-overload-loadpath.patch
+0005-tweak-to-support-rspec3.patch
diff --git a/debian/ruby-tests.rake b/debian/ruby-tests.rake
index a2fba75..195d73e 100644
--- a/debian/ruby-tests.rake
+++ b/debian/ruby-tests.rake
@@ -1,7 +1,15 @@
-require "rspec/core/rake_task"
+require 'rspec/core/rake_task'
 
-RSpec::Core::RakeTask.new(:spec) do |t|
-  t.rspec_opts = %w(-fs -c)
+RSpec::Core::RakeTask.new(:spec) do |spec|
+  spec.pattern = './spec/**/*_spec.rb'
 end
 
 task :default => :spec
+
+#require "rspec/core/rake_task"
+
+#RSpec::Core::RakeTask.new(:spec) do |t|
+  #t.rspec_opts = %w(-fs -c)
+#end
+
+#task :default => :spec

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/ruby-http-parser.rb.git



More information about the Pkg-ruby-extras-commits mailing list