jpmobile 5.2.4 → 6.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -1
  3. data/.onkcop-config.yml +396 -0
  4. data/.rubocop.yml +71 -10
  5. data/.ruby-version +1 -1
  6. data/Gemfile +1 -1
  7. data/Gemfile.lock +157 -129
  8. data/README.md +2 -2
  9. data/jpmobile.gemspec +5 -1
  10. data/lib/jpmobile.rb +1 -0
  11. data/lib/jpmobile/configuration.rb +7 -3
  12. data/lib/jpmobile/docomo_guid.rb +2 -2
  13. data/lib/jpmobile/email.rb +2 -4
  14. data/lib/jpmobile/emoticon.rb +16 -23
  15. data/lib/jpmobile/filter.rb +9 -4
  16. data/lib/jpmobile/hook_action_view.rb +4 -10
  17. data/lib/jpmobile/hook_test_request.rb +1 -1
  18. data/lib/jpmobile/mail.rb +7 -7
  19. data/lib/jpmobile/mailer.rb +1 -1
  20. data/lib/jpmobile/mobile/abstract_mobile.rb +1 -1
  21. data/lib/jpmobile/mobile/android.rb +1 -1
  22. data/lib/jpmobile/mobile/au.rb +2 -2
  23. data/lib/jpmobile/mobile/black_berry.rb +1 -1
  24. data/lib/jpmobile/mobile/ddipocket.rb +1 -1
  25. data/lib/jpmobile/mobile/docomo.rb +6 -8
  26. data/lib/jpmobile/mobile/emobile.rb +2 -2
  27. data/lib/jpmobile/mobile/ipad.rb +1 -1
  28. data/lib/jpmobile/mobile/iphone.rb +1 -1
  29. data/lib/jpmobile/mobile/softbank.rb +2 -2
  30. data/lib/jpmobile/mobile/vodafone.rb +2 -2
  31. data/lib/jpmobile/mobile/willcom.rb +2 -2
  32. data/lib/jpmobile/mobile/windows_phone.rb +1 -1
  33. data/lib/jpmobile/rack/params_filter.rb +5 -4
  34. data/lib/jpmobile/rails.rb +9 -41
  35. data/lib/jpmobile/resolver.rb +4 -37
  36. data/lib/jpmobile/session/active_record_store.rb +1 -1
  37. data/lib/jpmobile/session/mem_cache_store.rb +1 -1
  38. data/lib/jpmobile/trans_sid.rb +1 -1
  39. data/lib/jpmobile/util.rb +4 -5
  40. data/lib/jpmobile/version.rb +1 -1
  41. data/lib/tasks/jpmobile_tasks.rake +4 -4
  42. data/spec/rack/jpmobile/emoticon_spec.rb +48 -48
  43. data/spec/rack_helper.rb +1 -5
  44. data/spec/unit/email_spec.rb +1 -1
  45. data/spec/unit/receive_mail_spec.rb +10 -10
  46. data/spec/unit/util_spec.rb +4 -4
  47. data/test/rails/overrides/Gemfile.jpmobile +1 -1
  48. data/test/rails/overrides/app/controllers/mobile_spec_controller.rb +1 -1
  49. data/test/rails/overrides/app/mailboxes/application_mailbox.rb +3 -0
  50. data/test/rails/overrides/app/mailboxes/mobile_mailer_mailbox.rb +5 -0
  51. data/test/rails/overrides/app/mailers/decorated_mailer.rb +1 -1
  52. data/test/rails/overrides/db/migrate/20201111033056_create_active_storage_tables.active_storage.rb +36 -0
  53. data/test/rails/overrides/db/migrate/20201111033057_create_action_mailbox_tables.action_mailbox.rb +14 -0
  54. data/test/rails/overrides/spec/controllers/docomo_guid_spec.rb +2 -2
  55. data/test/rails/overrides/spec/controllers/hankaku_filter_controller_spec.rb +1 -1
  56. data/test/rails/overrides/spec/controllers/template_path_spec.rb +2 -0
  57. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/au-attached.eml +0 -0
  58. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/au-decomail.eml +0 -0
  59. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/au-emoji.eml +0 -0
  60. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/au-emoji2.eml +0 -0
  61. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/au-emoji5.eml +0 -0
  62. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/bounced-jp.eml +0 -0
  63. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/docomo-emoji.eml +0 -0
  64. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/docomo-gmail-sjis.eml +0 -0
  65. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/docomo-jis.eml +0 -0
  66. data/{spec/unit/email-fixtures → test/rails/overrides/spec/fixtures/files/mobile_mailer}/iphone-message.eml +0 -0
  67. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/no-from.eml +0 -0
  68. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/non-jp.eml +0 -0
  69. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/photo.jpg +0 -0
  70. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/softbank-blank.eml +0 -0
  71. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/softbank-emoji-utf8.eml +0 -0
  72. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/softbank-emoji.eml +0 -0
  73. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/softbank-gmail-sjis.eml +0 -0
  74. data/test/rails/overrides/spec/fixtures/{mobile_mailer → files/mobile_mailer}/softbank-gmail-utf8.eml +0 -0
  75. data/test/rails/overrides/spec/mailboxes/mobile_mailer_mailbox_spec.rb +265 -0
  76. data/test/rails/overrides/spec/mailers/mobile_mailer_spec.rb +0 -305
  77. data/test/rails/overrides/spec/requests/emobile_spec.rb +2 -2
  78. data/test/rails/overrides/spec/requests/trans_sid_spec.rb +9 -9
  79. metadata +81 -43
@@ -1,47 +1,14 @@
1
1
  module Jpmobile
2
- class Resolver < ActionView::FileSystemResolver
2
+ class Resolver < ::ActionView::FileSystemResolver
3
3
  EXTENSIONS = [:locale, :formats, :handlers, :mobile].freeze
4
4
  DEFAULT_PATTERN = ':prefix/:action{_:mobile,}{.:locale,}{.:formats,}{+:variants,}{.:handlers,}'.freeze
5
5
 
6
- def initialize(path, pattern = nil)
6
+ def initialize(path)
7
7
  raise ArgumentError, 'path already is a Resolver class' if path.is_a?(Resolver)
8
8
 
9
- super(path, pattern || DEFAULT_PATTERN)
9
+ super
10
+ @pattern = DEFAULT_PATTERN
10
11
  @path = File.expand_path(path)
11
12
  end
12
-
13
- private
14
-
15
- def query(path, details, formats, outside_app_allowed)
16
- query = build_query(path, details)
17
-
18
- template_paths = find_template_paths(query)
19
- template_paths = reject_files_external_to_app(template_paths) unless outside_app_allowed
20
-
21
- template_paths.map do |template|
22
- handler, format, variant = extract_handler_and_format_and_variant(template)
23
- contents = File.binread(template)
24
-
25
- virtual_path = if format
26
- if template =~ /.+#{path}(.+)\.#{format.to_sym.to_s}.*$/
27
- path.to_str + Regexp.last_match(1)
28
- else
29
- path.virtual
30
- end
31
- else
32
- path.virtual
33
- end
34
-
35
- ActionView::Template.new(
36
- contents,
37
- File.expand_path(template),
38
- handler,
39
- virtual_path: virtual_path,
40
- format: format,
41
- variant: variant,
42
- updated_at: mtime(template),
43
- )
44
- end
45
- end
46
13
  end
47
14
  end
@@ -8,4 +8,4 @@ module Jpmobile
8
8
  end
9
9
  end
10
10
 
11
- ActionDispatch::Session::ActiveRecordStore.send :prepend, Jpmobile::ActiveRecordStoreRegenerateSessionId
11
+ ActionDispatch::Session::ActiveRecordStore.prepend Jpmobile::ActiveRecordStoreRegenerateSessionId
@@ -8,4 +8,4 @@ module Jpmobile
8
8
  end
9
9
  end
10
10
 
11
- ActionDispatch::Session::MemCacheStore.send :prepend, Jpmobile::MemCacheStoreRegenerateSessionId
11
+ ActionDispatch::Session::MemCacheStore.prepend Jpmobile::MemCacheStoreRegenerateSessionId
@@ -51,7 +51,7 @@ module Jpmobile
51
51
 
52
52
  # session_idを埋め込むためのhidden fieldを出力する。
53
53
  def sid_hidden_field_tag
54
- "<input type=\"hidden\" name=\"#{CGI.escapeHTML session_key}\" value=\"#{CGI.escapeHTML jpmobile_session_id}\" />"
54
+ "<input type=\"hidden\" name=\"#{CGI.escapeHTML(session_key.to_s)}\" value=\"#{CGI.escapeHTML(jpmobile_session_id.to_s)}\" />"
55
55
  end
56
56
 
57
57
  # formにsession_idを追加する。
@@ -255,9 +255,8 @@ module Jpmobile
255
255
  SJIS
256
256
  when ::Encoding::UTF_8
257
257
  UTF8
258
- when ::Encoding::ASCII_8BIT
259
- BINARY
260
258
  else
259
+ # 上記以外はすべて BINARY 扱い
261
260
  BINARY
262
261
  end
263
262
  end
@@ -297,7 +296,7 @@ module Jpmobile
297
296
 
298
297
  def invert_table(hash)
299
298
  result = {}
300
- hash.keys.each do |key|
299
+ hash.each_key do |key|
301
300
  if result[hash[key]]
302
301
  if !key.is_a?(Array) && !result[hash[key]].is_a?(Array) && result[hash[key]] > key
303
302
  result[hash[key]] = key
@@ -312,9 +311,9 @@ module Jpmobile
312
311
  def decode(str, encoding, charset)
313
312
  _str = case encoding
314
313
  when /quoted-printable/i
315
- str.unpack('M').first.strip
314
+ str.unpack1('M').strip
316
315
  when /base64/i
317
- str.unpack('m').first.strip
316
+ str.unpack1('m').strip
318
317
  else
319
318
  str
320
319
  end
@@ -1,3 +1,3 @@
1
1
  module Jpmobile
2
- VERSION = '5.2.4'.freeze
2
+ VERSION = '6.1.1'.freeze
3
3
  end
@@ -33,7 +33,7 @@ namespace :test do
33
33
  # generate rails app
34
34
  FileUtils.rm_rf(rails_root)
35
35
  FileUtils.mkdir_p(rails_root)
36
- `rails new #{rails_root} --skip-bundle`
36
+ `rails new #{rails_root} --skip-bundle --skip-bootsnap --skip-webpack-install --skip-git --skip-spring`
37
37
  end
38
38
 
39
39
  # setup jpmobile
@@ -94,8 +94,8 @@ namespace :test do
94
94
 
95
95
  unless skip
96
96
  # add gems for jpmobile spec
97
- config_path = File.join(rails_root, 'Gemfile')
98
- File.open(config_path, 'a+') do |file|
97
+ gemfile_path = File.join(rails_root, 'Gemfile')
98
+ File.open(gemfile_path, 'a+') do |file|
99
99
  file.write <<-GEMFILE
100
100
  instance_eval File.read(File.expand_path(__FILE__) + '.jpmobile')
101
101
  GEMFILE
@@ -104,7 +104,7 @@ namespace :test do
104
104
 
105
105
  # run tests in rails
106
106
  Dir.chdir(rails_root) do
107
- Bundler.with_clean_env do
107
+ Bundler.with_unbundled_env do
108
108
  original_env = ENV.to_hash
109
109
 
110
110
  ENV.update('RBENV_VERSION' => nil)
@@ -28,23 +28,23 @@ describe '絵文字が' do
28
28
  end
29
29
 
30
30
  it 'docomo 絵文字が変換されないこと' do
31
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)[2]
31
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)
32
32
  expect(response_body(response)).to eq(@docomo_cr)
33
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)[2]
33
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)
34
34
  expect(response_body(response)).to eq(@docomo_utf8)
35
35
  end
36
36
 
37
37
  it 'au 絵文字が変換されないこと' do
38
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)[2]
38
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)
39
39
  expect(response_body(response)).to eq(@au_cr)
40
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)[2]
40
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)
41
41
  expect(response_body(response)).to eq(@au_utf8)
42
42
  end
43
43
 
44
44
  it 'softbank 絵文字が変換されないこと' do
45
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)[2]
45
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)
46
46
  expect(response_body(response)).to eq(@softbank_cr)
47
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)[2]
47
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)
48
48
  expect(response_body(response)).to eq(@softbank_utf8)
49
49
  end
50
50
  end
@@ -72,38 +72,38 @@ describe '絵文字が' do
72
72
  end
73
73
 
74
74
  it 'docomo 絵文字が画像に変換されること' do
75
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)[2]
75
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)
76
76
  expect(response_body(response)).to eq("<img src=\"#{@path}/sun.gif\" alt=\"sun\" />")
77
77
  end
78
78
 
79
79
  it 'docomo 絵文字コードが画像に変換されること' do
80
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)[2]
80
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)
81
81
  expect(response_body(response)).to eq("<img src=\"#{@path}/sun.gif\" alt=\"sun\" />")
82
82
  end
83
83
 
84
84
  it 'au 絵文字が画像に変換されること' do
85
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)[2]
85
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)
86
86
  expect(response_body(response)).to eq("<img src=\"#{@path}/sun.gif\" alt=\"sun\" />")
87
87
  end
88
88
 
89
89
  it 'au 絵文字コードが画像に変換されること' do
90
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)[2]
90
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)
91
91
  expect(response_body(response)).to eq("<img src=\"#{@path}/sun.gif\" alt=\"sun\" />")
92
92
  end
93
93
 
94
94
  it 'softbank 絵文字が画像に変換されること' do
95
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)[2]
95
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)
96
96
  expect(response_body(response)).to eq("<img src=\"#{@path}/sun.gif\" alt=\"sun\" />")
97
97
  end
98
98
 
99
99
  it 'softbank 絵文字コードが画像に変換されること' do
100
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)[2]
100
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)
101
101
  expect(response_body(response)).to eq("<img src=\"#{@path}/sun.gif\" alt=\"sun\" />")
102
102
  end
103
103
 
104
104
  it 'Content-Type が変換できないものである場合には変換しないこと' do
105
105
  @res = Rack::MockRequest.env_for('/', 'Content-Type' => 'image/jpeg')
106
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)[2]
106
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)
107
107
  expect(response_body(response)).to eq(@softbank_utf8)
108
108
  end
109
109
  end
@@ -118,26 +118,26 @@ describe '絵文字が' do
118
118
  end
119
119
 
120
120
  it 'docomo 絵文字が変換されること' do
121
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)[2]
121
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)
122
122
  expect(response_body(response)).to eq(sjis("\xf8\x9f"))
123
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)[2]
123
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)
124
124
  expect(response_body(response)).to eq(sjis("\xf8\x9f"))
125
125
 
126
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_docomopoint))).call(@res)[2]
126
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_docomopoint))).call(@res)
127
127
  expect(response_body(response)).to eq(sjis("\xf9\x79"))
128
128
  end
129
129
 
130
130
  it 'au 絵文字が変換されること' do
131
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)[2]
131
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)
132
132
  expect(response_body(response)).to eq(sjis("\xf8\x9f"))
133
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)[2]
133
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)
134
134
  expect(response_body(response)).to eq(sjis("\xf8\x9f"))
135
135
  end
136
136
 
137
137
  it 'softbank 絵文字が変換されること' do
138
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)[2]
138
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)
139
139
  expect(response_body(response)).to eq(sjis("\xf8\x9f"))
140
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)[2]
140
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)
141
141
  expect(response_body(response)).to eq(sjis("\xf8\x9f"))
142
142
  end
143
143
 
@@ -167,26 +167,26 @@ describe '絵文字が' do
167
167
  end
168
168
 
169
169
  it 'docomo 絵文字が変換されること' do
170
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)[2]
170
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)
171
171
  expect(response_body(response)).to eq(sjis("\xf6\x60"))
172
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)[2]
172
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)
173
173
  expect(response_body(response)).to eq(sjis("\xf6\x60"))
174
174
 
175
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_docomopoint))).call(@res)[2]
175
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_docomopoint))).call(@res)
176
176
  expect(response_body(response)).to eq(utf8_to_sjis('[ドコモポイント]'))
177
177
  end
178
178
 
179
179
  it 'au 絵文字が変換されること' do
180
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)[2]
180
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)
181
181
  expect(response_body(response)).to eq(sjis("\xf6\x60"))
182
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)[2]
182
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)
183
183
  expect(response_body(response)).to eq(sjis("\xf6\x60"))
184
184
  end
185
185
 
186
186
  it 'softbank 絵文字が変換されること' do
187
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)[2]
187
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)
188
188
  expect(response_body(response)).to eq(sjis("\xf6\x60"))
189
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)[2]
189
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)
190
190
  expect(response_body(response)).to eq(sjis("\xf6\x60"))
191
191
  end
192
192
 
@@ -216,26 +216,26 @@ describe '絵文字が' do
216
216
  end
217
217
 
218
218
  it 'docomo 絵文字が変換されること' do
219
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)[2]
219
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_cr))).call(@res)
220
220
  expect(response_body(response)).to eq([0xe04a].pack('U'))
221
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)[2]
221
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_utf8))).call(@res)
222
222
  expect(response_body(response)).to eq([0xe04a].pack('U'))
223
223
 
224
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_docomopoint))).call(@res)[2]
224
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@docomo_docomopoint))).call(@res)
225
225
  expect(response_body(response)).to eq('[ドコモポイント]')
226
226
  end
227
227
 
228
228
  it 'au 絵文字が変換されること' do
229
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)[2]
229
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_cr))).call(@res)
230
230
  expect(response_body(response)).to eq([0xe04a].pack('U'))
231
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)[2]
231
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@au_utf8))).call(@res)
232
232
  expect(response_body(response)).to eq([0xe04a].pack('U'))
233
233
  end
234
234
 
235
235
  it 'softbank 絵文字が変換されること' do
236
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)[2]
236
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)
237
237
  expect(response_body(response)).to eq([0xe04a].pack('U'))
238
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)[2]
238
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)
239
239
  expect(response_body(response)).to eq([0xe04a].pack('U'))
240
240
  end
241
241
 
@@ -265,9 +265,9 @@ describe '絵文字が' do
265
265
  end
266
266
 
267
267
  it 'softbank 絵文字が変換されること' do
268
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)[2]
268
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)
269
269
  expect(response_body(response)).to eq([0xe04a].pack('U'))
270
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)[2]
270
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)
271
271
  expect(response_body(response)).to eq([0xe04a].pack('U'))
272
272
  end
273
273
 
@@ -298,9 +298,9 @@ describe '絵文字が' do
298
298
  end
299
299
 
300
300
  it 'should convert Softbank emoticon' do
301
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)[2]
301
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_cr))).call(@res)
302
302
  expect(response_body(response)).to eq([0xe04a].pack('U'))
303
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)[2]
303
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@softbank_utf8))).call(@res)
304
304
  expect(response_body(response)).to eq([0xe04a].pack('U'))
305
305
  end
306
306
 
@@ -320,7 +320,7 @@ describe '絵文字が' do
320
320
  end
321
321
 
322
322
  it 'should not convert 〓' do
323
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new('〓'))).call(@res)[2]
323
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new('〓'))).call(@res)
324
324
  expect(response_body(response)).to eq('〓')
325
325
  end
326
326
  end
@@ -337,9 +337,9 @@ describe '絵文字が' do
337
337
  end
338
338
 
339
339
  it 'should convert Unicode emoticon' do
340
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@unicode_single))).call(@res)[2]
340
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@unicode_single))).call(@res)
341
341
  expect(response_body(response)).to eq([0x2600].pack('U*'))
342
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@unicode_multi))).call(@res)[2]
342
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@unicode_multi))).call(@res)
343
343
  expect(response_body(response)).to eq([0x26C5].pack('U*'))
344
344
  end
345
345
 
@@ -359,7 +359,7 @@ describe '絵文字が' do
359
359
  end
360
360
 
361
361
  it 'should not convert 〓' do
362
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new('〓'))).call(@res)[2]
362
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new('〓'))).call(@res)
363
363
  expect(response_body(response)).to eq('〓')
364
364
  end
365
365
  end
@@ -381,9 +381,9 @@ describe '絵文字が' do
381
381
  end
382
382
 
383
383
  it 'should convert Google emoticon' do
384
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@google_single))).call(@res)[2]
384
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@google_single))).call(@res)
385
385
  expect(response_body(response)).to eq([0xFE000].pack('U*'))
386
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@google_multi))).call(@res)[2]
386
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@google_multi))).call(@res)
387
387
  expect(response_body(response)).to eq([0xFE00F].pack('U*'))
388
388
  end
389
389
 
@@ -403,7 +403,7 @@ describe '絵文字が' do
403
403
  end
404
404
 
405
405
  it 'should not convert 〓' do
406
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new('〓'))).call(@res)[2]
406
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new('〓'))).call(@res)
407
407
  expect(response_body(response)).to eq('〓')
408
408
  end
409
409
  end
@@ -418,9 +418,9 @@ describe '絵文字が' do
418
418
  end
419
419
 
420
420
  it 'should convert Google emoticon' do
421
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@google_single))).call(@res)[2]
421
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@google_single))).call(@res)
422
422
  expect(response_body(response)).to eq([0xFE000].pack('U*'))
423
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@google_multi))).call(@res)[2]
423
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new(@google_multi))).call(@res)
424
424
  expect(response_body(response)).to eq([0xFE00F].pack('U*'))
425
425
  end
426
426
 
@@ -440,7 +440,7 @@ describe '絵文字が' do
440
440
  end
441
441
 
442
442
  it 'should not convert 〓' do
443
- response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new('〓'))).call(@res)[2]
443
+ response = Jpmobile::MobileCarrier.new(Jpmobile::Filter.new(UnitApplication.new('〓'))).call(@res)
444
444
  expect(response_body(response)).to eq('〓')
445
445
  end
446
446
 
@@ -74,9 +74,7 @@ module Jpmobile::RackHelper
74
74
  def response_body(res)
75
75
  body = case res
76
76
  when Array
77
- res[2].body
78
- when String
79
- res.body
77
+ res[2]
80
78
  else
81
79
  res.body
82
80
  end
@@ -84,8 +82,6 @@ module Jpmobile::RackHelper
84
82
  case body
85
83
  when Array
86
84
  body.first
87
- when String
88
- body
89
85
  else
90
86
  body
91
87
  end
@@ -56,7 +56,7 @@ describe 'Jpmobile::Email' do
56
56
 
57
57
  describe 'japanese_mail_address_regexp' do
58
58
  before do
59
- Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp(?:[^a-zA-Z\.\-]|$)/)
59
+ Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp(?:[^a-zA-Z.\-]|$)/)
60
60
  end
61
61
 
62
62
  it '#detect_from_mail_header should return Jpmobile::Mobile::AbstractMobile when the header contains .jp address' do
@@ -7,7 +7,7 @@ describe 'Jpmobile::Mail#receive' do
7
7
 
8
8
  before(:each) do
9
9
  @to = 'info@jpmobile-rails.org'
10
- Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp[^a-zA-Z\.\-]/)
10
+ Jpmobile::Email.japanese_mail_address_regexp = Regexp.new(/\.jp[^a-zA-Z.\-]/)
11
11
  end
12
12
 
13
13
  describe 'PC mail' do
@@ -84,7 +84,7 @@ describe 'Jpmobile::Mail#receive' do
84
84
  describe 'Docomo' do
85
85
  context 'with sjis decomail' do
86
86
  before(:each) do
87
- @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/mobile_mailer/docomo-gmail-sjis.eml')).read)
87
+ @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/files/mobile_mailer/docomo-gmail-sjis.eml')).read)
88
88
  end
89
89
 
90
90
  it 'subject should be parsed correctly' do
@@ -129,7 +129,7 @@ describe 'Jpmobile::Mail#receive' do
129
129
 
130
130
  describe 'Au' do
131
131
  before(:each) do
132
- @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/mobile_mailer/au-decomail.eml')).read)
132
+ @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/files/mobile_mailer/au-decomail.eml')).read)
133
133
  end
134
134
 
135
135
  it 'subject should be parsed correctly' do
@@ -151,7 +151,7 @@ describe 'Jpmobile::Mail#receive' do
151
151
  describe 'Softbank' do
152
152
  context 'Shift_JIS' do
153
153
  before(:each) do
154
- @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/mobile_mailer/softbank-gmail-sjis.eml')).read)
154
+ @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/files/mobile_mailer/softbank-gmail-sjis.eml')).read)
155
155
  end
156
156
 
157
157
  it 'subject should be parsed correctly' do
@@ -170,7 +170,7 @@ describe 'Jpmobile::Mail#receive' do
170
170
 
171
171
  context 'UTF-8' do
172
172
  before(:each) do
173
- @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/mobile_mailer/softbank-gmail-utf8.eml')).read)
173
+ @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/files/mobile_mailer/softbank-gmail-utf8.eml')).read)
174
174
  end
175
175
 
176
176
  it 'subject should be parsed correctly' do
@@ -304,13 +304,13 @@ describe 'Jpmobile::Mail#receive' do
304
304
 
305
305
  context 'From au iPhone' do
306
306
  it 'charset should be UTF-8' do
307
- @mail = Mail.new(File.open(File.join(__dir__, 'email-fixtures/iphone-message.eml')).read)
307
+ @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/files/mobile_mailer/iphone-message.eml')).read)
308
308
  expect(@mail.mobile).to be_a(Jpmobile::Mobile::Au)
309
309
  expect(@mail.charset).to match(/utf-8/i)
310
310
  end
311
311
 
312
312
  it 'should be encoded correctly' do
313
- @mail = Mail.new(File.open(File.join(__dir__, 'email-fixtures/iphone-message.eml')).read)
313
+ @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/files/mobile_mailer/iphone-message.eml')).read)
314
314
  expect(@mail.encoded).to match(Regexp.escape("%[\e$B1`;yL>\e(B]%\e$B$N\e(B%[\e$BJ]8n<TL>\e(B]%"))
315
315
  end
316
316
 
@@ -435,7 +435,7 @@ describe 'Jpmobile::Mail#receive' do
435
435
  describe 'bounced mail' do
436
436
  context 'has jp address' do
437
437
  before(:each) do
438
- @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/mobile_mailer/bounced-jp.eml')).read)
438
+ @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/files/mobile_mailer/bounced-jp.eml')).read)
439
439
  end
440
440
 
441
441
  it 'mobile should abstract mobile' do
@@ -447,7 +447,7 @@ describe 'Jpmobile::Mail#receive' do
447
447
  describe 'non-Japanese mail' do
448
448
  context 'us-ascii' do
449
449
  before(:each) do
450
- @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/mobile_mailer/non-jp.eml')).read)
450
+ @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/files/mobile_mailer/non-jp.eml')).read)
451
451
  end
452
452
 
453
453
  it 'mobile should be nil' do
@@ -458,7 +458,7 @@ describe 'Jpmobile::Mail#receive' do
458
458
 
459
459
  context 'no From header' do
460
460
  before(:each) do
461
- @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/mobile_mailer/no-from.eml')).read)
461
+ @mail = Mail.new(File.open(File.join(__dir__, '../../test/rails/overrides/spec/fixtures/files/mobile_mailer/no-from.eml')).read)
462
462
  end
463
463
 
464
464
  it 'mobile should be nil' do