mailparser 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/mailparser.rb CHANGED
@@ -407,6 +407,7 @@ module MailParser
407
407
  def read_part()
408
408
  return if type != "multipart" or @src.eos?
409
409
  b = @header["content-type"][0].params["boundary"]
410
+ return unless b
410
411
  re = /(?:\A|\r?\n)--#{Regexp.escape b}(?:|(--))(?:\r?\n|\z)/
411
412
  @src.scan_until(re) or return # skip preamble
412
413
  until @src.eos?
@@ -783,6 +783,22 @@ EOS
783
783
  assert_equal("fuga\n", m.part[1].body)
784
784
  end
785
785
 
786
+ def test_extract_without_boundary_parameter()
787
+ msg = StringIO.new(<<EOS)
788
+ From: from@example.com
789
+ Content-Type: multipart/mixed
790
+
791
+ --xxx
792
+ Content-Type: text/plain
793
+
794
+ fuga
795
+ --xxx--
796
+ EOS
797
+ m = MailParser::Message.new(msg)
798
+ assert_equal [], m.part
799
+ assert_equal "--xxx\nContent-Type: text/plain\n\nfuga\n--xxx--\n", m.body
800
+ end
801
+
786
802
  def test_parse_no_header_delimiter()
787
803
  msg = StringIO.new <<EOS
788
804
  Subject: hoge
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-09 00:00:00.000000000 Z
12
+ date: 2012-11-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mmapscanner