diff options
author | zedshaw <zedshaw@19e92222-5c0b-0410-8929-a290d50e31e9> | 2006-01-30 06:25:20 +0000 |
---|---|---|
committer | zedshaw <zedshaw@19e92222-5c0b-0410-8929-a290d50e31e9> | 2006-01-30 06:25:20 +0000 |
commit | 6bcf6e6d949ee380d95417bf2cb0e4902768008c (patch) | |
tree | c79ea57c5cd122e9e911078031f6611d6069c3b5 /test | |
parent | 6d2285964165ae6a33753b59e8f1f6200229c510 (diff) | |
download | unicorn-6bcf6e6d949ee380d95417bf2cb0e4902768008c.tar.gz |
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@15 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'test')
-rw-r--r-- | test/test_http11.rb | 51 |
1 files changed, 29 insertions, 22 deletions
diff --git a/test/test_http11.rb b/test/test_http11.rb index 8f07900..60d020b 100644 --- a/test/test_http11.rb +++ b/test/test_http11.rb @@ -4,28 +4,35 @@ require 'http11' class HttpParserTest < Test::Unit::TestCase - def test_parse_simple - parser = HttpParser.new - req = {} - http = "GET / HTTP/1.1\r\n\r\n" - nread = parser.execute(req, http); - assert nread == http.length, "Failed to parse the full HTTP request" - assert parser.finished?, "Parser didn't finish" - assert !parser.error?, "Parser had error" - assert nread == parser.nread, "Number read returned from execute does not match" - parser.reset - assert parser.nread == 0, "Number read after reset should be 0" - end - - - def test_parse_error - parser = HttpParser.new - req = {} - bad_http = "GET / SsUTF/1.1" - nread = parser.execute(req, bad_http) - assert nread < bad_http.length, "Number read should be less than total on error" - assert !parser.finished?, "Parser shouldn't be finished" - assert parser.error?, "Parser SHOULD have error" + def test_parse_simple + parser = HttpParser.new + req = {} + http = "GET / HTTP/1.1\r\n\r\n" + nread = parser.execute(req, http); + assert nread == http.length, "Failed to parse the full HTTP request" + assert parser.finished?, "Parser didn't finish" + assert !parser.error?, "Parser had error" + assert nread == parser.nread, "Number read returned from execute does not match" + parser.reset + assert parser.nread == 0, "Number read after reset should be 0" + end + + + def test_parse_error + parser = HttpParser.new + req = {} + bad_http = "GET / SsUTF/1.1" + + error = false + begin + nread = parser.execute(req, bad_http) + rescue => details + error = true end + + assert error, "failed to throw exception" + assert !parser.finished?, "Parser shouldn't be finished" + assert parser.error?, "Parser SHOULD have error" + end end |