mms2r 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/Manifest.txt +54 -0
- data/README.txt +81 -0
- data/Rakefile +30 -0
- data/conf/mms2r_cingularmedia_transform.yml +6 -0
- data/conf/mms2r_sprintmedia_ignore.yml +10 -0
- data/conf/mms2r_tmobilemedia_ignore.yml +17 -0
- data/conf/mms2r_verizonmedia_ignore.yml +3 -0
- data/lib/mms2r.rb +3 -0
- data/lib/mms2r/cingular_media.rb +11 -0
- data/lib/mms2r/media.rb +345 -0
- data/lib/mms2r/mmode_media.rb +13 -0
- data/lib/mms2r/sprint_media.rb +50 -0
- data/lib/mms2r/tmobile_media.rb +11 -0
- data/lib/mms2r/verizon_media.rb +11 -0
- data/lib/mms2r/version.rb +12 -0
- data/lib/vendor/text/format.rb +1466 -0
- data/lib/vendor/tmail.rb +3 -0
- data/lib/vendor/tmail/address.rb +242 -0
- data/lib/vendor/tmail/attachments.rb +39 -0
- data/lib/vendor/tmail/base64.rb +71 -0
- data/lib/vendor/tmail/config.rb +69 -0
- data/lib/vendor/tmail/encode.rb +467 -0
- data/lib/vendor/tmail/facade.rb +552 -0
- data/lib/vendor/tmail/header.rb +914 -0
- data/lib/vendor/tmail/info.rb +35 -0
- data/lib/vendor/tmail/loader.rb +1 -0
- data/lib/vendor/tmail/mail.rb +447 -0
- data/lib/vendor/tmail/mailbox.rb +433 -0
- data/lib/vendor/tmail/mbox.rb +1 -0
- data/lib/vendor/tmail/net.rb +280 -0
- data/lib/vendor/tmail/obsolete.rb +135 -0
- data/lib/vendor/tmail/parser.rb +1522 -0
- data/lib/vendor/tmail/port.rb +377 -0
- data/lib/vendor/tmail/quoting.rb +131 -0
- data/lib/vendor/tmail/scanner.rb +41 -0
- data/lib/vendor/tmail/scanner_r.rb +263 -0
- data/lib/vendor/tmail/stringio.rb +277 -0
- data/lib/vendor/tmail/tmail.rb +1 -0
- data/lib/vendor/tmail/utils.rb +238 -0
- data/test/files/dot.jpg +0 -0
- data/test/files/sprint-image-01.mail +195 -0
- data/test/files/sprint-text-01.mail +8 -0
- data/test/files/sprint-video-01.mail +195 -0
- data/test/files/sprint.mov +0 -0
- data/test/files/verizon-image-01.mail +815 -0
- data/test/files/verizon-text-01.mail +11 -0
- data/test/files/verizon-video-01.mail +336 -0
- data/test/test_mms2r_cingular.rb +52 -0
- data/test/test_mms2r_media.rb +311 -0
- data/test/test_mms2r_mmode.rb +52 -0
- data/test/test_mms2r_sprint.rb +154 -0
- data/test/test_mms2r_tmobile.rb +169 -0
- data/test/test_mms2r_verizon.rb +74 -0
- metadata +130 -0
@@ -0,0 +1,11 @@
|
|
1
|
+
Date: Wed, 7 Mar 2007 02:04:20 GMT
|
2
|
+
Message-ID: <10059064.1173233055110.JavaMail.root@njbd-wigdb2>
|
3
|
+
Message-ID: <01234567.8901234567890.JavaMail.fooo@njbd-lalal3>
|
4
|
+
From: 2068675309@vzwpix.com
|
5
|
+
To: tommytutone@example.com
|
6
|
+
Subject: some text
|
7
|
+
Mime-Version: 1.0
|
8
|
+
Content-Type: text/plain; charset=utf-8
|
9
|
+
Content-Transfer-Encoding: 7bit
|
10
|
+
|
11
|
+
hello world
|
@@ -0,0 +1,336 @@
|
|
1
|
+
From: 2068675309@vzwpix.com
|
2
|
+
To: tommytutone@example.com
|
3
|
+
Subject:
|
4
|
+
Message-ID: <012345678901234567@-890123456789012345>
|
5
|
+
Date: Tue, 2 Jan 2007 13:22:45 -0600
|
6
|
+
MIME-Version: 1.0
|
7
|
+
Content-Type: multipart/mixed;
|
8
|
+
type="application/smil";
|
9
|
+
boundary="__CONTENT_01234_PART_BOUNDARY__01234567__"
|
10
|
+
|
11
|
+
--__CONTENT_01234_PART_BOUNDARY__01234567__
|
12
|
+
content-type: text/plain
|
13
|
+
|
14
|
+
This message was sent using PIX-FLIX Messaging service from Verizon Wireless!
|
15
|
+
To learn how you can snap pictures with your wireless phone visit
|
16
|
+
www.verizonwireless.com/getitnow/getpix.
|
17
|
+
|
18
|
+
To learn how you can record videos with your wireless phone visit www.verizonwireless.com/getitnow/getflix.
|
19
|
+
|
20
|
+
To play video messages sent to email, QuickTime� 6.5 or higher is required. Visit www.apple.com/quicktime/download to download the free player or upgrade your existing QuickTime� Player. Note: During the download
|
21
|
+
process when asked to choose an installation type (Minimum, Recommended or Custom), select Minimum for faster download.
|
22
|
+
|
23
|
+
--__CONTENT_01234_PART_BOUNDARY__01234567__
|
24
|
+
Content-Type: video/3gpp2;
|
25
|
+
name="012345_67890.3g2"
|
26
|
+
Content-Location: 012345_67890.3g2
|
27
|
+
Content-Transfer-Encoding: base64
|
28
|
+
|
29
|
+
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
|
335
|
+
he4L7nwAAKEcf0+Lz2P3hfPvF52F/iQaloRD8Zg=
|
336
|
+
--__CONTENT_01234_PART_BOUNDARY__01234567__--
|
@@ -0,0 +1,52 @@
|
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__), "..", "lib")
|
2
|
+
require 'test/unit'
|
3
|
+
require 'rubygems'
|
4
|
+
require 'mms2r'
|
5
|
+
require 'mms2r/media'
|
6
|
+
require 'tmail/mail'
|
7
|
+
require 'logger'
|
8
|
+
|
9
|
+
class MMS2RCingularTest < Test::Unit::TestCase
|
10
|
+
|
11
|
+
def setup
|
12
|
+
@log = Logger.new(STDOUT)
|
13
|
+
@log.level = Logger::DEBUG
|
14
|
+
@log.datetime_format = "%H:%M:%S"
|
15
|
+
|
16
|
+
msg = <<EOF
|
17
|
+
Message-ID: <0000000.0000000000001.JavaMail.faalala@lalalala03>
|
18
|
+
Mime-Version: 1.0
|
19
|
+
From: 2068675309@mms.mycingular.com
|
20
|
+
To: tommytutone@example.com
|
21
|
+
Subject: text with ad
|
22
|
+
Date: Thu, 11 Jan 2007 02:28:22 -0500
|
23
|
+
|
24
|
+
hello world
|
25
|
+
|
26
|
+
--
|
27
|
+
===============================================
|
28
|
+
Brought to you by, Cingular Wireless Messaging
|
29
|
+
http://www.CingularMe.COM/
|
30
|
+
|
31
|
+
EOF
|
32
|
+
@text_sms_with_ad = TMail::Mail.parse(msg)
|
33
|
+
end
|
34
|
+
|
35
|
+
def teadown; end
|
36
|
+
|
37
|
+
def test_clean_text_ad
|
38
|
+
mms = MMS2R::Media.create(@text_sms_with_ad,@log)
|
39
|
+
assert_equal(MMS2R::CingularMedia, mms.class, "expected a #{MMS2R::CingularMedia} and received a #{mms.class}")
|
40
|
+
mms.process
|
41
|
+
assert_not_nil(mms.media['text/plain'])
|
42
|
+
file = mms.media['text/plain'][0]
|
43
|
+
assert_not_nil(file)
|
44
|
+
assert(File::exist?(file), "file #{file} does not exist")
|
45
|
+
text = IO.readlines("#{file}").join
|
46
|
+
ad = "--\n===============================================\nBrought to you by, Cingular Wireless Messaging\nhttp://www.CingularMe.COM/ \n"
|
47
|
+
assert_no_match(/#{ad}/m, text)
|
48
|
+
good_text = "hello world\n\n"
|
49
|
+
assert_match(/#{good_text}/m, text)
|
50
|
+
mms.purge
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,311 @@
|
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__), "..", "lib")
|
2
|
+
require 'test/unit'
|
3
|
+
require 'rubygems'
|
4
|
+
require 'yaml'
|
5
|
+
require 'fileutils'
|
6
|
+
require 'mms2r'
|
7
|
+
require 'mms2r/media'
|
8
|
+
require 'tmail/mail'
|
9
|
+
require 'logger'
|
10
|
+
|
11
|
+
class MMS2RMediaTest < Test::Unit::TestCase
|
12
|
+
|
13
|
+
class MMS2R::FakeCarrier < MMS2R::Media; end
|
14
|
+
|
15
|
+
JENNYSNUMER = '2068675309'
|
16
|
+
GENERIC_CARRIER = 'mms.example.com'
|
17
|
+
|
18
|
+
CARRIER_TO_CLASS = {
|
19
|
+
'unknowncarrier.tld' => MMS2R::Media,
|
20
|
+
'mmode.com' => MMS2R::MModeMedia,
|
21
|
+
'mms.mycingular.com' => MMS2R::CingularMedia,
|
22
|
+
'pm.sprint.com' => MMS2R::SprintMedia,
|
23
|
+
'messaging.sprintpcs.com' => MMS2R::SprintMedia,
|
24
|
+
'tmomail.net' => MMS2R::TMobileMedia,
|
25
|
+
'vzwpix.com' => MMS2R::VerizonMedia
|
26
|
+
}
|
27
|
+
|
28
|
+
def use_temp_dirs
|
29
|
+
MMS2R::Media.tmp_dir = @tmpdir
|
30
|
+
MMS2R::Media.conf_dir = @confdir
|
31
|
+
end
|
32
|
+
|
33
|
+
def setup
|
34
|
+
@log = Logger.new(STDOUT)
|
35
|
+
@log.level = Logger::DEBUG
|
36
|
+
@log.datetime_format = "%H:%M:%S"
|
37
|
+
|
38
|
+
@tmpdir = File.join(Dir.tmpdir, "#{Time.now.to_i}-t")
|
39
|
+
FileUtils.mkdir_p(@tmpdir)
|
40
|
+
@confdir = File.join(Dir.tmpdir, "#{Time.now.to_i}-c")
|
41
|
+
FileUtils.mkdir_p(@confdir)
|
42
|
+
|
43
|
+
@oldtmpdir = MMS2R::Media.tmp_dir
|
44
|
+
@oldconfdir = MMS2R::Media.conf_dir
|
45
|
+
|
46
|
+
msg = <<EOF
|
47
|
+
From:2068675309@mms.example.com
|
48
|
+
To:tommytutone@example.com
|
49
|
+
Subject: text only
|
50
|
+
Message-Id: <00000000000001.0123456789@mx.mms.example.com>
|
51
|
+
Date: Wed, 10 Jan 2007 08:18:30 -0600 (CST)
|
52
|
+
|
53
|
+
hello world
|
54
|
+
EOF
|
55
|
+
@hello_world_mail_plain_no_content_type = TMail::Mail.parse(msg)
|
56
|
+
|
57
|
+
msg = <<EOF
|
58
|
+
From:2068675309@mms.example.com
|
59
|
+
To:tommytutone@example.com
|
60
|
+
Subject: text only
|
61
|
+
Message-Id: <00000000000001.0123456789@mx.mms.example.com>
|
62
|
+
Content-Type: text/plain; charset=utf-8
|
63
|
+
Date: Wed, 10 Jan 2007 08:18:30 -0600 (CST)
|
64
|
+
|
65
|
+
hello world
|
66
|
+
EOF
|
67
|
+
@hello_world_mail_plain_with_content_type = TMail::Mail.parse(msg)
|
68
|
+
|
69
|
+
msg = <<EOF
|
70
|
+
Message-Id: <00000000000002.0123456789@mx.mms.example.com>
|
71
|
+
Mime-Version: 1.0
|
72
|
+
From: 2068675309@mms.example.com
|
73
|
+
To: tommytutone@example.com
|
74
|
+
Subject: text only
|
75
|
+
Date: Thu, 11 Jan 2007 02:28:22 -0500
|
76
|
+
Content-Type: multipart/mixed; boundary="----=_Part_1061064_5544954.1168500502466"
|
77
|
+
|
78
|
+
------=_Part_1061064_5544954.1168500502466
|
79
|
+
Content-Type: text/plain; charset=utf-8
|
80
|
+
Content-Transfer-Encoding: base64
|
81
|
+
Content-Location: hello_world.txt
|
82
|
+
Content-Disposition: inline
|
83
|
+
|
84
|
+
aGVsbG8gd29ybGQ=
|
85
|
+
------=_Part_1061064_5544954.1168500502466--
|
86
|
+
|
87
|
+
EOF
|
88
|
+
@hello_world_mail_multi = TMail::Mail.parse(msg)
|
89
|
+
|
90
|
+
msg = <<EOF
|
91
|
+
Mime-Version: 1.0
|
92
|
+
Message-Id: <00000000000001.0123456789@mx.mms.example.com>
|
93
|
+
Date: Sun, 29 Oct 2006 20:40:30 -0800 (PST)
|
94
|
+
To: tommytutone@example.com
|
95
|
+
From: 2068675309@mms.example.com
|
96
|
+
Subject: image test
|
97
|
+
Content-Type: multipart/related; type="multipart/alternative";
|
98
|
+
boundary="----=_Part_1224755_98719.1162204830872"; start="<SMIL.TXT>"
|
99
|
+
X-Mms-Delivery-Report: no
|
100
|
+
|
101
|
+
------=_Part_1224755_98719.1162204830872
|
102
|
+
Content-Type: image/gif; name=spacer.gif
|
103
|
+
Content-Transfer-Encoding: base64
|
104
|
+
Content-Disposition: attachment; filename=spacer.gif
|
105
|
+
Content-ID: <spacer.gif>
|
106
|
+
|
107
|
+
R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==
|
108
|
+
------=_Part_1224755_98719.1162204830872--
|
109
|
+
|
110
|
+
EOF
|
111
|
+
@simple_image_mail = TMail::Mail.parse(msg)
|
112
|
+
end
|
113
|
+
|
114
|
+
def teardown
|
115
|
+
FileUtils.rm_rf(@tmpdir)
|
116
|
+
FileUtils.rm_rf(@confdir)
|
117
|
+
MMS2R::Media.tmp_dir = @oldtmpdir
|
118
|
+
MMS2R::Media.conf_dir = @oldconfdir
|
119
|
+
end
|
120
|
+
|
121
|
+
def test_collect_simple_image
|
122
|
+
mms = MMS2R::Media.create(@simple_image_mail)
|
123
|
+
mms.process
|
124
|
+
assert_not_nil(mms.media['image/gif'])
|
125
|
+
file = mms.media['image/gif'][0]
|
126
|
+
assert_not_nil(file)
|
127
|
+
assert(File::exist?(file), "file #{file} does not exist")
|
128
|
+
assert(File.basename(file) =~ /spacer\.gif/, "file #{file} does not exist")
|
129
|
+
mms.purge
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_collect_text_plain
|
133
|
+
mms = MMS2R::Media.create(@hello_world_mail_plain_no_content_type)
|
134
|
+
mms.process
|
135
|
+
assert_not_nil(mms.media['text/plain'])
|
136
|
+
file = mms.media['text/plain'][0]
|
137
|
+
assert_not_nil(file)
|
138
|
+
assert(File::exist?(file), "file #{file} does not exist")
|
139
|
+
text = IO.readlines("#{file}").join
|
140
|
+
assert_match(/hello world/, text)
|
141
|
+
mms.purge
|
142
|
+
end
|
143
|
+
|
144
|
+
def test_collect_text_multi
|
145
|
+
mms = MMS2R::Media.create(@hello_world_mail_multi)
|
146
|
+
mms.process
|
147
|
+
assert_not_nil(mms.media['text/plain'])
|
148
|
+
file = mms.media['text/plain'][0]
|
149
|
+
assert_not_nil(file)
|
150
|
+
assert(File::exist?(file), "file #{file} does not exist")
|
151
|
+
text = IO.readlines("#{file}").join
|
152
|
+
assert_match(/hello world/, text)
|
153
|
+
mms.purge
|
154
|
+
end
|
155
|
+
|
156
|
+
def test_purge
|
157
|
+
mail = TMail::Mail.new
|
158
|
+
mail.message_id = TMail.new_message_id
|
159
|
+
mail.from = ["#{JENNYSNUMER}@#{GENERIC_CARRIER}"]
|
160
|
+
mail.body = "hello world"
|
161
|
+
mms = MMS2R::Media.create(mail)
|
162
|
+
mms.process
|
163
|
+
file = mms.media['text/plain'][0]
|
164
|
+
assert(File::exist?(file), "file #{file} does not exist")
|
165
|
+
mms.purge
|
166
|
+
assert(!File::exist?(file), "file #{file} should not exist!")
|
167
|
+
end
|
168
|
+
|
169
|
+
def test_custom_media_carrier
|
170
|
+
cls = MMS2R::FakeCarrier
|
171
|
+
host = 'mms.fakecarrier.com'
|
172
|
+
MMS2R::CARRIER_CLASSES[host] = cls
|
173
|
+
mail = TMail::Mail.new
|
174
|
+
mail.from = ["#{JENNYSNUMER}@#{host}"]
|
175
|
+
mms = MMS2R::Media.create(mail)
|
176
|
+
assert_equal(cls, mms.class, "expected a #{cls} and received a #{mms.class}")
|
177
|
+
end
|
178
|
+
|
179
|
+
def test_create
|
180
|
+
CARRIER_TO_CLASS.each {|car, cls|
|
181
|
+
mail = TMail::Mail.new
|
182
|
+
mail.from = ["#{JENNYSNUMER}@#{car}"]
|
183
|
+
mms = MMS2R::Media.create(mail)
|
184
|
+
assert_equal(cls, mms.class, "expected a #{cls} and received a #{mms.class}")
|
185
|
+
mms = MMS2R::Media.create(mail)
|
186
|
+
assert_equal(cls, mms.class, "expected a #{cls} and received a #{mms.class}")
|
187
|
+
}
|
188
|
+
end
|
189
|
+
|
190
|
+
def test_logging
|
191
|
+
CARRIER_TO_CLASS.each {|car, cls|
|
192
|
+
mail = TMail::Mail.new
|
193
|
+
mail.from = ["#{JENNYSNUMER}@#{car}"]
|
194
|
+
mms = MMS2R::Media.create(mail,@log)
|
195
|
+
assert_equal(cls, mms.class, "expected a #{cls} and received a #{mms.class}")
|
196
|
+
}
|
197
|
+
end
|
198
|
+
|
199
|
+
def test_tmp_dir
|
200
|
+
use_temp_dirs()
|
201
|
+
MMS2R::Media.tmp_dir = @tmpdir
|
202
|
+
assert(MMS2R::Media.tmp_dir.eql?(@tmpdir))
|
203
|
+
end
|
204
|
+
|
205
|
+
def test_conf_dir
|
206
|
+
use_temp_dirs()
|
207
|
+
MMS2R::Media.conf_dir = @confdir
|
208
|
+
assert(MMS2R::Media.conf_dir.eql?(@confdir))
|
209
|
+
end
|
210
|
+
|
211
|
+
def test_transform_text
|
212
|
+
use_temp_dirs()
|
213
|
+
t={"hello world" => "foo bar"}
|
214
|
+
h={'text/plain' => t}
|
215
|
+
f = File.join(MMS2R::Media.conf_dir, 'mms2r_media_transform.yml')
|
216
|
+
File.open(f, 'w') do |out|
|
217
|
+
YAML.dump(h, out)
|
218
|
+
end
|
219
|
+
mms = MMS2R::Media.create(@hello_world_mail_plain_no_content_type)
|
220
|
+
mms.process
|
221
|
+
assert_not_nil(mms.media['text/plain'])
|
222
|
+
file = mms.media['text/plain'][0]
|
223
|
+
assert_not_nil(file)
|
224
|
+
assert(File::exist?(file), "file #{file} does not exist")
|
225
|
+
text = IO.readlines("#{file}").join
|
226
|
+
assert_match(/foo bar/, text)
|
227
|
+
mms.purge
|
228
|
+
end
|
229
|
+
|
230
|
+
def test_ignore_text
|
231
|
+
use_temp_dirs()
|
232
|
+
a=["hello world"]
|
233
|
+
h={'text/plain' => a}
|
234
|
+
f = File.join(MMS2R::Media.conf_dir, 'mms2r_media_ignore.yml')
|
235
|
+
File.open(f, 'w') do |out|
|
236
|
+
YAML.dump(h, out)
|
237
|
+
end
|
238
|
+
mms = MMS2R::Media.create(@hello_world_mail_plain_no_content_type)
|
239
|
+
mms.process
|
240
|
+
assert(mms.media['text/plain'].nil?)
|
241
|
+
assert(mms.media.size == 0)
|
242
|
+
mms.purge
|
243
|
+
end
|
244
|
+
|
245
|
+
def test_ignore_media
|
246
|
+
use_temp_dirs()
|
247
|
+
a=["spacer.gif"]
|
248
|
+
h={'image/gif' => a}
|
249
|
+
f = File.join(MMS2R::Media.conf_dir, 'mms2r_media_ignore.yml')
|
250
|
+
File.open(f, 'w') do |out|
|
251
|
+
YAML.dump(h, out)
|
252
|
+
end
|
253
|
+
mms = MMS2R::Media.create(@simple_image_mail)
|
254
|
+
mms.process
|
255
|
+
assert(mms.media['image/gif'].nil?)
|
256
|
+
assert(mms.media.size == 0)
|
257
|
+
mms.purge
|
258
|
+
end
|
259
|
+
|
260
|
+
def test_when_ignore_media_does_nothing
|
261
|
+
use_temp_dirs()
|
262
|
+
a=["foo.gif"]
|
263
|
+
h={'image/gif' => a}
|
264
|
+
f = File.join(MMS2R::Media.conf_dir, 'mms2r_media_ignore.yml')
|
265
|
+
File.open(f, 'w') do |out|
|
266
|
+
YAML.dump(h, out)
|
267
|
+
end
|
268
|
+
mms = MMS2R::Media.create(@simple_image_mail)
|
269
|
+
mms.process
|
270
|
+
assert(mms.media['image/gif'].size == 1)
|
271
|
+
assert(mms.media.size == 1)
|
272
|
+
mms.purge
|
273
|
+
end
|
274
|
+
|
275
|
+
def test_safe_message_id
|
276
|
+
mid1_b="1234abcd"
|
277
|
+
mid1_a="1234abcd"
|
278
|
+
mid2_b="<01234567.0123456789012.JavaMail.fooba@foo-bars999>"
|
279
|
+
mid2_a="012345670123456789012JavaMailfoobafoo-bars999"
|
280
|
+
assert(MMS2R::Media.safe_message_id(mid1_b).eql?(mid1_a))
|
281
|
+
assert(MMS2R::Media.safe_message_id(mid2_b).eql?(mid2_a))
|
282
|
+
end
|
283
|
+
|
284
|
+
def default_ext
|
285
|
+
assert(MMS2R::Media.default_ext('text').nil?)
|
286
|
+
assert(MMS2R::Media.default_ext('text/plain').eql?('plain'))
|
287
|
+
assert(MMS2R::Media.default_ext('image/jpeg').eql?('jpeg'))
|
288
|
+
assert(MMS2R::Media.default_ext('video/mp4').eql?('mp4'))
|
289
|
+
end
|
290
|
+
|
291
|
+
def test_part_type
|
292
|
+
assert(MMS2R::Media.part_type?(@hello_world_mail_plain_no_content_type).eql?('text/plain'))
|
293
|
+
assert(MMS2R::Media.part_type?(@hello_world_mail_plain_with_content_type).eql?('text/plain'))
|
294
|
+
assert(MMS2R::Media.part_type?(@hello_world_mail_multi.parts[0]).eql?('text/plain'))
|
295
|
+
assert(MMS2R::Media.part_type?(@simple_image_mail.parts[0]).eql?('image/gif'))
|
296
|
+
end
|
297
|
+
|
298
|
+
def test_main_type
|
299
|
+
assert(MMS2R::Media.main_type?(@hello_world_mail_plain_no_content_type).eql?('text'))
|
300
|
+
assert(MMS2R::Media.main_type?(@hello_world_mail_plain_with_content_type).eql?('text'))
|
301
|
+
assert(MMS2R::Media.main_type?(@hello_world_mail_multi.parts[0]).eql?('text'))
|
302
|
+
assert(MMS2R::Media.main_type?(@simple_image_mail.parts[0]).eql?('image'))
|
303
|
+
end
|
304
|
+
|
305
|
+
def test_sub_type
|
306
|
+
assert(MMS2R::Media.sub_type?(@hello_world_mail_plain_no_content_type).eql?('plain'))
|
307
|
+
assert(MMS2R::Media.sub_type?(@hello_world_mail_plain_with_content_type).eql?('plain'))
|
308
|
+
assert(MMS2R::Media.sub_type?(@hello_world_mail_multi.parts[0]).eql?('plain'))
|
309
|
+
assert(MMS2R::Media.sub_type?(@simple_image_mail.parts[0]).eql?('gif'))
|
310
|
+
end
|
311
|
+
end
|