mms2r 2.4.1 → 3.0.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.
Files changed (61) hide show
  1. data/.gitignore +1 -0
  2. data/History.txt +5 -0
  3. data/Manifest.txt +1 -1
  4. data/README.txt +12 -9
  5. data/Rakefile +11 -10
  6. data/conf/mobile.indosat.net.id.yml +1 -1
  7. data/conf/waw.plspictures.com.yml +1 -1
  8. data/lib/mail_ext.rb +37 -0
  9. data/lib/mms2r.rb +7 -5
  10. data/lib/mms2r/media.rb +29 -35
  11. data/lib/mms2r/media/sprint.rb +19 -19
  12. data/mms2r.gemspec +23 -17
  13. data/test/fixtures/att-blackberry-02.mail +5 -6
  14. data/test/fixtures/att-iphone-01.mail +3 -3
  15. data/test/fixtures/dobson-image-01.mail +3 -3
  16. data/test/fixtures/maroctelecom-france-mms-01.mail +4 -4
  17. data/test/fixtures/mycingular-image-01.mail +3 -3
  18. data/test/fixtures/nextel-image-02.mail +2 -2
  19. data/test/fixtures/orangepoland-text-01.mail +2 -1
  20. data/test/fixtures/orangepoland-text-02.mail +2 -1
  21. data/test/fixtures/pics.cingularme.com-image-01.mail +0 -1
  22. data/test/fixtures/sasktel-image-01.mail +4 -4
  23. data/test/fixtures/sprint-broken-image-01.mail +1 -1
  24. data/test/fixtures/sprint-text-01.mail +1 -1
  25. data/test/fixtures/tmobile-blackberry-02.mail +4 -4
  26. data/test/test_1nbox_net.rb +16 -19
  27. data/test/test_bell_canada.rb +8 -13
  28. data/test/test_bellsouth_net.rb +5 -10
  29. data/test/test_helper.rb +16 -11
  30. data/test/test_mediamessaging_o2_co_uk.rb +21 -17
  31. data/test/test_messaging_nextel_com.rb +18 -12
  32. data/test/test_messaging_sprintpcs_com.rb +4 -8
  33. data/test/test_mms2r_media.rb +153 -143
  34. data/test/test_mms_3ireland_ie.rb +4 -9
  35. data/test/test_mms_ae.rb +12 -12
  36. data/test/test_mms_alltel_com.rb +14 -15
  37. data/test/test_mms_att_net.rb +35 -27
  38. data/test/test_mms_dobson_net.rb +9 -11
  39. data/test/test_mms_luxgsm_lu.rb +23 -17
  40. data/test/test_mms_mobileiam_ma.rb +4 -10
  41. data/test/test_mms_mtn_co_za.rb +4 -9
  42. data/test/test_mms_mycricket_com.rb +9 -9
  43. data/test/test_mms_myhelio_com.rb +18 -14
  44. data/test/test_mms_netcom_no.rb +19 -17
  45. data/test/test_mms_o2online_de.rb +20 -18
  46. data/test/test_mms_three_co_uk.rb +14 -14
  47. data/test/test_mms_vodacom4me_co_za.rb +24 -24
  48. data/test/test_mobile_indosat_net_id.rb +6 -9
  49. data/test/test_msg_telus_com.rb +5 -10
  50. data/test/test_orangemms_net.rb +25 -17
  51. data/test/test_pm_sprint_com.rb +37 -22
  52. data/test/test_pxt_vodafone_net_nz.rb +7 -11
  53. data/test/test_rci_rogers_com.rb +3 -8
  54. data/test/test_sms_sasktel_com.rb +2 -7
  55. data/test/test_tmomail_net.rb +25 -23
  56. data/test/test_unicel_com.rb +8 -12
  57. data/test/test_vmpix_com.rb +14 -13
  58. data/test/test_vzwpix_com.rb +24 -14
  59. data/test/test_waw_plspictures_com.rb +2 -7
  60. metadata +77 -26
  61. data/lib/tmail_ext.rb +0 -22
@@ -1,26 +1,24 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  require File.join(File.dirname(__FILE__), "test_helper")
3
- require 'test/unit'
4
- require 'rubygems'
5
- require 'mocha'
6
- gem 'tmail', '>= 1.2.1'
7
- require 'tmail'
8
2
 
9
3
  class TestMmsMycricketCom < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_subject
13
7
  # mms.mycricket.com service
14
- mail = TMail::Mail.parse(load_mail('mms.mycricket.com-pic.mail').join)
8
+ mail = mail('mms.mycricket.com-pic.mail')
15
9
  mms = MMS2R::Media.new(mail)
10
+ assert_equal "2068675309", mms.number
11
+ assert_equal "mms.mycricket.com", mms.carrier
16
12
  assert_equal "", mms.subject
17
13
  mms.purge
18
14
  end
19
15
 
20
16
  def test_image
21
17
  # mms.mycricket.com service
22
- mail = TMail::Mail.parse(load_mail('mms.mycricket.com-pic.mail').join)
18
+ mail = mail('mms.mycricket.com-pic.mail')
23
19
  mms = MMS2R::Media.new(mail)
20
+ assert_equal "2068675309", mms.number
21
+ assert_equal "mms.mycricket.com", mms.carrier
24
22
 
25
23
  assert_equal 1, mms.media.size
26
24
  assert_nil mms.media['text/plain']
@@ -36,8 +34,10 @@ class TestMmsMycricketCom < Test::Unit::TestCase
36
34
 
37
35
  def test_image_and_text
38
36
  # mms.mycricket.com service
39
- mail = TMail::Mail.parse(load_mail('mms.mycricket.com-pic-and-text.mail').join)
37
+ mail = mail('mms.mycricket.com-pic-and-text.mail')
40
38
  mms = MMS2R::Media.new(mail)
39
+ assert_equal "2068675309", mms.number
40
+ assert_equal "mms.mycricket.com", mms.carrier
41
41
 
42
42
  assert_equal 2, mms.media.size
43
43
  assert_nil mms.media['text/html']
@@ -1,17 +1,13 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  require File.join(File.dirname(__FILE__), "test_helper")
3
- require 'test/unit'
4
- require 'rubygems'
5
- require 'mocha'
6
- gem 'tmail', '>= 1.2.1'
7
- require 'tmail'
8
2
 
9
3
  class TestMmsMyhelioCom < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_only_valid_content_should_be_retained_for_mms_with_image_and_text
13
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
7
+ mail = mail('helio-image-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
9
+ assert_equal "5551234", mms.number
10
+ assert_equal "mms.myhelio.com", mms.carrier
15
11
  assert_equal 2, mms.media.size
16
12
  assert_equal 1, mms.media['image/jpeg'].size
17
13
  assert_equal 1, mms.media['text/plain'].size
@@ -19,40 +15,48 @@ class TestMmsMyhelioCom < Test::Unit::TestCase
19
15
  end
20
16
 
21
17
  def test_only_valid_content_should_be_retained_for_mms_with_text
22
- mail = TMail::Mail.parse(load_mail('helio-message-01.mail').join)
18
+ mail = mail('helio-message-01.mail')
23
19
  mms = MMS2R::Media.new(mail)
20
+ assert_equal "5551234", mms.number
21
+ assert_equal "mms.myhelio.com", mms.carrier
24
22
  assert_equal 1, mms.media.size
25
23
  assert_equal 1, mms.media['text/plain'].size
26
24
  mms.purge
27
25
  end
28
26
 
29
27
  def test_number_should_return_correct_number
30
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
28
+ mail = mail('helio-image-01.mail')
31
29
  mms = MMS2R::Media.new(mail)
32
- number = mms.number()
33
- assert_equal number, 5551234.to_s
30
+ assert_equal "5551234", mms.number
31
+ assert_equal "mms.myhelio.com", mms.carrier
34
32
  mms.purge
35
33
  end
36
34
 
37
35
  def test_subject_should_return_correct_subject
38
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
36
+ mail = mail('helio-image-01.mail')
39
37
  mms = MMS2R::Media.new(mail)
38
+ assert_equal "5551234", mms.number
39
+ assert_equal "mms.myhelio.com", mms.carrier
40
40
  title = mms.subject()
41
41
  assert_equal title, "Test image"
42
42
  mms.purge
43
43
  end
44
44
 
45
45
  def test_body_should_return_correct_body
46
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
46
+ mail = mail('helio-image-01.mail')
47
47
  mms = MMS2R::Media.new(mail)
48
+ assert_equal "5551234", mms.number
49
+ assert_equal "mms.myhelio.com", mms.carrier
48
50
  body = mms.body()
49
51
  assert_equal body, "Test image"
50
52
  mms.purge
51
53
  end
52
54
 
53
55
  def test_attachment_should_return_jpeg
54
- mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
56
+ mail = mail('helio-image-01.mail')
55
57
  mms = MMS2R::Media.new(mail)
58
+ assert_equal "5551234", mms.number
59
+ assert_equal "mms.myhelio.com", mms.carrier
56
60
  image = mms.default_media()
57
61
  assert_not_nil mms.media['image/jpeg'][0]
58
62
  assert_match(/0628070005.jpg$/, mms.media['image/jpeg'][0])
@@ -1,52 +1,54 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  require File.join(File.dirname(__FILE__), "test_helper")
3
- require 'test/unit'
4
- require 'rubygems'
5
- require 'mocha'
6
- gem 'tmail', '>= 1.2.1'
7
- require 'tmail'
8
2
 
9
3
  class TestMmsNetcomNo < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_subject
13
- mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
7
+ mail = mail('netcom-image-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
9
+ assert_equal "5551234", mms.number
10
+ assert_equal "mms.netcom.no", mms.carrier
15
11
  assert_equal "Morning greetings from norway. This is a", mms.subject
16
12
 
17
13
  mms.purge
18
14
  end
19
15
 
20
16
  def test_image
21
- mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
17
+ mail = mail('netcom-image-01.mail')
22
18
  mms = MMS2R::Media.new(mail)
23
-
19
+ assert_equal "5551234", mms.number
20
+ assert_equal "mms.netcom.no", mms.carrier
21
+
24
22
  assert_equal 2, mms.media.size
25
23
  assert_not_nil mms.media['text/plain']
26
24
  assert_equal 1, mms.media['text/plain'].size
27
25
  assert_not_nil mms.media['image/jpeg']
28
26
  assert_equal 1, mms.media['image/jpeg'].size
29
27
  assert_file_size mms.media['image/jpeg'].first, 337
30
-
28
+
31
29
  mms.purge
32
30
  end
33
31
 
34
32
  def test_default_media_should_return_user_generated_content
35
- mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
33
+ mail = mail('netcom-image-01.mail')
36
34
  mms = MMS2R::Media.new(mail)
35
+ assert_equal "5551234", mms.number
36
+ assert_equal "mms.netcom.no", mms.carrier
37
37
  file = mms.default_media
38
38
  assert_equal 337, file.size
39
-
39
+
40
40
  mms.purge
41
- end
41
+ end
42
42
 
43
43
  def test_default_text_should_return_user_generated_content
44
- mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
44
+ mail = mail('netcom-image-01.mail')
45
45
  mms = MMS2R::Media.new(mail)
46
+ assert_equal "5551234", mms.number
47
+ assert_equal "mms.netcom.no", mms.carrier
46
48
  file = mms.default_text
47
49
  assert_equal "Morning greetings from norway. This is a mms from norwegian carrier netcom.", file.read
48
-
50
+
49
51
  mms.purge
50
- end
51
-
52
+ end
53
+
52
54
  end
@@ -1,25 +1,23 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  require File.join(File.dirname(__FILE__), "test_helper")
3
- require 'test/unit'
4
- require 'rubygems'
5
- require 'mocha'
6
- gem 'tmail', '>= 1.2.1'
7
- require 'tmail'
8
2
 
9
3
  class TestMmsO2onlineDe < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_subject
13
- mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
7
+ mail = mail('o2-de-image-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
9
+ assert_equal "o2.5551234", mms.number
10
+ assert_equal "mms.o2online.de", mms.carrier
15
11
  assert_equal "this is a subject", mms.subject
16
12
  mms.purge
17
13
  end
18
14
 
19
15
  def test_image
20
- mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
16
+ mail = mail('o2-de-image-01.mail')
21
17
  mms = MMS2R::Media.new(mail)
22
-
18
+ assert_equal "o2.5551234", mms.number
19
+ assert_equal "mms.o2online.de", mms.carrier
20
+
23
21
  # o2 is ungly, you cant' tel the logo is different than user content by its file name
24
22
  assert_equal 2, mms.media.size
25
23
  assert_not_nil mms.media['text/plain']
@@ -27,27 +25,31 @@ class TestMmsO2onlineDe < Test::Unit::TestCase
27
25
  assert_not_nil mms.media['image/jpeg']
28
26
  assert_equal 2, mms.media['image/jpeg'].size
29
27
  assert mms.media['image/jpeg'].detect{|f| File.size(f) == 337}
30
-
28
+
31
29
  mms.purge
32
30
  end
33
31
 
34
32
  def test_default_media_should_return_user_generated_content
35
- mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
33
+ mail = mail('o2-de-image-01.mail')
36
34
  mms = MMS2R::Media.new(mail)
35
+ assert_equal "o2.5551234", mms.number
36
+ assert_equal "mms.o2online.de", mms.carrier
37
37
  file = mms.default_media
38
38
  assert_equal 1275, file.size
39
-
39
+
40
40
  mms.purge
41
- end
41
+ end
42
42
 
43
43
  def test_default_text_should_return_user_generated_content
44
- mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
44
+ mail = mail('o2-de-image-01.mail')
45
45
  mms = MMS2R::Media.new(mail)
46
+ assert_equal "o2.5551234", mms.number
47
+ assert_equal "mms.o2online.de", mms.carrier
46
48
  file = mms.default_text
47
49
  #assert_equal 42, file.size
48
- assert_equal "This is text before the image. Thank you!\n", file.read
49
-
50
+ assert_equal "This is text before the image. Thank you!", file.read.strip
51
+
50
52
  mms.purge
51
- end
52
-
53
+ end
54
+
53
55
  end
@@ -1,42 +1,42 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  require File.join(File.dirname(__FILE__), "test_helper")
3
- require 'test/unit'
4
- require 'rubygems'
5
- require 'mocha'
6
- gem 'tmail', '>= 1.2.1'
7
- require 'tmail'
8
2
 
9
3
  class TestMmsThreeCoUk < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_subject
13
- mail = TMail::Mail.parse(load_mail('three-uk-image-01.mail').join)
7
+ mail = mail('three-uk-image-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
9
+ assert_equal "5551234", mms.number
10
+ assert_equal "mms.three.co.uk", mms.carrier
15
11
  assert_equal "", mms.subject
16
12
 
17
13
  mms.purge
18
14
  end
19
15
 
20
16
  def test_image
21
- mail = TMail::Mail.parse(load_mail('three-uk-image-01.mail').join)
17
+ mail = mail('three-uk-image-01.mail')
22
18
  mms = MMS2R::Media.new(mail)
23
-
19
+ assert_equal "5551234", mms.number
20
+ assert_equal "mms.three.co.uk", mms.carrier
21
+
24
22
  assert_equal 1, mms.media.size
25
23
  assert_not_nil mms.media['image/jpeg']
26
24
  assert_equal 1, mms.media['image/jpeg'].size
27
25
  assert_match(/17102007.jpg$/, mms.media['image/jpeg'].first)
28
26
  assert_file_size mms.media['image/jpeg'].first, 337
29
-
27
+
30
28
  mms.purge
31
29
  end
32
30
 
33
31
  def test_default_media_should_return_user_generated_content
34
- mail = TMail::Mail.parse(load_mail('three-uk-image-01.mail').join)
32
+ mail = mail('three-uk-image-01.mail')
35
33
  mms = MMS2R::Media.new(mail)
34
+ assert_equal "5551234", mms.number
35
+ assert_equal "mms.three.co.uk", mms.carrier
36
36
  file = mms.default_media
37
37
  assert_equal '17102007.jpg', file.original_filename
38
-
38
+
39
39
  mms.purge
40
- end
41
-
40
+ end
41
+
42
42
  end
@@ -1,56 +1,55 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  require File.join(File.dirname(__FILE__), "test_helper")
3
- require 'test/unit'
4
- require 'rubygems'
5
- require 'mocha'
6
- gem 'tmail', '>= 1.2.1'
7
- require 'tmail'
8
2
 
9
3
  class TestMmsVodacom4meCoZa < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
-
5
+
12
6
  def test_image_only
13
- mail = TMail::Mail.parse(load_mail('vodacom4me-co-za-01.mail').join)
7
+ mail = mail('vodacom4me-co-za-01.mail')
14
8
  mms = MMS2R::Media.new(mail)
15
-
9
+ assert_equal "+2068675309", mms.number
10
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
11
+
16
12
  assert_nil mms.media['text/plain']
17
13
  assert_nil mms.media['text/html']
18
-
14
+
19
15
  assert_not_nil mms.media['image/jpeg'].first
20
16
  assert_match(/Ugly\.jpg$/, mms.media['image/jpeg'].first)
21
17
  mms.purge
22
18
  end
23
19
 
24
20
  def test_should_have_phone_number
25
- mail = TMail::Mail.parse(load_mail('vodacom4me-co-za-01.mail').join)
21
+ mail = mail('vodacom4me-co-za-01.mail')
26
22
  mms = MMS2R::Media.new(mail)
23
+ assert_equal "+2068675309", mms.number
24
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
27
25
 
28
- assert_equal '+2068675309', mms.number
29
-
30
26
  mms.purge
31
27
  end
32
-
28
+
33
29
  def test_image_and_text
34
- mail = TMail::Mail.parse(load_mail('vodacom4me-co-za-02.mail').join)
30
+ mail = mail('vodacom4me-co-za-02.mail')
35
31
  mms = MMS2R::Media.new(mail)
36
-
32
+ assert_equal "+2068675309", mms.number
33
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
34
+
37
35
  assert_not_nil mms.media['text/plain']
38
36
  assert_equal "Hello World", open(mms.media['text/plain'].first).read
39
-
37
+
40
38
  assert_nil mms.media['text/html']
41
-
39
+
42
40
  assert_not_nil mms.media['image/jpeg'].first
43
41
  assert_match(/DSC00184\.JPG$/, mms.media['image/jpeg'].first)
44
42
  mms.purge
45
43
  end
46
44
 
47
45
  def test_new_image_and_number
48
- mail = TMail::Mail.parse(load_mail('vodacom4me-southafrica-mms-01.mail').join)
46
+ mail = mail('vodacom4me-southafrica-mms-01.mail')
49
47
  mms = MMS2R::Media.new(mail)
50
-
48
+ assert_equal "+12345678901", mms.number
49
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
50
+
51
51
  assert_nil mms.media['text/plain']
52
52
  assert_nil mms.media['text/html']
53
- assert_equal '+12345678901', mms.number
54
53
 
55
54
  assert_equal 1, mms.media.size
56
55
  assert_equal 1, mms.media['image/gif'].size
@@ -60,12 +59,13 @@ class TestMmsVodacom4meCoZa < Test::Unit::TestCase
60
59
  end
61
60
 
62
61
  def test_new_lots_of_images
63
- mail = TMail::Mail.parse(load_mail('vodacom4me-southafrica-mms-04.mail').join)
62
+ mail = mail('vodacom4me-southafrica-mms-04.mail')
64
63
  mms = MMS2R::Media.new(mail)
65
-
64
+ assert_equal "+12345678901", mms.number
65
+ assert_equal "mms.vodacom4me.co.za", mms.carrier
66
+
66
67
  assert_nil mms.media['text/plain']
67
68
  assert_nil mms.media['text/html']
68
- assert_equal '+12345678901', mms.number
69
69
 
70
70
  assert_not_nil mms.media['image/gif'].at(0)
71
71
  assert_match(/ZedLandingMedium\.gif$/, mms.media['image/gif'].at(0))
@@ -1,18 +1,13 @@
1
- require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
1
  require File.join(File.dirname(__FILE__), "test_helper")
3
- require 'test/unit'
4
- require 'rubygems'
5
- require 'mocha'
6
- gem 'tmail', '>= 1.2.1'
7
- require 'tmail'
8
2
 
9
3
  class TestMobileIndosatNetId < Test::Unit::TestCase
10
4
  include MMS2R::TestHelper
11
5
 
12
6
  def test_mms_indosat_with_yahoo_service
13
7
  # mobile.indosat.net.id service
14
- mail = TMail::Mail.parse(load_mail('indosat-image-01.mail').join)
8
+ mail = mail('indosat-image-01.mail')
15
9
  mms = MMS2R::Media.new(mail)
10
+ assert_equal "2068675309", mms.number
16
11
  assert_equal "mobile.indosat.net.id", mms.carrier
17
12
  assert_equal "", mms.subject
18
13
  assert_nil mms.media['text/html']
@@ -28,16 +23,18 @@ class TestMobileIndosatNetId < Test::Unit::TestCase
28
23
 
29
24
  def test_mms_indosat_phone_number_with_yahoo_service
30
25
  # mobile.indosat.net.id service
31
- mail = TMail::Mail.parse(load_mail('indosat-image-01.mail').join)
26
+ mail = mail('indosat-image-01.mail')
32
27
  mms = MMS2R::Media.new(mail)
33
28
  assert_equal "2068675309", mms.number
29
+ assert_equal "mobile.indosat.net.id", mms.carrier
34
30
  mms.purge
35
31
  end
36
32
 
37
33
  def test_mms_indosat
38
34
  # mobile.indosat.net.id service
39
- mail = TMail::Mail.parse(load_mail('indosat-image-02.mail').join)
35
+ mail = mail('indosat-image-02.mail')
40
36
  mms = MMS2R::Media.new(mail)
37
+ assert_equal "2068675309", mms.number
41
38
  assert_equal "mobile.indosat.net.id", mms.carrier
42
39
  assert_equal "Please pick up while I prepair another.", mms.subject
43
40
  assert_nil mms.media['text/html']