Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

174 lines (144 sloc) 6.61 kb
module PKCS7Test
class TestJavaMime < Test::Unit::TestCase
def test_find_header_returns_null_on_nonexisting_header
headers = []
assert_nil Mime::DEFAULT.find_header(headers, "foo")
headers = [MimeHeader.new("blarg", "bluff")]
assert_nil Mime::DEFAULT.find_header(headers, "foo")
end
def test_find_header_returns_the_header_with_the_same_name
hdr = MimeHeader.new("one", "two")
assert_equal hdr, Mime::DEFAULT.find_header([hdr], "one")
end
def test_find_param_returns_null_on_nonexisting_param
assert_nil Mime::DEFAULT.find_param(MimeHeader.new("one", "two", []), "foo")
assert_nil Mime::DEFAULT.find_param(MimeHeader.new("one", "two", [MimeParam.new("hi", "ho")]), "foo")
end
def test_find_param_returns_the_param_with_the_same_name
par = MimeParam.new("hox", "box")
hdr = MimeHeader.new("one", "two", [par])
assert_equal par, Mime::DEFAULT.find_param(hdr, "hox")
end
def test_simple_parse_headers
bio = BIO::from_string("Foo: bar")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
assert_equal MimeHeader.new("Foo", "bar"), result[0]
assert_equal "foo", result[0].name
end
def test_simple_parse_headers2
bio = BIO::from_string("Foo:bar")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
assert_equal MimeHeader.new("Foo", "bar"), result[0]
assert_equal "foo", result[0].name
end
def test_simple_parse_headers3
bio = BIO::from_string("Foo: bar")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
assert_equal MimeHeader.new("Foo", "bar"), result[0]
assert_equal "foo", result[0].name
end
def test_simple_parse_headers4
bio = BIO::from_string("Foo: bar\n")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
assert_equal MimeHeader.new("Foo", "bar"), result[0]
assert_equal "foo", result[0].name
end
def test_simple_parse_headers5
bio = BIO::from_string(" Foo : bar \n")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
assert_equal MimeHeader.new("Foo", "bar"), result[0]
assert_equal "foo", result[0].name
end
def test_simple_parse_headers6
bio = BIO::from_string("Foo: bar;\n")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
assert_equal MimeHeader.new("Foo", "bar"), result[0]
assert_equal "foo", result[0].name
end
def test_simple_parse_headers7
bio = BIO::from_string("Foo: bar;\nFlurg: blarg")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 2, result.size
assert_equal MimeHeader.new("Foo", "bar"), result[0]
assert_equal MimeHeader.new("Flurg", "blarg"), result[1]
assert_equal "foo", result[0].name
assert_equal "flurg", result[1].name
end
def test_simple_parse_headers_quotes
bio = BIO::from_string("Foo: \"bar\"")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
assert_equal MimeHeader.new("Foo", "bar"), result[0]
assert_equal "foo", result[0].name
end
def test_simple_parse_headers_comment
bio = BIO::from_string("Foo: (this is the right thing)ba(and this is the wrong one)r")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
assert_equal MimeHeader.new("Foo", "(this is the right thing)ba(and this is the wrong one)r"), result[0]
assert_equal "foo", result[0].name
end
def test_parse_headers_with_param
bio = BIO::from_string("Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
header = result[0]
assert_equal "content-type", header.name
assert_equal "multipart/related", header.value
assert_equal [MimeParam.new("boundary","MIME_boundary"),
MimeParam.new("type","text/xml")], header.params.to_a
end
def test_parse_headers_with_param_newline
bio = BIO::from_string("Content-Type: Multipart/Related\n boundary=MIME_boundary; type=text/xml")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
header = result[0]
assert_equal "content-type", header.name
assert_equal "multipart/related", header.value
assert_equal [MimeParam.new("boundary","MIME_boundary"),
MimeParam.new("type","text/xml")], header.params.to_a
end
def test_parse_headers_with_param_newline_and_semicolon
bio = BIO::from_string("Content-Type: Multipart/Related;\n boundary=MIME_boundary;\n Type=text/xml")
result = Mime::DEFAULT.parse_headers(bio)
assert_equal 1, result.size
header = result[0]
assert_equal "content-type", header.name
assert_equal "multipart/related", header.value
assert_equal [MimeParam.new("boundary","MIME_boundary"),
MimeParam.new("type","text/xml")], header.params.to_a
end
def test_advanced_mime_message
bio = BIO::from_string(MultipartSignedString)
result = Mime::DEFAULT.parse_headers(bio)
assert_equal "mime-version", result[0].name
assert_equal "1.0", result[0].value
assert_equal "to", result[1].name
assert_equal "user2@examples.com", result[1].value
assert_equal "from", result[2].name
assert_equal "alicedss@examples.com", result[2].value
assert_equal "subject", result[3].name
assert_equal "example 4.8", result[3].value
assert_equal "message-id", result[4].name
assert_equal "<020906002550300.249@examples.com>", result[4].value
assert_equal "date", result[5].name
assert_equal "fri, 06 sep 2002 00:25:21 -0300", result[5].value
assert_equal "content-type", result[6].name
assert_equal "multipart/signed", result[6].value
assert_equal "micalg", result[6].params[0].param_name
assert_equal "SHA1", result[6].params[0].param_value
assert_equal "boundary", result[6].params[1].param_name
assert_equal "----=_NextBoundry____Fri,_06_Sep_2002_00:25:21", result[6].params[1].param_value
assert_equal "protocol", result[6].params[2].param_name
assert_equal "application/pkcs7-signature", result[6].params[2].param_value
assert_equal 3, result[6].params.length
assert_equal 7, result.length
end
end
end
Jump to Line
Something went wrong with that request. Please try again.