mms2r 1.1.10 → 1.1.11

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/History.txt CHANGED
@@ -1,9 +1,24 @@
1
+ == 1.1.11 / 2007-10-20 (Dr. Armand Skagerakk Frederickshaven)
2
+
3
+ * minor fix for attachment_fu where it might call #path on the cgi temp file
4
+ that is returned by get_attachment
5
+ * renamed a_t_t_media.rb to att_media.rb to make it autotest happy
6
+ * masthead.jpg misplaced in mms2r_t_mobile_media_ignore.yml (Layton Wedgeworth)
7
+ * overridden SprintMedia#process failed to accept block (Layton Wedgeworth)
8
+ * added method_deprecated to help mark methods that are going to be deprecated
9
+ in preparation of 1.2.x release
10
+ * #get_number marked deprecated, use #number instead
11
+ * #get_subject marked deprecated, use #subject instead
12
+ * #get_body marked deprecated, use #body instead
13
+ * #get_text marked deprecated, use #default_text instead
14
+ * #get_attachment marked deprecated, use #attachment instead
15
+ * #get_media marked deprecated, use #default_media instead
16
+
1
17
  == 1.1.10 / 2007-09-30 (Face Bones)
2
18
 
3
19
  * fixed a case for a nil match on From in the create method (Luke Francl)
4
20
  * added support for Alltel message.alltel.com (Ben Wood)
5
21
 
6
-
7
22
  == 1.1.9 / 2007-09-08 (Rebecca Nightrod - controlling girlfriend of Nathan
8
23
  Explosion)
9
24
 
data/Manifest.txt CHANGED
@@ -21,8 +21,8 @@ conf/mms2r_verizon_media_ignore.yml
21
21
  conf/mms2r_verizon_media_transform.yml
22
22
  dev_tools/debug_sprint_hpricot_parsing.rb
23
23
  lib/mms2r.rb
24
- lib/mms2r/a_t_t_media.rb
25
24
  lib/mms2r/alltel_media.rb
25
+ lib/mms2r/att_media.rb
26
26
  lib/mms2r/cingular_me_media.rb
27
27
  lib/mms2r/dobson_media.rb
28
28
  lib/mms2r/helio_media.rb
@@ -101,8 +101,8 @@ test/fixtures/verizon-text-01.mail
101
101
  test/fixtures/verizon-video-01.mail
102
102
  test/fixtures/vtext-text-01.mail
103
103
  test/test_helper.rb
104
- test/test_mms2r_a_t_t_media.rb
105
104
  test/test_mms2r_alltel_media.rb
105
+ test/test_mms2r_att_media.rb
106
106
  test/test_mms2r_cingular_me_media.rb
107
107
  test/test_mms2r_dobson_media.rb
108
108
  test/test_mms2r_helio_media.rb
data/README.txt CHANGED
@@ -36,7 +36,8 @@ Corpus of carriers currently processed by MMS2R:
36
36
 
37
37
  == FEATURES
38
38
 
39
- * get_media and get_text methods return a File that can be used in attachment_fu
39
+ * #default_media and #default_text methods return a File that can be used in
40
+ attachment_fu
40
41
 
41
42
  == SYNOPSIS:
42
43
 
@@ -58,18 +59,18 @@ Corpus of carriers currently processed by MMS2R:
58
59
  # writes the user generated media to disk in a temporary subdirectory
59
60
  mms.process
60
61
 
61
- puts "MMS has default carrier subject!" unless mms.get_subject
62
+ puts "MMS has default carrier subject!" unless mms.subject
62
63
 
63
64
  # access the senders phone number
64
- puts "MMS was from phone #{mms.get_number}"
65
+ puts "MMS was from phone #{mms.number}"
65
66
 
66
- # most MMS are either image or video, get_media will return the largest
67
+ # most MMS are either image or video, default_media will return the largest
67
68
  # (non-advertising) video or image found
68
- file = mms.get_media
69
+ file = mms.default_media
69
70
  puts "MMS had a media: #{file.inspect}" unless file.nil?
70
71
 
71
- # get_text return the largest (non-advertising) text found
72
- file = mms.get_text
72
+ # text return the largest (non-advertising) text found
73
+ file = mms.default_text
73
74
  puts "MMS had some text: #{file.inspect}" unless file.nil?
74
75
 
75
76
  # mms.media is a hash that is indexed by mime-type.
@@ -1,12 +1,13 @@
1
1
  ---
2
2
  text/html:
3
3
  - !ruby/regexp /^<html> <head> <title>T-Mobile</title>/
4
+ image/jpeg:
5
+ - masthead.jpg
4
6
  image/gif:
5
7
  - dottedline350.gif
6
8
  - dottedline600.gif
7
9
  - dottedLine_350.gif
8
10
  - dottedLine_600.gif
9
- - masthead.jpg
10
11
  - spacer.gif
11
12
  - video.gif
12
13
  - audio.gif
data/lib/mms2r.rb CHANGED
@@ -7,7 +7,7 @@
7
7
  $:.unshift(File.dirname(__FILE__) + "/vendor/")
8
8
  require 'mms2r/media'
9
9
  require 'mms2r/alltel_media'
10
- require 'mms2r/a_t_t_media'
10
+ require 'mms2r/att_media'
11
11
  require 'mms2r/cingular_me_media'
12
12
  require 'mms2r/dobson_media'
13
13
  require 'mms2r/helio_media'
@@ -33,7 +33,7 @@ module MMS2R
33
33
 
34
34
  CARRIER_CLASSES = {
35
35
  'message.alltel.com' => MMS2R::AlltelMedia,
36
- 'mms.att.net' => MMS2R::ATTMedia,
36
+ 'mms.att.net' => MMS2R::AttMedia,
37
37
  'cingularme.com' => MMS2R::CingularMeMedia,
38
38
  'mms.dobson.net' => MMS2R::DobsonMedia,
39
39
  'mms.myhelio.com' => MMS2R::HelioMedia,
@@ -67,7 +67,7 @@ module MMS2R
67
67
  ##
68
68
  # MMS2R Library version
69
69
 
70
- VERSION = '1.1.10'
70
+ VERSION = '1.1.11'
71
71
 
72
72
  end
73
73
 
@@ -8,6 +8,6 @@ module MMS2R
8
8
  # message can be the file name of the media attached
9
9
  # to the MMS or empty.
10
10
 
11
- class MMS2R::ATTMedia < MMS2R::Media
11
+ class MMS2R::AttMedia < MMS2R::Media
12
12
  end
13
13
  end
@@ -11,9 +11,8 @@ module MMS2R
11
11
  # in the markup.
12
12
 
13
13
  class MMS2R::HelioMedia < MMS2R::Media
14
- def get_body
15
- text = get_text()
16
- d = Hpricot(text)
14
+ def body
15
+ d = Hpricot(default_text())
17
16
  body = d.search("//table/tr[2]/td/table/tr/td/table/tr[6]/td").inner_html
18
17
  body
19
18
  end
data/lib/mms2r/media.rb CHANGED
@@ -111,17 +111,22 @@ module MMS2R
111
111
  # your application on your own. Most carriers are using the real
112
112
  # phone number as the username.
113
113
 
114
- def get_number
114
+ def number
115
115
  # override this method in a child if the number exists elsewhere (like Sprint)
116
116
  @number ||= /^([^@]+)@/.match(mail.from[0])[1]
117
117
  end
118
118
 
119
+ def get_number # :nodoc:
120
+ sclz.method_deprecated(:get_number, :number)
121
+ self.number
122
+ end
123
+
119
124
  ##
120
125
  # Filter some common place holder subjects from MMS messages and
121
126
  # return nil such that default carrier subjects can be pragmatically
122
127
  # ignored.
123
128
 
124
- def get_subject
129
+ def subject
125
130
 
126
131
  return @subject if @subject # we've already done the work
127
132
 
@@ -142,14 +147,19 @@ module MMS2R
142
147
  return @subject ||= nil if a.detect{|r| r.match(subject.strip)}
143
148
  return @subject ||= subject
144
149
  end
150
+
151
+ def get_subject # :nodoc:
152
+ sclz.method_deprecated(:get_subject, :subject)
153
+ self.subject
154
+ end
145
155
 
146
156
  # Convenience method that returns a string including all the text of the
147
157
  # first text/plain file found. Returns empty string if no body text
148
158
  # is found.
149
- def get_body
159
+ def body
150
160
  return @body if @body
151
161
 
152
- text_file = get_text
162
+ text_file = default_text
153
163
  if text_file.nil?
154
164
  return @body ||= nil
155
165
  end
@@ -157,6 +167,11 @@ module MMS2R
157
167
  return @body ||= IO.readlines(text_file.path).join.strip
158
168
  end
159
169
 
170
+ def get_body # :nodoc:
171
+ sclz.method_deprecated(:get_body, :body)
172
+ self.body
173
+ end
174
+
160
175
  # Returns a File with the most likely candidate for the user-submitted
161
176
  # media. Given that most MMS messages only have one file attached,
162
177
  # this will try to give you that file. First it looks for videos, then
@@ -166,8 +181,13 @@ module MMS2R
166
181
  #
167
182
  # Returns nil if there are not any video or image Files found.
168
183
 
169
- def get_media
170
- return @default_media ||= get_attachement(['video', 'image'])
184
+ def default_media
185
+ return @default_media ||= attachement(['video', 'image'])
186
+ end
187
+
188
+ def get_media # :nodoc:
189
+ sclz.method_deprecated(:get_media, :default_media)
190
+ self.default_media
171
191
  end
172
192
 
173
193
  # Returns a File with the most likely candidate that is text, or nil
@@ -177,8 +197,13 @@ module MMS2R
177
197
  #
178
198
  # Returns nil if there are not any text Files found
179
199
 
180
- def get_text
181
- return @default_text ||= get_attachement(['text'])
200
+ def default_text
201
+ return @default_text ||= attachement(['text'])
202
+ end
203
+
204
+ def get_text # :nodoc:
205
+ sclz.method_deprecated(:get_text, :default_text)
206
+ self.default_text
182
207
  end
183
208
 
184
209
  ##
@@ -535,10 +560,10 @@ module MMS2R
535
560
  private
536
561
 
537
562
  ##
538
- # used by get_media and get_text to return the biggest attachment type
563
+ # used by #default_media and #text to return the biggest attachment type
539
564
  # listed in the types array
540
565
 
541
- def get_attachement(types)
566
+ def attachement(types)
542
567
 
543
568
  # get all the files that are of the major types passed in
544
569
  files = Array.new
@@ -568,10 +593,13 @@ module MMS2R
568
593
  end
569
594
  end
570
595
 
596
+ return nil if file.nil?
597
+
571
598
  # These singleton methods implement the interface necessary to be used
572
599
  # as a drop-in replacement for files uploaded with CGI.rb.
573
600
  # This helps if you want to use the files with, for example,
574
601
  # attachment_fu.
602
+
575
603
  def file.local_path
576
604
  self.path
577
605
  end
@@ -592,6 +620,18 @@ module MMS2R
592
620
  file
593
621
  end
594
622
 
623
+ def get_attachement(types) # :nodoc:
624
+ sclz.method_deprecated(:get_attachment, :attachment)
625
+ self.attachement(types)
626
+ end
627
+
628
+ def self.method_deprecated(from, to) # :nodoc:
629
+ msg = "Method '#{from}' has been deprecated use method '#{to}'." +
630
+ "\nMethod '#{from}' will be removed in a future release"
631
+ @logger.error(msg) if @logger
632
+ $stderr.puts msg
633
+ end
634
+
595
635
  end
596
636
 
597
637
  end
@@ -52,6 +52,13 @@ module MMS2R
52
52
  sprint_process_text(doc)
53
53
  sprint_process_media(doc)
54
54
 
55
+ # when process acts upon a block
56
+ if block_given?
57
+ media.each do |k, v|
58
+ yield(k, v)
59
+ end
60
+ end
61
+
55
62
  end
56
63
 
57
64
  private
@@ -62,7 +69,7 @@ module MMS2R
62
69
  def sprint_phone_number(doc)
63
70
  c = doc.search("/html/head/comment()").last
64
71
  t = c.content.gsub(/\s+/m," ").strip
65
- #@number returned in parent's get_number
72
+ #@number returned in parent's #number
66
73
  @number = / name=&quot;MDN&quot;&gt;(\d+)&lt;/.match(t)[1]
67
74
  end
68
75
 
@@ -27,11 +27,11 @@ class MMS2R::AlltelMediaTest < Test::Unit::TestCase
27
27
  mms.purge
28
28
  end
29
29
 
30
- def test_get_media_should_return_user_generated_content
30
+ def test_default_media_should_return_user_generated_content
31
31
  mail = TMail::Mail.parse(load_mail('alltel-image-01.mail').join)
32
32
  mms = MMS2R::Media.create(mail)
33
33
  mms.process
34
- file = mms.get_media
34
+ file = mms.default_media
35
35
  assert_equal 'eastern sky.jpg', file.original_filename
36
36
  mms.purge
37
37
  end
@@ -7,7 +7,7 @@ require 'mms2r/media'
7
7
  require 'tmail/mail'
8
8
  require 'logger'
9
9
 
10
- class MMS2R::ATTMediaTest < Test::Unit::TestCase
10
+ class MMS2R::AttMediaTest < Test::Unit::TestCase
11
11
  include MMS2R::TestHelper
12
12
 
13
13
  def setup
@@ -21,7 +21,7 @@ class MMS2R::ATTMediaTest < Test::Unit::TestCase
21
21
  def test_simple
22
22
  mail = TMail::Mail.parse(load_mail('att-image-01.mail').join)
23
23
  mms = MMS2R::Media.create(mail)
24
- assert_equal(MMS2R::ATTMedia, mms.class, "expected a #{MMS2R::ATTMedia} and received a #{mms.class}")
24
+ assert_equal(MMS2R::AttMedia, mms.class, "expected a #{MMS2R::AttMedia} and received a #{mms.class}")
25
25
  mms.process
26
26
 
27
27
  assert(mms.media.size == 1)
@@ -37,7 +37,7 @@ class MMS2R::ATTMediaTest < Test::Unit::TestCase
37
37
  def test_subject
38
38
  mail = TMail::Mail.parse(load_mail('att-image-02.mail').join)
39
39
  mms = MMS2R::Media.create(mail)
40
- assert_equal(MMS2R::ATTMedia, mms.class, "expected a #{MMS2R::ATTMedia} and received a #{mms.class}")
40
+ assert_equal(MMS2R::AttMedia, mms.class, "expected a #{MMS2R::AttMedia} and received a #{mms.class}")
41
41
  mms.process
42
42
 
43
43
  assert(mms.media.size == 1)
@@ -48,7 +48,7 @@ class MMS2R::ATTMediaTest < Test::Unit::TestCase
48
48
 
49
49
  assert_file_size(mms.media['image/jpeg'][0], 337)
50
50
 
51
- assert_nil mms.get_subject
51
+ assert_nil mms.subject
52
52
  mms.purge
53
53
  end
54
54
  end
@@ -34,12 +34,12 @@ class MMS2R::DobsonMediaTest < Test::Unit::TestCase
34
34
  mms.purge
35
35
  end
36
36
 
37
- def test_get_body_should_return_user_text
37
+ def test_body_should_return_user_text
38
38
  mail = TMail::Mail.parse(load_mail('dobson-image-01.mail').join)
39
39
  mms = MMS2R::Media.create(mail)
40
40
  mms.process
41
41
 
42
- assert_equal 'Body', mms.get_body
42
+ assert_equal 'Body', mms.body
43
43
 
44
44
  mms.purge
45
45
  end
@@ -21,23 +21,23 @@ class MMS2R::HelioMediaTest < Test::Unit::TestCase
21
21
  assert_equal @mms.class, MMS2R::HelioMedia
22
22
  end
23
23
 
24
- def test_get_number_should_return_correct_number
25
- number = @mms.get_number()
24
+ def test_number_should_return_correct_number
25
+ number = @mms.number()
26
26
  assert_equal number, 7608070850.to_s
27
27
  end
28
28
 
29
- def test_get_subject_should_return_correct_subject
30
- title = @mms.get_subject()
29
+ def test_subject_should_return_correct_subject
30
+ title = @mms.subject()
31
31
  assert_equal title, "Test image"
32
32
  end
33
33
 
34
- def test_get_body_should_return_correct_body
35
- body = @mms.get_body()
34
+ def test_body_should_return_correct_body
35
+ body = @mms.body()
36
36
  assert_equal body, "Test image"
37
37
  end
38
38
 
39
- def test_get_attachment_should_return_jpeg
40
- image = @mms.get_media()
39
+ def test_attachment_should_return_jpeg
40
+ image = @mms.default_media()
41
41
  assert_not_nil @mms.media['image/jpeg'][0]
42
42
  assert_match(/0628070005.jpg$/, @mms.media['image/jpeg'][0])
43
43
  end
@@ -216,20 +216,20 @@ class MMS2R::MediaTest < Test::Unit::TestCase
216
216
  mms.purge
217
217
  end
218
218
 
219
- def test_mms_with_two_images_should_get_media_to_largest_file
219
+ def test_mms_with_two_images_should_default_media_to_largest_file
220
220
  mail = TMail::Mail.parse(load_mail('simple-with-two-images-two-texts.mail').join)
221
221
  mms = MMS2R::Media.create(mail)
222
222
  mms.process
223
- file = mms.get_media
223
+ file = mms.default_media
224
224
  assert_equal 'big.jpg', file.original_filename
225
225
  mms.purge
226
226
  end
227
227
 
228
- def test_mms_with_two_texts_should_get_text_to_largest_file
228
+ def test_mms_with_two_texts_should_text_to_largest_file
229
229
  mail = TMail::Mail.parse(load_mail('simple-with-two-images-two-texts.mail').join)
230
230
  mms = MMS2R::Media.create(mail)
231
231
  mms.process
232
- file = mms.get_text
232
+ file = mms.default_text
233
233
  assert_equal 'big.txt', file.original_filename
234
234
  mms.purge
235
235
  end
@@ -238,7 +238,7 @@ class MMS2R::MediaTest < Test::Unit::TestCase
238
238
  mail = TMail::Mail.parse(load_mail('hello_world_empty_text.mail').join)
239
239
  mms = MMS2R::Media.create(mail)
240
240
  mms.process
241
- assert_equal '2068675309', mms.get_number
241
+ assert_equal '2068675309', mms.number
242
242
  mms.purge
243
243
  end
244
244
 
@@ -339,7 +339,7 @@ class MMS2R::MediaTest < Test::Unit::TestCase
339
339
  assert MMS2R::Media.sub_type?(mail.parts[0]).eql?('gif')
340
340
  end
341
341
 
342
- def test_get_subject
342
+ def test_subject
343
343
  subjects = [nil, '', '(no subject)']
344
344
 
345
345
  mail = TMail::Mail.parse(load_mail('hello_world_mail_plain_no_content_type.mail').join)
@@ -347,26 +347,26 @@ class MMS2R::MediaTest < Test::Unit::TestCase
347
347
  mail.subject = s
348
348
  mms = MMS2R::Media.create(mail)
349
349
  mms.process
350
- assert_equal nil, mms.get_subject, "Default subject not scrubbed."
350
+ assert_equal nil, mms.subject, "Default subject not scrubbed."
351
351
  mms.purge
352
352
  end
353
353
 
354
354
  mail = TMail::Mail.parse(load_mail('hello_world_mail_plain_no_content_type.mail').join)
355
355
  mms = MMS2R::Media.create(mail)
356
356
  mms.process
357
- assert_equal 'text only', mms.get_subject
357
+ assert_equal 'text only', mms.subject
358
358
  mms.purge
359
359
  end
360
360
 
361
- def test_get_body
361
+ def test_body
362
362
  mail = TMail::Mail.parse(load_mail('hello_world_mail_plain_no_content_type.mail').join)
363
363
  mms = MMS2R::Media.create(mail)
364
364
  mms.process
365
- assert_equal 'hello world', mms.get_body
365
+ assert_equal 'hello world', mms.body
366
366
  mms.purge
367
367
  end
368
368
 
369
- def test_get_attachment_should_return_duck_typed_file
369
+ def test_attachment_should_return_duck_typed_file
370
370
 
371
371
  mail = TMail::Mail.parse(load_mail('simple_image.mail').join)
372
372
  mms = MMS2R::Media.create(mail)
@@ -382,10 +382,10 @@ class MMS2R::MediaTest < Test::Unit::TestCase
382
382
  assert File::exist?(test), "file #{test} does not exist"
383
383
  assert_equal base_name, File.basename(test), "file #{test} does not exist as #{base_name}"
384
384
 
385
- # get_media calls get_attachment and
386
- # get_attachment should return a file that has some duck sauce for
385
+ # default_media calls attachment and
386
+ # attachment should return a file that has some duck sauce for
387
387
  # act_as_attachment and attachment_fu
388
- file = mms.get_media
388
+ file = mms.default_media
389
389
  assert_not_nil file, "file #{file} does not exist"
390
390
  assert_equal test, file.local_path
391
391
  assert_equal base_name, file.original_filename
@@ -21,10 +21,10 @@ class MMS2R::MyCingularMediaTest < Test::Unit::TestCase
21
21
  assert_not_nil mms.media['image/jpeg'][0]
22
22
  assert_match(/04-18-07_1723.jpg$/, mms.media['image/jpeg'][0])
23
23
 
24
- assert_equal nil, mms.get_subject, "Default Cingular subject not stripped"
24
+ assert_equal nil, mms.subject, "Default Cingular subject not stripped"
25
25
  assert_file_size mms.media['image/jpeg'][0], 337
26
26
 
27
- assert_equal "Water", IO.readlines(mms.get_text.path).join
27
+ assert_equal "Water", IO.readlines(mms.default_text.path).join
28
28
 
29
29
  mms.purge
30
30
  end
@@ -10,22 +10,22 @@ require 'logger'
10
10
  class MMS2R::NextelMediaTest < Test::Unit::TestCase
11
11
  include MMS2R::TestHelper
12
12
 
13
- def test_simple_get_text_is_nil
13
+ def test_simple_text_is_nil
14
14
  mail = TMail::Mail.parse(load_mail('nextel-image-01.mail').join)
15
15
  mms = MMS2R::Media.create(mail)
16
16
  mms.process
17
17
 
18
- assert_nil mms.get_text
18
+ assert_nil mms.default_text
19
19
 
20
20
  mms.purge
21
21
  end
22
22
 
23
- def test_simple_get_media
23
+ def test_simple_default_media
24
24
  mail = TMail::Mail.parse(load_mail('nextel-image-01.mail').join)
25
25
  mms = MMS2R::Media.create(mail)
26
26
  mms.process
27
27
 
28
- file = mms.get_media
28
+ file = mms.default_media
29
29
  assert_file_size file, 337
30
30
  assert_equal 'Jan15_0001.jpg', file.original_filename
31
31
  assert_equal 337, file.size
@@ -20,7 +20,7 @@ class MMS2R::OrangeFranceMediaTest < Test::Unit::TestCase
20
20
  mail = TMail::Mail.parse(load_mail('orangefrance-text-and-image.mail').join)
21
21
  mms = MMS2R::Media.create(mail)
22
22
  mms.process
23
- assert_nil mms.get_subject
23
+ assert_nil mms.subject
24
24
  end
25
25
 
26
26
  def test_processed_content
@@ -39,12 +39,12 @@ class MMS2R::OrangeFranceMediaTest < Test::Unit::TestCase
39
39
  file = mms.media['text/plain'].first
40
40
  assert File::exist?(file), "file #{file} does not exist"
41
41
  text = IO.readlines("#{file}").join
42
- assert_match /Test ma poule/, text
42
+ assert_match(/Test ma poule/, text)
43
43
 
44
44
  # image
45
45
  assert_not_nil mms.media['image/jpeg']
46
46
  assert_equal 1, mms.media['image/jpeg'].size
47
- assert_match /IMAGE.jpeg$/, mms.media['image/jpeg'].first
47
+ assert_match(/IMAGE.jpeg$/, mms.media['image/jpeg'].first)
48
48
  assert_file_size mms.media['image/jpeg'].first, 337
49
49
 
50
50
  mms.purge
@@ -15,7 +15,7 @@ class MMS2R::OrangePolandMediaTest < Test::Unit::TestCase
15
15
  mms = MMS2R::Media.create(mail)
16
16
  assert_equal MMS2R::OrangePolandMedia, mms.class, "expected a #{MMS2R::OrangePolandMedia} and received a #{mms.class}"
17
17
  mms.process
18
- assert_nil mms.get_subject
18
+ assert_nil mms.subject
19
19
  assert_not_nil mms.media['text/plain']
20
20
  file = mms.media['text/plain'][0]
21
21
  assert_not_nil file
@@ -30,7 +30,7 @@ class MMS2R::OrangePolandMediaTest < Test::Unit::TestCase
30
30
  mms = MMS2R::Media.create(mail)
31
31
  assert_equal MMS2R::OrangePolandMedia, mms.class, "expected a #{MMS2R::OrangePolandMedia} and received a #{mms.class}"
32
32
  mms.process
33
- assert mms.get_subject, "whazzup"
33
+ assert mms.subject, "whazzup"
34
34
  assert_not_nil mms.media['text/plain']
35
35
  file = mms.media['text/plain'][0]
36
36
  assert_not_nil file
@@ -130,8 +130,8 @@ class MMS2R::SprintMediaTest < Test::Unit::TestCase
130
130
  mms.process
131
131
  assert_equal 1, mms.media.size
132
132
  assert_equal 1, mms.media['text/plain'].size
133
- assert_equal 7, mms.get_text.size
134
- text = IO.readlines("#{mms.get_text.path}").join
133
+ assert_equal 7, mms.default_text.size
134
+ text = IO.readlines("#{mms.default_text.path}").join
135
135
  assert_match(/Tea Pot/, text)
136
136
  mms.purge
137
137
  end
@@ -140,7 +140,7 @@ class MMS2R::SprintMediaTest < Test::Unit::TestCase
140
140
  mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
141
141
  mms = MMS2R::Media.create(mail)
142
142
  mms.process
143
- assert_equal '2068509247', mms.get_number
143
+ assert_equal '2068509247', mms.number
144
144
  mms.purge
145
145
  end
146
146
 
@@ -157,7 +157,7 @@ class MMS2R::SprintMediaTest < Test::Unit::TestCase
157
157
 
158
158
  assert_file_size mms.media['video/quicktime'][0], 49063
159
159
 
160
- assert_equal nil, mms.get_subject, "Default Sprint subject not scrubbed."
160
+ assert_equal nil, mms.subject, "Default Sprint subject not scrubbed."
161
161
 
162
162
  mms.purge
163
163
  end
@@ -175,11 +175,25 @@ class MMS2R::SprintMediaTest < Test::Unit::TestCase
175
175
 
176
176
  assert_file_size mms.media['image/jpeg'][0], 337
177
177
 
178
- assert_equal nil, mms.get_subject, "Default Sprint subject not scrubbed"
178
+ assert_equal nil, mms.subject, "Default Sprint subject not scrubbed"
179
179
 
180
180
  mms.purge
181
181
  end
182
182
 
183
+ def test_collect_image_using_block
184
+ mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
185
+ mms = MMS2R::Media.create(mail)
186
+ file_array = nil
187
+ mms.process do |k, v|
188
+ file_array = v if (k == 'image/jpeg')
189
+ assert_not_nil(file = file_array.first)
190
+ assert(File::exist?(file), "file #{file} does not exist")
191
+ assert(File.basename(file) =~ /000_0123a01234567890_1-0\.jpg/, "file #{file} does not exist")
192
+ end
193
+ # mms.purge has to be called manually
194
+ assert File.exist?(file_array.first)
195
+ end
196
+
183
197
  def test_should_have_two_images
184
198
  mail = TMail::Mail.parse(load_mail('sprint-two-images-01.mail').join)
185
199
  mms = MMS2R::Media.create(mail)
@@ -197,7 +211,7 @@ class MMS2R::SprintMediaTest < Test::Unit::TestCase
197
211
  assert_file_size mms.media['image/jpeg'][0], 337
198
212
  assert_file_size mms.media['image/jpeg'][1], 337
199
213
 
200
- assert_equal nil, mms.get_subject, "Default Sprint subject not scrubbed"
214
+ assert_equal nil, mms.subject, "Default Sprint subject not scrubbed"
201
215
 
202
216
  mms.purge
203
217
  end
@@ -212,10 +226,10 @@ class MMS2R::SprintMediaTest < Test::Unit::TestCase
212
226
  mms.purge
213
227
  end
214
228
 
215
- def test_get_body_should_return_nil_when_there_is_no_user_text
229
+ def test_body_should_return_nil_when_there_is_no_user_text
216
230
  mail = TMail::Mail.parse(load_mail('sprint-image-01.mail').join)
217
231
  mms = MMS2R::Media.create(mail)
218
232
  mms.process
219
- assert_equal nil, mms.get_body
233
+ assert_equal nil, mms.body
220
234
  end
221
235
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: mms2r
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.1.10
7
- date: 2007-09-30 00:00:00 -07:00
6
+ version: 1.1.11
7
+ date: 2007-10-20 00:00:00 -07:00
8
8
  summary: Extract user media from MMS (and not carrier cruft)
9
9
  require_paths:
10
10
  - lib
@@ -52,8 +52,8 @@ files:
52
52
  - conf/mms2r_verizon_media_transform.yml
53
53
  - dev_tools/debug_sprint_hpricot_parsing.rb
54
54
  - lib/mms2r.rb
55
- - lib/mms2r/a_t_t_media.rb
56
55
  - lib/mms2r/alltel_media.rb
56
+ - lib/mms2r/att_media.rb
57
57
  - lib/mms2r/cingular_me_media.rb
58
58
  - lib/mms2r/dobson_media.rb
59
59
  - lib/mms2r/helio_media.rb
@@ -132,8 +132,8 @@ files:
132
132
  - test/fixtures/verizon-video-01.mail
133
133
  - test/fixtures/vtext-text-01.mail
134
134
  - test/test_helper.rb
135
- - test/test_mms2r_a_t_t_media.rb
136
135
  - test/test_mms2r_alltel_media.rb
136
+ - test/test_mms2r_att_media.rb
137
137
  - test/test_mms2r_cingular_me_media.rb
138
138
  - test/test_mms2r_dobson_media.rb
139
139
  - test/test_mms2r_helio_media.rb
@@ -155,6 +155,7 @@ test_files:
155
155
  - test/test_mms2r_orange_poland_media.rb
156
156
  - test/test_mms2r_helio_media.rb
157
157
  - test/test_mms2r_sprint_pcs_media.rb
158
+ - test/test_mms2r_att_media.rb
158
159
  - test/test_mms2r_media.rb
159
160
  - test/test_mms2r_my_cingular_media.rb
160
161
  - test/test_mms2r_nextel_media.rb
@@ -167,7 +168,6 @@ test_files:
167
168
  - test/test_mms2r_verizon_media.rb
168
169
  - test/test_helper.rb
169
170
  - test/test_mms2r_t_mobile_media.rb
170
- - test/test_mms2r_a_t_t_media.rb
171
171
  rdoc_options:
172
172
  - --main
173
173
  - README.txt
@@ -207,5 +207,5 @@ dependencies:
207
207
  requirements:
208
208
  - - ">="
209
209
  - !ruby/object:Gem::Version
210
- version: 1.2.1
210
+ version: 1.3.0
211
211
  version: