brendanlim-mms2r 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/.gitignore +3 -0
  2. data/History.txt +292 -0
  3. data/Manifest.txt +169 -0
  4. data/README.txt +202 -0
  5. data/Rakefile +36 -0
  6. data/conf/1nbox.net.yml +13 -0
  7. data/conf/aliases.yml +17 -0
  8. data/conf/bellsouth.net.yml +2 -0
  9. data/conf/from.yml +2 -0
  10. data/conf/mediamessaging.o2.co.uk.yml +4 -0
  11. data/conf/messaging.nextel.com.yml +10 -0
  12. data/conf/mms.3ireland.ie.yml +17 -0
  13. data/conf/mms.ae.yml +5 -0
  14. data/conf/mms.alltel.com.yml +15 -0
  15. data/conf/mms.att.net.yml +11 -0
  16. data/conf/mms.dobson.net.yml +4 -0
  17. data/conf/mms.luxgsm.lu.yml +13 -0
  18. data/conf/mms.mobileiam.ma.yml +16 -0
  19. data/conf/mms.mtn.co.za.yml +13 -0
  20. data/conf/mms.mycricket.com.yml +4 -0
  21. data/conf/mms.myhelio.com.yml +12 -0
  22. data/conf/mms.netcom.no.yml +4 -0
  23. data/conf/mms.o2online.de.yml +8 -0
  24. data/conf/mms.three.co.uk.yml +15 -0
  25. data/conf/mms.vodacom4me.co.za.yml +13 -0
  26. data/conf/mms2r_media.yml +24 -0
  27. data/conf/mobile.indosat.net.id.yml +14 -0
  28. data/conf/msg.telus.com.yml +6 -0
  29. data/conf/orangemms.net.yml +13 -0
  30. data/conf/pm.sprint.com.yml +12 -0
  31. data/conf/pxt.vodafone.net.nz.yml +5 -0
  32. data/conf/rci.rogers.com.yml +18 -0
  33. data/conf/sms.sasktel.com.yml +12 -0
  34. data/conf/tmomail.net.yml +28 -0
  35. data/conf/txt.bell.ca.yml +4 -0
  36. data/conf/unicel.com.yml +6 -0
  37. data/conf/vmpix.com.yml +11 -0
  38. data/conf/vzwpix.com.yml +8 -0
  39. data/conf/waw.plspictures.com.yml +15 -0
  40. data/dev_tools/anonymizer.rb +20 -0
  41. data/dev_tools/debug_sprint_hpricot_parsing.rb +82 -0
  42. data/dev_tools/github.rb +8 -0
  43. data/lib/mms2r.rb +58 -0
  44. data/lib/mms2r/media.rb +746 -0
  45. data/lib/mms2r/media/sprint.rb +189 -0
  46. data/lib/tmail_ext.rb +17 -0
  47. data/mms2r.gemspec +41 -0
  48. data/test/fixtures/1nbox-2images-01.mail +738 -0
  49. data/test/fixtures/1nbox-2images-02.mail +736 -0
  50. data/test/fixtures/1nbox-2images-03.mail +736 -0
  51. data/test/fixtures/1nbox-2images-04.mail +732 -0
  52. data/test/fixtures/3ireland-mms-01.mail +671 -0
  53. data/test/fixtures/alltel-image-01.mail +319 -0
  54. data/test/fixtures/alltel-mms-01.mail +270 -0
  55. data/test/fixtures/alltel-mms-03.mail +270 -0
  56. data/test/fixtures/apple-double-image-01.mail +53 -0
  57. data/test/fixtures/att-blackberry-02.mail +54 -0
  58. data/test/fixtures/att-blackberry.mail +60 -0
  59. data/test/fixtures/att-image-01.mail +37 -0
  60. data/test/fixtures/att-image-02.mail +37 -0
  61. data/test/fixtures/att-iphone-01.mail +73 -0
  62. data/test/fixtures/att-iphone-02.mail +61 -0
  63. data/test/fixtures/att-iphone-03.mail +61 -0
  64. data/test/fixtures/att-text-01.mail +27 -0
  65. data/test/fixtures/bell-canada-image-01.mail +2273 -0
  66. data/test/fixtures/cingularme-text-01.mail +13 -0
  67. data/test/fixtures/cingularme-text-02.mail +14 -0
  68. data/test/fixtures/dobson-image-01.mail +64 -0
  69. data/test/fixtures/dot.jpg +0 -0
  70. data/test/fixtures/generic.mail +50 -0
  71. data/test/fixtures/helio-image-01.mail +348 -0
  72. data/test/fixtures/helio-message-01.mail +327 -0
  73. data/test/fixtures/iconv-fr-text-01.mail +50 -0
  74. data/test/fixtures/indosat-image-01.mail +751 -0
  75. data/test/fixtures/indosat-image-02.mail +751 -0
  76. data/test/fixtures/info2go-image-01.mail +43 -0
  77. data/test/fixtures/luxgsm-image-01.mail +388 -0
  78. data/test/fixtures/maroctelecom-france-mms-01.mail +511 -0
  79. data/test/fixtures/mediamessaging_o2_co_uk-image-01.mail +61 -0
  80. data/test/fixtures/mmode-image-01.mail +36 -0
  81. data/test/fixtures/mms.ae-image-01.mail +45 -0
  82. data/test/fixtures/mms.mycricket.com-pic-and-text.mail +87 -0
  83. data/test/fixtures/mms.mycricket.com-pic.mail +78 -0
  84. data/test/fixtures/mmsreply.t-mobile.co.uk-text-image-01.mail +431 -0
  85. data/test/fixtures/mobile.mycingular.com-text-01.mail +25 -0
  86. data/test/fixtures/mtn-southafrica-mms.mail +127 -0
  87. data/test/fixtures/mycingular-image-01.mail +66 -0
  88. data/test/fixtures/netcom-image-01.mail +63 -0
  89. data/test/fixtures/nextel-image-01.mail +46 -0
  90. data/test/fixtures/nextel-image-02.mail +43 -0
  91. data/test/fixtures/nextel-image-03.mail +44 -0
  92. data/test/fixtures/nextel-image-04.mail +43 -0
  93. data/test/fixtures/o2-de-image-01.mail +134 -0
  94. data/test/fixtures/orange-uk-image-01.mail +71 -0
  95. data/test/fixtures/orangefrance-text-and-image.mail +68 -0
  96. data/test/fixtures/orangepoland-text-01.mail +7 -0
  97. data/test/fixtures/orangepoland-text-02.mail +7 -0
  98. data/test/fixtures/pics.cingularme.com-image-01.mail +44 -0
  99. data/test/fixtures/pxt-image-01.mail +118 -0
  100. data/test/fixtures/rogers-canada-mms-01.mail +1029 -0
  101. data/test/fixtures/sasktel-image-01.mail +1791 -0
  102. data/test/fixtures/sprint-broken-image-01.mail +195 -0
  103. data/test/fixtures/sprint-image-01.mail +211 -0
  104. data/test/fixtures/sprint-pcs-text-01.mail +8 -0
  105. data/test/fixtures/sprint-purged-image-01.mail +195 -0
  106. data/test/fixtures/sprint-text-01.mail +195 -0
  107. data/test/fixtures/sprint-two-images-01.mail +231 -0
  108. data/test/fixtures/sprint-video-01.mail +210 -0
  109. data/test/fixtures/sprint.mov +0 -0
  110. data/test/fixtures/suncom-blackberry.mail +43 -0
  111. data/test/fixtures/telus-image-01.mail +89 -0
  112. data/test/fixtures/three-uk-image-01.mail +684 -0
  113. data/test/fixtures/tmo.blackberry.net-image-01.mail +48 -0
  114. data/test/fixtures/tmobile-blackberry-02.mail +50 -0
  115. data/test/fixtures/tmobile-blackberry.mail +44 -0
  116. data/test/fixtures/tmobile-image-01.mail +145 -0
  117. data/test/fixtures/tmobile-image-02.mail +145 -0
  118. data/test/fixtures/unicel-image-01.mail +60 -0
  119. data/test/fixtures/verizon-blackberry.mail +53 -0
  120. data/test/fixtures/verizon-image-01.mail +44 -0
  121. data/test/fixtures/verizon-image-02.mail +50 -0
  122. data/test/fixtures/verizon-image-03.mail +53 -0
  123. data/test/fixtures/verizon-text-01.mail +10 -0
  124. data/test/fixtures/verizon-video-01.mail +336 -0
  125. data/test/fixtures/virgin-mobile-image-01.mail +73 -0
  126. data/test/fixtures/virgin.ca-text-01.mail +21 -0
  127. data/test/fixtures/vodacom4me-co-za-01.mail +104 -0
  128. data/test/fixtures/vodacom4me-co-za-02.mail +108 -0
  129. data/test/fixtures/vodacom4me-southafrica-mms-01.mail +152 -0
  130. data/test/fixtures/vodacom4me-southafrica-mms-04.mail +655 -0
  131. data/test/fixtures/vtext-text-01.mail +10 -0
  132. data/test/fixtures/waw.plspictures.com-image-01.mail +1611 -0
  133. data/test/test_1nbox_net.rb +78 -0
  134. data/test/test_bell_canada.rb +44 -0
  135. data/test/test_bellsouth_net.rb +22 -0
  136. data/test/test_github.rb +12 -0
  137. data/test/test_helper.rb +58 -0
  138. data/test/test_mediamessaging_o2_co_uk.rb +52 -0
  139. data/test/test_messaging_nextel_com.rb +93 -0
  140. data/test/test_messaging_sprintpcs_com.rb +26 -0
  141. data/test/test_mms2r_media.rb +760 -0
  142. data/test/test_mms_3ireland_ie.rb +25 -0
  143. data/test/test_mms_ae.rb +46 -0
  144. data/test/test_mms_alltel_com.rb +53 -0
  145. data/test/test_mms_att_net.rb +142 -0
  146. data/test/test_mms_dobson_net.rb +41 -0
  147. data/test/test_mms_luxgsm_lu.rb +58 -0
  148. data/test/test_mms_mobileiam_ma.rb +26 -0
  149. data/test/test_mms_mtn_co_za.rb +25 -0
  150. data/test/test_mms_mycricket_com.rb +60 -0
  151. data/test/test_mms_myhelio_com.rb +62 -0
  152. data/test/test_mms_netcom_no.rb +52 -0
  153. data/test/test_mms_o2online_de.rb +53 -0
  154. data/test/test_mms_three_co_uk.rb +42 -0
  155. data/test/test_mms_vodacom4me_co_za.rb +107 -0
  156. data/test/test_mobile_indosat_net_id.rb +52 -0
  157. data/test/test_msg_telus_com.rb +28 -0
  158. data/test/test_orangemms_net.rb +100 -0
  159. data/test/test_pm_sprint_com.rb +202 -0
  160. data/test/test_pxt_vodafone_net_nz.rb +37 -0
  161. data/test/test_rci_rogers_com.rb +28 -0
  162. data/test/test_sms_sasktel_com.rb +28 -0
  163. data/test/test_tmomail_net.rb +108 -0
  164. data/test/test_unicel_com.rb +49 -0
  165. data/test/test_vmpix_com.rb +56 -0
  166. data/test/test_vzwpix_com.rb +131 -0
  167. data/test/test_waw_plspictures_com.rb +27 -0
  168. data/vendor/plugins/mms2r/lib/autotest/discover.rb +3 -0
  169. data/vendor/plugins/mms2r/lib/autotest/mms2r.rb +38 -0
  170. metadata +288 -0
@@ -0,0 +1,62 @@
1
+ require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
+ 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
+
9
+ class TestMmsMyhelioCom < Test::Unit::TestCase
10
+ include MMS2R::TestHelper
11
+
12
+ 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)
14
+ mms = MMS2R::Media.new(mail)
15
+ assert_equal 2, mms.media.size
16
+ assert_equal 1, mms.media['image/jpeg'].size
17
+ assert_equal 1, mms.media['text/plain'].size
18
+ mms.purge
19
+ end
20
+
21
+ def test_only_valid_content_should_be_retained_for_mms_with_text
22
+ mail = TMail::Mail.parse(load_mail('helio-message-01.mail').join)
23
+ mms = MMS2R::Media.new(mail)
24
+ assert_equal 1, mms.media.size
25
+ assert_equal 1, mms.media['text/plain'].size
26
+ mms.purge
27
+ end
28
+
29
+ def test_number_should_return_correct_number
30
+ mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
31
+ mms = MMS2R::Media.new(mail)
32
+ number = mms.number()
33
+ assert_equal number, 5551234.to_s
34
+ mms.purge
35
+ end
36
+
37
+ def test_subject_should_return_correct_subject
38
+ mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
39
+ mms = MMS2R::Media.new(mail)
40
+ title = mms.subject()
41
+ assert_equal title, "Test image"
42
+ mms.purge
43
+ end
44
+
45
+ def test_body_should_return_correct_body
46
+ mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
47
+ mms = MMS2R::Media.new(mail)
48
+ body = mms.body()
49
+ assert_equal body, "Test image"
50
+ mms.purge
51
+ end
52
+
53
+ def test_attachment_should_return_jpeg
54
+ mail = TMail::Mail.parse(load_mail('helio-image-01.mail').join)
55
+ mms = MMS2R::Media.new(mail)
56
+ image = mms.default_media()
57
+ assert_not_nil mms.media['image/jpeg'][0]
58
+ assert_match(/0628070005.jpg$/, mms.media['image/jpeg'][0])
59
+ mms.purge
60
+ end
61
+
62
+ end
@@ -0,0 +1,52 @@
1
+ require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
+ 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
+
9
+ class TestMmsNetcomNo < Test::Unit::TestCase
10
+ include MMS2R::TestHelper
11
+
12
+ def test_subject
13
+ mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
14
+ mms = MMS2R::Media.new(mail)
15
+ assert_equal "Morning greetings from norway. This is a", mms.subject
16
+
17
+ mms.purge
18
+ end
19
+
20
+ def test_image
21
+ mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
22
+ mms = MMS2R::Media.new(mail)
23
+
24
+ assert_equal 2, mms.media.size
25
+ assert_not_nil mms.media['text/plain']
26
+ assert_equal 1, mms.media['text/plain'].size
27
+ assert_not_nil mms.media['image/jpeg']
28
+ assert_equal 1, mms.media['image/jpeg'].size
29
+ assert_file_size mms.media['image/jpeg'].first, 337
30
+
31
+ mms.purge
32
+ end
33
+
34
+ def test_default_media_should_return_user_generated_content
35
+ mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
36
+ mms = MMS2R::Media.new(mail)
37
+ file = mms.default_media
38
+ assert_equal 337, file.size
39
+
40
+ mms.purge
41
+ end
42
+
43
+ def test_default_text_should_return_user_generated_content
44
+ mail = TMail::Mail.parse(load_mail('netcom-image-01.mail').join)
45
+ mms = MMS2R::Media.new(mail)
46
+ file = mms.default_text
47
+ assert_equal "Morning greetings from norway. This is a mms from norwegian carrier netcom.", file.read
48
+
49
+ mms.purge
50
+ end
51
+
52
+ end
@@ -0,0 +1,53 @@
1
+ require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
+ 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
+
9
+ class TestMmsO2onlineDe < Test::Unit::TestCase
10
+ include MMS2R::TestHelper
11
+
12
+ def test_subject
13
+ mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
14
+ mms = MMS2R::Media.new(mail)
15
+ assert_equal "this is a subject", mms.subject
16
+ mms.purge
17
+ end
18
+
19
+ def test_image
20
+ mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
21
+ mms = MMS2R::Media.new(mail)
22
+
23
+ # o2 is ungly, you cant' tel the logo is different than user content by its file name
24
+ assert_equal 2, mms.media.size
25
+ assert_not_nil mms.media['text/plain']
26
+ assert_equal 1, mms.media['text/plain'].size
27
+ assert_not_nil mms.media['image/jpeg']
28
+ assert_equal 2, mms.media['image/jpeg'].size
29
+ assert mms.media['image/jpeg'].detect{|f| File.size(f) == 337}
30
+
31
+ mms.purge
32
+ end
33
+
34
+ def test_default_media_should_return_user_generated_content
35
+ mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
36
+ mms = MMS2R::Media.new(mail)
37
+ file = mms.default_media
38
+ assert_equal 1275, file.size
39
+
40
+ mms.purge
41
+ end
42
+
43
+ def test_default_text_should_return_user_generated_content
44
+ mail = TMail::Mail.parse(load_mail('o2-de-image-01.mail').join)
45
+ mms = MMS2R::Media.new(mail)
46
+ file = mms.default_text
47
+ #assert_equal 42, file.size
48
+ assert_equal "This is text before the image. Thank you!\n", file.read
49
+
50
+ mms.purge
51
+ end
52
+
53
+ end
@@ -0,0 +1,42 @@
1
+ require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
+ 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
+
9
+ class TestMmsThreeCoUk < Test::Unit::TestCase
10
+ include MMS2R::TestHelper
11
+
12
+ def test_subject
13
+ mail = TMail::Mail.parse(load_mail('three-uk-image-01.mail').join)
14
+ mms = MMS2R::Media.new(mail)
15
+ assert_equal "", mms.subject
16
+
17
+ mms.purge
18
+ end
19
+
20
+ def test_image
21
+ mail = TMail::Mail.parse(load_mail('three-uk-image-01.mail').join)
22
+ mms = MMS2R::Media.new(mail)
23
+
24
+ assert_equal 1, mms.media.size
25
+ assert_not_nil mms.media['image/jpeg']
26
+ assert_equal 1, mms.media['image/jpeg'].size
27
+ assert_match(/17102007.jpg$/, mms.media['image/jpeg'].first)
28
+ assert_file_size mms.media['image/jpeg'].first, 337
29
+
30
+ mms.purge
31
+ end
32
+
33
+ def test_default_media_should_return_user_generated_content
34
+ mail = TMail::Mail.parse(load_mail('three-uk-image-01.mail').join)
35
+ mms = MMS2R::Media.new(mail)
36
+ file = mms.default_media
37
+ assert_equal '17102007.jpg', file.original_filename
38
+
39
+ mms.purge
40
+ end
41
+
42
+ end
@@ -0,0 +1,107 @@
1
+ require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
+ 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
+
9
+ class TestMmsVodacom4meCoZa < Test::Unit::TestCase
10
+ include MMS2R::TestHelper
11
+
12
+ def test_image_only
13
+ mail = TMail::Mail.parse(load_mail('vodacom4me-co-za-01.mail').join)
14
+ mms = MMS2R::Media.new(mail)
15
+
16
+ assert_nil mms.media['text/plain']
17
+ assert_nil mms.media['text/html']
18
+
19
+ assert_not_nil mms.media['image/jpeg'].first
20
+ assert_match(/Ugly\.jpg$/, mms.media['image/jpeg'].first)
21
+ mms.purge
22
+ end
23
+
24
+ def test_should_have_phone_number
25
+ mail = TMail::Mail.parse(load_mail('vodacom4me-co-za-01.mail').join)
26
+ mms = MMS2R::Media.new(mail)
27
+
28
+ assert_equal '+2068675309', mms.number
29
+
30
+ mms.purge
31
+ end
32
+
33
+ def test_image_and_text
34
+ mail = TMail::Mail.parse(load_mail('vodacom4me-co-za-02.mail').join)
35
+ mms = MMS2R::Media.new(mail)
36
+
37
+ assert_not_nil mms.media['text/plain']
38
+ assert_equal "Hello World", open(mms.media['text/plain'].first).read
39
+
40
+ assert_nil mms.media['text/html']
41
+
42
+ assert_not_nil mms.media['image/jpeg'].first
43
+ assert_match(/DSC00184\.JPG$/, mms.media['image/jpeg'].first)
44
+ mms.purge
45
+ end
46
+
47
+ def test_new_image_and_number
48
+ mail = TMail::Mail.parse(load_mail('vodacom4me-southafrica-mms-01.mail').join)
49
+ mms = MMS2R::Media.new(mail)
50
+
51
+ assert_nil mms.media['text/plain']
52
+ assert_nil mms.media['text/html']
53
+ assert_equal '+12345678901', mms.number
54
+
55
+ assert_equal 1, mms.media.size
56
+ assert_equal 1, mms.media['image/gif'].size
57
+ assert_not_nil mms.media['image/gif'].first
58
+ assert_match(/127612345678901h5mmqcMPXEMPXE40mms.vodacom4me.co.za-slide-0-image.gif$/, mms.media['image/gif'].first)
59
+ mms.purge
60
+ end
61
+
62
+ def test_new_lots_of_images
63
+ mail = TMail::Mail.parse(load_mail('vodacom4me-southafrica-mms-04.mail').join)
64
+ mms = MMS2R::Media.new(mail)
65
+
66
+ assert_nil mms.media['text/plain']
67
+ assert_nil mms.media['text/html']
68
+ assert_equal '+12345678901', mms.number
69
+
70
+ assert_not_nil mms.media['image/gif'].at(0)
71
+ assert_match(/ZedLandingMedium\.gif$/, mms.media['image/gif'].at(0))
72
+
73
+ assert_not_nil mms.media['image/jpeg'].at(0)
74
+ assert_match(/240x320_thumb\.jpg\.\.jpeg$/, mms.media['image/jpeg'].at(0))
75
+
76
+ assert_not_nil mms.media['image/jpeg'].at(1)
77
+ assert_match(/240x320_thumb\.jpg\.jpeg$/, mms.media['image/jpeg'].at(1))
78
+
79
+ assert_not_nil mms.media['image/jpeg'].at(2)
80
+ assert_match(/wallpaper1940_thumb\.jpg\.jpeg$/, mms.media['image/jpeg'].at(2))
81
+
82
+ assert_not_nil mms.media['image/jpeg'].at(3)
83
+ assert_match(/playboy\.jpg\.jpeg$/, mms.media['image/jpeg'].at(3))
84
+
85
+ assert_not_nil mms.media['image/gif'].at(1)
86
+ assert_match(/h1_170_30\.gif$/, mms.media['image/gif'].at(1))
87
+
88
+ assert_not_nil mms.media['image/jpeg'].at(4)
89
+ assert_match(/banner0\.jpg\.jpeg$/, mms.media['image/jpeg'].at(4))
90
+
91
+ assert_not_nil mms.media['image/gif'].at(2)
92
+ assert_match(/adv_act_list\.gif$/, mms.media['image/gif'].at(2))
93
+
94
+ assert_not_nil mms.media['image/gif'].at(3)
95
+ assert_match(/adv_act_next\.gif$/, mms.media['image/gif'].at(3))
96
+
97
+ assert_not_nil mms.media['image/gif'].at(4)
98
+ assert_match(/adv_nav_back_cat_app_home\.gif$/, mms.media['image/gif'].at(4))
99
+
100
+ assert_not_nil mms.media['image/gif'].at(5)
101
+ assert_match(/adv_tab_mypage\.gif$/, mms.media['image/gif'].at(5))
102
+
103
+ assert_not_nil mms.media['image/jpeg'].at(5)
104
+ assert_match(/creaturecomforts8_240x320_thumb\.jpg\.jpeg/, mms.media['image/jpeg'].at(5))
105
+ mms.purge
106
+ end
107
+ end
@@ -0,0 +1,52 @@
1
+ require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
+ 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
+
9
+ class TestMobileIndosatNetId < Test::Unit::TestCase
10
+ include MMS2R::TestHelper
11
+
12
+ def test_mms_indosat_with_yahoo_service
13
+ # mobile.indosat.net.id service
14
+ mail = TMail::Mail.parse(load_mail('indosat-image-01.mail').join)
15
+ mms = MMS2R::Media.new(mail)
16
+ assert_equal "mobile.indosat.net.id", mms.carrier
17
+ assert_equal "", mms.subject
18
+ assert_nil mms.media['text/html']
19
+ assert_equal 2, mms.media.size
20
+ assert_not_nil mms.media['image/jpeg']
21
+ assert_equal 1, mms.media['image/jpeg'].size
22
+ assert_not_nil mms.media['image/jpeg'].first
23
+ assert_match(/Foto_14_.jpg/, mms.media['image/jpeg'].first)
24
+ assert_file_size(mms.media['image/jpeg'].first, 337)
25
+ assert_equal "Hello World", mms.default_text.read
26
+ mms.purge
27
+ end
28
+
29
+ def test_mms_indosat_phone_number_with_yahoo_service
30
+ # mobile.indosat.net.id service
31
+ mail = TMail::Mail.parse(load_mail('indosat-image-01.mail').join)
32
+ mms = MMS2R::Media.new(mail)
33
+ assert_equal "2068675309", mms.number
34
+ mms.purge
35
+ end
36
+
37
+ def test_mms_indosat
38
+ # mobile.indosat.net.id service
39
+ mail = TMail::Mail.parse(load_mail('indosat-image-02.mail').join)
40
+ mms = MMS2R::Media.new(mail)
41
+ assert_equal "mobile.indosat.net.id", mms.carrier
42
+ assert_equal "Please pick up while I prepair another.", mms.subject
43
+ assert_nil mms.media['text/html']
44
+ assert_equal 1, mms.media.size
45
+ assert_not_nil mms.media['image/jpeg']
46
+ assert_equal 1, mms.media['image/jpeg'].size
47
+ assert_not_nil mms.media['image/jpeg'].first
48
+ assert_match(/6033_small.jpeg/, mms.media['image/jpeg'].first)
49
+ assert_file_size(mms.media['image/jpeg'].first, 337)
50
+ mms.purge
51
+ end
52
+ end
@@ -0,0 +1,28 @@
1
+ require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
+ 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
+
9
+ class TestMsgTelusCom < Test::Unit::TestCase
10
+ include MMS2R::TestHelper
11
+
12
+ def test_subject_number_image
13
+ mail = TMail::Mail.parse(load_mail('telus-image-01.mail').join)
14
+ mms = MMS2R::Media.new(mail)
15
+
16
+ assert_equal "", mms.subject
17
+ assert_equal "2068675309", mms.number
18
+
19
+ assert_equal 1, mms.media.size
20
+ assert_equal 1, mms.media['image/jpeg'].size
21
+
22
+ image = mms.media['image/jpeg'].detect{|f| /Lil%20bud%202.jpg/ =~ f}
23
+ assert_equal 337, File.size(image)
24
+
25
+ mms.purge
26
+ end
27
+
28
+ end
@@ -0,0 +1,100 @@
1
+ require File.join(File.dirname(__FILE__), "..", "lib", "mms2r")
2
+ 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
+
9
+ class TestOrangemmsNet < Test::Unit::TestCase
10
+ include MMS2R::TestHelper
11
+
12
+ def test_orangemms_subject
13
+ # orangemms.net service
14
+ mail = TMail::Mail.parse(load_mail('orange-uk-image-01.mail').join)
15
+ mms = MMS2R::Media.new(mail)
16
+ assert_equal "", mms.subject
17
+ mms.purge
18
+ end
19
+
20
+ def test_orangemms_image
21
+ # orangemms.net service
22
+ mail = TMail::Mail.parse(load_mail('orange-uk-image-01.mail').join)
23
+ mms = MMS2R::Media.new(mail)
24
+
25
+ assert_equal 1, mms.media.size
26
+ assert_nil mms.media['text/plain']
27
+ assert_nil mms.media['text/html']
28
+ assert_not_nil mms.media['image/jpeg'][0]
29
+ assert_match(/picture.jpg$/, mms.media['image/jpeg'][0])
30
+
31
+ assert_file_size mms.media['image/jpeg'][0], 337
32
+
33
+ mms.purge
34
+ end
35
+
36
+ def test_orange_france_subject
37
+ # orange.fr service
38
+ mail = TMail::Mail.parse(load_mail('orangefrance-text-and-image.mail').join)
39
+ mms = MMS2R::Media.new(mail)
40
+ assert_equal "", mms.subject
41
+ mms.purge
42
+ end
43
+
44
+ def test_orange_france_processed_content
45
+ # orange.fr service
46
+ mail = TMail::Mail.parse(load_mail('orangefrance-text-and-image.mail').join)
47
+ mms = MMS2R::Media.new(mail)
48
+
49
+ # there should be one text and one image
50
+ assert_equal 2, mms.media.size
51
+
52
+ #text
53
+ # there is a text banner that Orange attaches but
54
+ # that should be ignored
55
+ assert_not_nil mms.media['text/plain']
56
+ assert_equal 1, mms.media['text/plain'].size
57
+ file = mms.media['text/plain'].first
58
+ assert File::exist?(file), "file #{file} does not exist"
59
+ text = IO.readlines("#{file}").join
60
+ assert_match(/Test ma poule/, text)
61
+
62
+ # image
63
+ assert_not_nil mms.media['image/jpeg']
64
+ assert_equal 1, mms.media['image/jpeg'].size
65
+ assert_match(/IMAGE.jpeg$/, mms.media['image/jpeg'].first)
66
+ assert_file_size mms.media['image/jpeg'].first, 337
67
+
68
+ mms.purge
69
+ end
70
+
71
+ def test_orange_poland_subject
72
+ # mmsemail.orange.pl service
73
+ mail = TMail::Mail.parse(load_mail('orangepoland-text-01.mail').join)
74
+ mms = MMS2R::Media.new(mail)
75
+ assert_equal "", mms.subject
76
+ mms.purge
77
+ end
78
+
79
+ def test_orange_poland_non_empty_subject
80
+ # mmsemail.orange.pl service
81
+ mail = TMail::Mail.parse(load_mail('orangepoland-text-02.mail').join)
82
+ mms = MMS2R::Media.new(mail)
83
+ assert mms.subject, "whazzup"
84
+ mms.purge
85
+ end
86
+
87
+ def test_orange_poland_content
88
+ # mmsemail.orange.pl service
89
+ mail = TMail::Mail.parse(load_mail('orangepoland-text-01.mail').join)
90
+ mms = MMS2R::Media.new(mail)
91
+ assert_not_nil mms.media['text/plain']
92
+ file = mms.media['text/plain'][0]
93
+ assert_not_nil file
94
+ assert File::exist?(file), "file #{file} does not exist"
95
+ text = IO.readlines("#{file}").join
96
+ assert_match(/pozdro600/, text)
97
+ mms.purge
98
+ end
99
+
100
+ end