mailfactory 1.3.5 → 1.4.0
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/mailfactory.rb +9 -5
- data/tests/test_mailfactory.rb +16 -6
- metadata +4 -3
data/lib/mailfactory.rb
CHANGED
@@ -48,7 +48,7 @@ end
|
|
48
48
|
# An easy class for creating a mail message
|
49
49
|
class MailFactory
|
50
50
|
|
51
|
-
VERSION = '1.
|
51
|
+
VERSION = '1.4.0'
|
52
52
|
|
53
53
|
def initialize()
|
54
54
|
@headers = Array.new()
|
@@ -408,11 +408,15 @@ protected
|
|
408
408
|
# Convert the given character to quoted printable format
|
409
409
|
# see http://tools.ietf.org/html/rfc2047
|
410
410
|
|
411
|
+
require 'enumerator' unless ''.respond_to? :enum_for
|
412
|
+
|
411
413
|
def quoted_printable_encode_header(text)
|
412
|
-
text.
|
413
|
-
|
414
|
-
|
415
|
-
|
414
|
+
text.enum_for(:each_byte).map do |ord|
|
415
|
+
if ord < 128 and ord != 61 # 61 is ascii '='
|
416
|
+
ord.chr
|
417
|
+
else
|
418
|
+
'=%X' % ord
|
419
|
+
end
|
416
420
|
end.join('').
|
417
421
|
chomp.
|
418
422
|
gsub(/=$/,'').
|
data/tests/test_mailfactory.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# coding:utf-8
|
2
3
|
|
3
4
|
require 'test/unit/ui/console/testrunner'
|
4
5
|
require File.dirname(__FILE__) + '/../lib/mailfactory.rb'
|
@@ -98,7 +99,7 @@ class TC_MailFactory < Test::Unit::TestCase
|
|
98
99
|
@mail.subject = "Test Subject"
|
99
100
|
}
|
100
101
|
|
101
|
-
assert_equal("=?utf-8?Q?Test_Subject?=", @mail.subject
|
102
|
+
assert_equal(["=?utf-8?Q?Test_Subject?="], @mail.subject, "subject does not equal what it was set to")
|
102
103
|
|
103
104
|
assert_nothing_raised("exception raised while setting subject=") {
|
104
105
|
@mail.subject = "A Different Subject"
|
@@ -190,15 +191,24 @@ class TC_MailFactory < Test::Unit::TestCase
|
|
190
191
|
@mail.from="test@othertest.com"
|
191
192
|
@mail.subject="My email subject has a ? in it and also an = and a _ too... Also some non-quoted junk ()!@\#\{\$\%\}"
|
192
193
|
@mail.text = "This is a test message with\na few\n\nlines."
|
193
|
-
assert_equal("=?utf-8?Q?My_email_subject_has_a_=3F_in_it_and_also_an_=3D_and_a_=5F_too..._Also_some_non-quoted_junk_()!@\#\{\$\%\}?=", @mail.subject
|
194
|
+
assert_equal(["=?utf-8?Q?My_email_subject_has_a_=3F_in_it_and_also_an_=3D_and_a_=5F_too..._Also_some_non-quoted_junk_()!@\#\{\$\%\}?="], @mail.subject)
|
195
|
+
end
|
196
|
+
|
197
|
+
def test_scandinavian_subject_quoting
|
198
|
+
@mail.to="test@test.com"
|
199
|
+
@mail.from="test@othertest.com"
|
200
|
+
# Three a with dots and three o with dots.
|
201
|
+
@mail.subject="\303\244\303\244\303\244\303\266\303\266\303\266"
|
202
|
+
@mail.text = "This is a test message with\na few\n\nlines."
|
203
|
+
assert_equal(["=?utf-8?Q?=C3=A4=C3=A4=C3=A4=C3=B6=C3=B6=C3=B6?="], @mail.subject)
|
194
204
|
end
|
195
205
|
|
196
206
|
def test_utf8_quoted_printable_with_instruction
|
197
207
|
@mail.to="test@test.com"
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
assert_equal("=?utf-8?Q?My_email_subject_has_a_=
|
208
|
+
@mail.from="test@othertest.com"
|
209
|
+
@mail.subject="My email subject has a à which is utf8."
|
210
|
+
@mail.text = "This is a test message with\na few\n\nlines."
|
211
|
+
assert_equal(["=?utf-8?Q?My_email_subject_has_a_=C3=83_which_is_utf8.?="], @mail.subject)
|
202
212
|
end
|
203
213
|
|
204
214
|
def test_quoted_printable_html
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailfactory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Powers
|
@@ -9,11 +9,12 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-06
|
12
|
+
date: 2008-08-06 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mime-types
|
17
|
+
type: :runtime
|
17
18
|
version_requirement:
|
18
19
|
version_requirements: !ruby/object:Gem::Requirement
|
19
20
|
requirements:
|
@@ -53,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
54
|
requirements: []
|
54
55
|
|
55
56
|
rubyforge_project: mailfactory
|
56
|
-
rubygems_version: 1.
|
57
|
+
rubygems_version: 1.2.0
|
57
58
|
signing_key:
|
58
59
|
specification_version: 2
|
59
60
|
summary: MailFactory is a pure-ruby MIME mail generator
|