jpmobile 2.0.11 → 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.
- data/Gemfile +3 -4
- data/README.rdoc +5 -12
- data/Rakefile +1 -1
- data/VERSION.yml +2 -2
- data/jpmobile.gemspec +3 -2
- data/lib/jpmobile.rb +1 -15
- data/lib/jpmobile/emoticon.rb +2 -65
- data/lib/jpmobile/emoticon/z_combine.rb +1 -17
- data/lib/jpmobile/lookup_context.rb +1 -1
- data/lib/jpmobile/mail.rb +29 -59
- data/lib/jpmobile/mailer.rb +1 -1
- data/lib/jpmobile/mobile/abstract_mobile.rb +36 -60
- data/lib/jpmobile/mobile/android.rb +0 -2
- data/lib/jpmobile/mobile/iphone.rb +25 -1
- data/lib/jpmobile/rack.rb +1 -6
- data/lib/jpmobile/rails.rb +2 -2
- data/lib/jpmobile/resolver.rb +18 -13
- data/lib/jpmobile/trans_sid.rb +9 -8
- data/lib/jpmobile/util.rb +1 -54
- data/lib/tasks/jpmobile_tasks.rake +4 -4
- data/spec/rack/jpmobile/emoticon_spec.rb +0 -167
- data/spec/rack/jpmobile/mobile_by_ua_spec.rb +1 -5
- data/spec/unit/emoticon_spec.rb +0 -60
- data/spec/unit/mail_spec.rb +0 -86
- data/spec/unit/receive_mail_spec.rb +0 -46
- data/spec/unit/util_spec.rb +0 -43
- data/test/rails/overrides/Gemfile +4 -19
- data/test/rails/overrides/app/controllers/template_path_controller.rb +0 -12
- data/test/rails/overrides/spec/mailers/mobile_mailer_spec.rb +0 -10
- data/test/rails/overrides/spec/requests/template_path_spec.rb +0 -72
- metadata +43 -166
- data/lib/jpmobile/emoticon/google.rb +0 -2421
- data/lib/jpmobile/emoticon/unicode.rb +0 -2253
- data/lib/jpmobile/mobile/android_tablet.rb +0 -12
- data/lib/jpmobile/mobile/black_berry.rb +0 -10
- data/lib/jpmobile/mobile/google_emoticon.rb +0 -29
- data/lib/jpmobile/mobile/ipad.rb +0 -12
- data/lib/jpmobile/mobile/tablet.rb +0 -16
- data/lib/jpmobile/mobile/unicode_emoticon.rb +0 -43
- data/spec/rack/jpmobile/black_berry_spec.rb +0 -20
- data/spec/unit/email-fixtures/bounce_with_utf8_part.eml +0 -42
- data/spec/unit/email-fixtures/iphone-mail3.eml +0 -56
- data/spec/unit/email-fixtures/iphone-message.eml +0 -27
- data/spec/unit/mobile/iphone_spec.rb +0 -34
- data/spec/unit/variants_spec.rb +0 -128
- data/test/rails/overrides/app/views/template_path/smart_phone_only.html.erb +0 -1
- data/test/rails/overrides/app/views/template_path/smart_phone_only_smart_phone.html.erb +0 -1
- data/test/rails/overrides/app/views/template_path/with_ipd.html.erb +0 -1
- data/test/rails/overrides/app/views/template_path/with_ipd_tablet_ipad.html.erb +0 -1
- data/test/rails/overrides/app/views/template_path/with_tblt.html.erb +0 -1
- data/test/rails/overrides/app/views/template_path/with_tblt_tablet.html.erb +0 -1
- data/test/rails/overrides/spec/fixtures/mobile_mailer/bounced-jp.eml +0 -72
- data/tools/e4u_conv.rb +0 -122
@@ -19,12 +19,8 @@ describe Jpmobile::Rack::MobileCarrier do
|
|
19
19
|
[ Jpmobile::Mobile::Iphone , 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; ja-jp) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16' ],
|
20
20
|
[ Jpmobile::Mobile::Android , 'Mozilla/5.0 (Linux; U; Android 1.6; ja-jp; SonyEriccsonSO-01B Build/R1EA018) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1' ],
|
21
21
|
[ Jpmobile::Mobile::WindowsPhone , 'Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1 T-01A_6.5; Windows Phone 6.5)' ],
|
22
|
-
[ Jpmobile::Mobile::BlackBerry, 'BlackBerry9000/4.6.0.224 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/220' ],
|
23
|
-
[ Jpmobile::Mobile::Ipad , 'Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5'],
|
24
|
-
[ Jpmobile::Mobile::AndroidTablet, 'Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'],
|
25
|
-
[ Jpmobile::Mobile::AndroidTablet, 'Mozilla/5.0 (Linux; U; Android 3.2; ja-jp; Sony Tablet S Build/THMAS11002) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13'],
|
26
22
|
].each do |carrier, user_agent|
|
27
|
-
it
|
23
|
+
it '#mobile should return #{carrier} when take #{user_agent} as UserAgent' do
|
28
24
|
res = Rack::MockRequest.env_for(
|
29
25
|
'http://jpmobile-rails.org/',
|
30
26
|
'HTTP_USER_AGENT' => user_agent)
|
data/spec/unit/emoticon_spec.rb
CHANGED
@@ -30,38 +30,6 @@ describe Jpmobile::Emoticon do
|
|
30
30
|
Jpmobile::Emoticon::unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_SOFTBANK, true).should == [0xe04a, 0xe049].pack('U*')
|
31
31
|
end
|
32
32
|
end
|
33
|
-
|
34
|
-
it 'should convert docomo unicodecr to Unicode 6.0 emoticon' do
|
35
|
-
Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_UNICODE_EMOTICON, false).should == [0x2600].pack('U')
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'should convert au unicodecr to Unicode 6.0 emoticon' do
|
39
|
-
Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_UNICODE_EMOTICON, false).should == [0x26C5].pack('U')
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'should convert Softbank unicodecr to Unicode 6.0 emoticon' do
|
43
|
-
Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_UNICODE_EMOTICON, false).should == [0x1F466].pack('U')
|
44
|
-
end
|
45
|
-
|
46
|
-
it 'should not convert 〓' do
|
47
|
-
Jpmobile::Emoticon.unicodecr_to_external("〓", Jpmobile::Emoticon::CONVERSION_TABLE_TO_UNICODE_EMOTICON, false).should == '〓'
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'should convert docomo unicodecr to Google emoticon' do
|
51
|
-
Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_GOOGLE_EMOTICON, false).should == [0xFE000].pack('U')
|
52
|
-
end
|
53
|
-
|
54
|
-
it 'should convert au unicodecr to Google emoticon' do
|
55
|
-
Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_GOOGLE_EMOTICON, false).should == [0xFE00F].pack('U')
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'should convert Softbank unicodecr to Google emoticon' do
|
59
|
-
Jpmobile::Emoticon.unicodecr_to_external("", Jpmobile::Emoticon::CONVERSION_TABLE_TO_GOOGLE_EMOTICON, false).should == [0xFE19B].pack('U')
|
60
|
-
end
|
61
|
-
|
62
|
-
it 'should not convert 〓' do
|
63
|
-
Jpmobile::Emoticon.unicodecr_to_external("〓", Jpmobile::Emoticon::CONVERSION_TABLE_TO_GOOGLE_EMOTICON, false).should == '〓'
|
64
|
-
end
|
65
33
|
end
|
66
34
|
|
67
35
|
describe "unicodecr_to_utf8" do
|
@@ -102,34 +70,6 @@ describe Jpmobile::Emoticon do
|
|
102
70
|
it "should not convert docomo encoding of koukai-sjis emoticons to unicodecr" do
|
103
71
|
Jpmobile::Emoticon::external_to_unicodecr_docomo(sjis("\x8c\xf6\x8a\x4a")).should == sjis("\x8c\xf6\x8a\x4a")
|
104
72
|
end
|
105
|
-
|
106
|
-
context 'at iPhone emoticon' do
|
107
|
-
it 'should convert iPhone Unicode emoticon to SoftBank emoticon' do
|
108
|
-
Jpmobile::Emoticon::external_to_unicodecr_unicode60("\342\230\200").should == ""
|
109
|
-
end
|
110
|
-
|
111
|
-
it 'should convert iPhone Unicode emoticon to multi SoftBank emoticons' do
|
112
|
-
Jpmobile::Emoticon::external_to_unicodecr_unicode60("\342\233\205").should == ","
|
113
|
-
end
|
114
|
-
|
115
|
-
it 'should not convert 〓' do
|
116
|
-
Jpmobile::Emoticon::external_to_unicodecr_unicode60('〓').should == "〓"
|
117
|
-
end
|
118
|
-
end
|
119
|
-
|
120
|
-
context 'at Android emoticon' do
|
121
|
-
it 'should convert Android Google Unicode emoticon to Docomo emoticon' do
|
122
|
-
Jpmobile::Emoticon::external_to_unicodecr_google("\363\276\200\200").should == ""
|
123
|
-
end
|
124
|
-
|
125
|
-
it 'should convert Android Google Unicode emoticon to multi Docomo emoticon' do
|
126
|
-
Jpmobile::Emoticon::external_to_unicodecr_google("\363\276\200\217").should == ""
|
127
|
-
end
|
128
|
-
|
129
|
-
it 'should not convert 〓' do
|
130
|
-
Jpmobile::Emoticon::external_to_unicodecr_google('〓').should == "〓"
|
131
|
-
end
|
132
|
-
end
|
133
73
|
end
|
134
74
|
|
135
75
|
context "for email" do
|
data/spec/unit/mail_spec.rb
CHANGED
@@ -255,31 +255,6 @@ describe "Jpmobile::Mail" do
|
|
255
255
|
end
|
256
256
|
end
|
257
257
|
|
258
|
-
describe "long subject with half-characters" do
|
259
|
-
before(:each) do
|
260
|
-
@mail = Mail.new
|
261
|
-
@mail.subject = "西暦2012年09月03日は今日になるわけだが10時16分現在のこの時間ではどうかな"
|
262
|
-
@mail.body = "株式会社・・"
|
263
|
-
@mail.from = "info@jpmobile-rails.org"
|
264
|
-
end
|
265
|
-
|
266
|
-
describe "AbstractMobile" do
|
267
|
-
before(:each) do
|
268
|
-
@mobile = Jpmobile::Mobile::AbstractMobile.new(nil, nil)
|
269
|
-
@mail.mobile = @mobile
|
270
|
-
@mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
|
271
|
-
end
|
272
|
-
|
273
|
-
context "to_s" do
|
274
|
-
it "should contain encoded subject" do
|
275
|
-
ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape("=?ISO-2022-JP?B?GyRCQD5OcRsoQjIwMTIbJEJHLxsoQjA5GyRCN24bKEIwMxskQkZ8JE86IxsoQg==?=")))
|
276
|
-
ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape("=?ISO-2022-JP?B?GyRCRnwkSyRKJGskbyQxJEAkLBsoQjEwGyRCO34bKEIxNhskQkosOD0bKEI=?=")))
|
277
|
-
ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape("=?ISO-2022-JP?B?GyRCOl8kTiQzJE47fjRWJEckTyRJJCYkKyRKGyhC?=")))
|
278
|
-
end
|
279
|
-
end
|
280
|
-
end
|
281
|
-
end
|
282
|
-
|
283
258
|
context "with attachments" do
|
284
259
|
before(:each) do
|
285
260
|
@mobile = Jpmobile::Mobile::AbstractMobile.new(nil, nil)
|
@@ -303,14 +278,6 @@ describe "Jpmobile::Mail" do
|
|
303
278
|
@mail.to_s
|
304
279
|
}.should_not raise_error
|
305
280
|
end
|
306
|
-
|
307
|
-
it "should encodes itself successfully with an UTF-8 filename attachment" do
|
308
|
-
@mail.attachments.inline['日本語のファイル名です.jpg'] = @photo
|
309
|
-
|
310
|
-
lambda {
|
311
|
-
@mail.to_s
|
312
|
-
}.should_not raise_error
|
313
|
-
end
|
314
281
|
end
|
315
282
|
|
316
283
|
context "encoding conversion" do
|
@@ -333,57 +300,4 @@ describe "Jpmobile::Mail" do
|
|
333
300
|
ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape(ascii_8bit("\x31\x30\x3a\x30\x30\x1b\x24\x42\x21\x41\x1b\x28\x42\x31\x32\x3a\x30\x30"))))
|
334
301
|
end
|
335
302
|
end
|
336
|
-
|
337
|
-
context "delivering" do
|
338
|
-
before(:each) do
|
339
|
-
@mobile = Jpmobile::Mobile::AbstractMobile.new(nil, nil)
|
340
|
-
@mail.mobile = @mobile
|
341
|
-
@mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
|
342
|
-
end
|
343
|
-
|
344
|
-
it "delivers through SMTP" do
|
345
|
-
@mail.delivery_method :smtp, {:enable_starttls_auto => false}
|
346
|
-
lambda {
|
347
|
-
@mail.deliver
|
348
|
-
}.should_not raise_error
|
349
|
-
|
350
|
-
Mail::TestMailer.deliveries.size
|
351
|
-
end
|
352
|
-
end
|
353
|
-
|
354
|
-
context 'sending with carrier from' do
|
355
|
-
before do
|
356
|
-
@mail = Mail.new
|
357
|
-
@mail.subject = "万葉"
|
358
|
-
@mail.to = "ちはやふる <info@jpmobile-rails.org>"
|
359
|
-
end
|
360
|
-
|
361
|
-
it 'should convert content-transfer-encoding' do
|
362
|
-
mobile = Jpmobile::Mobile::Au.new(nil, nil)
|
363
|
-
@mail.content_transfer_encoding = 'base64'
|
364
|
-
@mail.body = ['ほげ'].pack('m')
|
365
|
-
@mail.charset = 'UTF-8'
|
366
|
-
|
367
|
-
@mail.mobile = mobile
|
368
|
-
@mail.from = '<えーゆー> au@ezweb.ne.jp'
|
369
|
-
|
370
|
-
@mail.encoded.should match(/content-transfer-encoding: 7bit/i)
|
371
|
-
end
|
372
|
-
|
373
|
-
it 'should not convert content-transfer-encoding with BINARY' do
|
374
|
-
mobile = Jpmobile::Mobile::Au.new(nil, nil)
|
375
|
-
data = ['ほげ'].pack('m').strip
|
376
|
-
|
377
|
-
@mail.content_transfer_encoding = 'base64'
|
378
|
-
@mail.content_type = 'image/jpeg'
|
379
|
-
@mail.body = data
|
380
|
-
@mail.charset = 'UTF-8'
|
381
|
-
|
382
|
-
@mail.mobile = mobile
|
383
|
-
@mail.from = '<えーゆー> au@ezweb.ne.jp'
|
384
|
-
|
385
|
-
@mail.encoded.should match(/content-transfer-encoding: base64/i)
|
386
|
-
@mail.encoded.should match(data)
|
387
|
-
end
|
388
|
-
end
|
389
303
|
end
|
@@ -148,14 +148,6 @@ describe "Jpmobile::Mail#receive" do
|
|
148
148
|
end
|
149
149
|
end
|
150
150
|
end
|
151
|
-
|
152
|
-
context 'bounced mail' do
|
153
|
-
it 'should parse sub-part charset correctly' do
|
154
|
-
@mail = Mail.new(open(File.join(File.expand_path(File.dirname(__FILE__)), "email-fixtures/bounce_with_utf8_part.eml")).read)
|
155
|
-
@mail.parts.first.charset.should match(/iso-2022-jp/i)
|
156
|
-
@mail.parts.last.charset.should match(/utf-8/i)
|
157
|
-
end
|
158
|
-
end
|
159
151
|
end
|
160
152
|
|
161
153
|
describe "Docomo" do
|
@@ -228,32 +220,6 @@ describe "Jpmobile::Mail#receive" do
|
|
228
220
|
ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape(ascii_8bit("\x1b\x24\x42\x32\x71\x35\x44\x24\x2C\x33\x2B\x3A\x45\x75\x48\x1b\x28\x42"))))
|
229
221
|
end
|
230
222
|
end
|
231
|
-
|
232
|
-
context 'From au iPhone' do
|
233
|
-
it 'charset should be UTF-8' do
|
234
|
-
@mail = Mail.new(open(File.join(File.expand_path(File.dirname(__FILE__)), "email-fixtures/iphone-message.eml")).read)
|
235
|
-
@mail.mobile.should be_a(Jpmobile::Mobile::Au)
|
236
|
-
@mail.charset.should match(/utf-8/i)
|
237
|
-
end
|
238
|
-
|
239
|
-
it 'should be encoded correctly' do
|
240
|
-
@mail = Mail.new(open(File.join(File.expand_path(File.dirname(__FILE__)), "email-fixtures/iphone-message.eml")).read)
|
241
|
-
@mail.encoded
|
242
|
-
end
|
243
|
-
end
|
244
|
-
|
245
|
-
context 'From iPad' do
|
246
|
-
it 'charset should be UTF-8' do
|
247
|
-
@mail = Mail.new(open(File.join(File.expand_path(File.dirname(__FILE__)), "email-fixtures/iphone-mail3.eml")).read)
|
248
|
-
@mail.mobile.should be_a(Jpmobile::Mobile::AbstractMobile)
|
249
|
-
@mail.charset.should match(/utf-8/i)
|
250
|
-
end
|
251
|
-
|
252
|
-
it 'should be encoded correctly' do
|
253
|
-
@mail = Mail.new(open(File.join(File.expand_path(File.dirname(__FILE__)), "email-fixtures/iphone-mail3.eml")).read)
|
254
|
-
@mail.encoded
|
255
|
-
end
|
256
|
-
end
|
257
223
|
end
|
258
224
|
|
259
225
|
describe "Softbank" do
|
@@ -322,18 +288,6 @@ describe "Jpmobile::Mail#receive" do
|
|
322
288
|
end
|
323
289
|
end
|
324
290
|
|
325
|
-
describe 'bounced mail' do
|
326
|
-
context "has jp address" do
|
327
|
-
before(:each) do
|
328
|
-
@mail = Mail.new(open(File.join(File.expand_path(File.dirname(__FILE__)), "../../test/rails/overrides/spec/fixtures/mobile_mailer/bounced-jp.eml")).read)
|
329
|
-
end
|
330
|
-
|
331
|
-
it "mobile should abstract mobile" do
|
332
|
-
@mail.mobile.should be_a Jpmobile::Mobile::AbstractMobile
|
333
|
-
end
|
334
|
-
end
|
335
|
-
end
|
336
|
-
|
337
291
|
describe "non-Japanese mail" do
|
338
292
|
context "us-ascii" do
|
339
293
|
before(:each) do
|
data/spec/unit/util_spec.rb
CHANGED
@@ -108,47 +108,4 @@ describe Jpmobile::Util do
|
|
108
108
|
ascii_8bit(utf8_to_jis("\xef\xbd\x9e")).should == ascii_8bit("\x1b\x24\x42\x21\x41\x1b\x28\x42")
|
109
109
|
ascii_8bit(encode("\xef\xbd\x9e", "ISO-2022-JP")).should == ascii_8bit("\x1b\x24\x42\x21\x41\x1b\x28\x42")
|
110
110
|
end
|
111
|
-
|
112
|
-
describe 'invert_table' do
|
113
|
-
it 'pickups the first(least) of duplicated values when inverting hash table' do
|
114
|
-
hash = invert_table({
|
115
|
-
0xFE009 => 0xE63E,
|
116
|
-
0xFE00A => 0xE63E,
|
117
|
-
0xFE00B => 0x3013,
|
118
|
-
0xFE010 => 0xE6B3,
|
119
|
-
0xFE038 => 0xE73F})
|
120
|
-
hash[0xE63E].should == 0xFE009
|
121
|
-
hash[0x3013].should == 0xFE00B
|
122
|
-
end
|
123
|
-
|
124
|
-
it 'should not raise error when hash has Array keys' do
|
125
|
-
hash = invert_table({
|
126
|
-
[0x1F1E8, 0x1F1F3] => 0x3013,
|
127
|
-
0x1F1FF => 0x3013,
|
128
|
-
0x1F526 => 0xE6FB,
|
129
|
-
[0x0023, 0x20E3] => 0xE6E0,
|
130
|
-
0x1F354 => 0xE673})
|
131
|
-
hash[0x3013].should == [0x1F1E8, 0x1F1F3]
|
132
|
-
hash[0xE6FB].should == 0x1F526
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
describe 'check_charset' do
|
137
|
-
it 'returns true if compatible' do
|
138
|
-
str = 'ABC'.force_encoding('ASCII-8BIT')
|
139
|
-
check_charset(str, 'UTF-8').should be_true
|
140
|
-
end
|
141
|
-
|
142
|
-
it 'returns false if incompatible' do
|
143
|
-
str = '再現'.encode('ISO-2022-JP')
|
144
|
-
check_charset(str, 'UTF-8').should be_false
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
describe 'correct_encoding' do
|
149
|
-
it 'updates encoding correctly' do
|
150
|
-
str = '再現'.force_encoding('ISO-2022-JP')
|
151
|
-
correct_encoding(str).encoding.should == Encoding::UTF_8
|
152
|
-
end
|
153
|
-
end
|
154
111
|
end
|
@@ -1,30 +1,15 @@
|
|
1
1
|
source 'http://rubygems.org'
|
2
2
|
|
3
|
-
gem 'rails', '~> 3.
|
4
|
-
gem 'mail', '~> 2.3.0'
|
5
|
-
|
6
|
-
# Bundle edge Rails instead:
|
7
|
-
# gem 'rails', :git => 'git://github.com/rails/rails.git'
|
3
|
+
gem 'rails', '~> 3.2.0'
|
8
4
|
|
9
5
|
gem 'sqlite3-ruby', :require => 'sqlite3'
|
10
6
|
|
11
7
|
gem 'geokit'
|
12
8
|
gem 'hpricot'
|
13
9
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
# Deploy with Capistrano
|
18
|
-
# gem 'capistrano'
|
19
|
-
|
20
|
-
# To use debugger
|
21
|
-
# gem 'ruby-debug'
|
22
|
-
|
23
|
-
# Bundle the extra gems:
|
24
|
-
# gem 'bj'
|
25
|
-
# gem 'nokogiri', '1.4.1'
|
26
|
-
# gem 'sqlite3-ruby', :require => 'sqlite3'
|
27
|
-
# gem 'aws-s3', :require => 'aws/s3'
|
10
|
+
gem 'jpmobile', :path => '../../../'
|
11
|
+
gem 'jpmobile-terminfo', :path => '../../../vendor/jpmobile-terminfo'
|
12
|
+
gem 'jpmobile-ipaddresses', :path => '../../../vendor/jpmobile-ipaddresses'
|
28
13
|
|
29
14
|
# Bundle gems for certain environments:
|
30
15
|
group :development, :test do
|
@@ -13,17 +13,5 @@ class TemplatePathController < ApplicationController
|
|
13
13
|
def optioned_index
|
14
14
|
render :action => "index"
|
15
15
|
end
|
16
|
-
|
17
|
-
def full_path_partial
|
18
|
-
end
|
19
|
-
|
20
|
-
def smart_phone_only
|
21
|
-
end
|
22
|
-
|
23
|
-
def with_tblt
|
24
|
-
end
|
25
|
-
|
26
|
-
def with_ipd
|
27
|
-
end
|
28
16
|
end
|
29
17
|
|
@@ -78,7 +78,6 @@ describe MobileMailer do
|
|
78
78
|
raw_mail.should match(/iso-2022-jp/i)
|
79
79
|
raw_mail.should match(Regexp.compile(Regexp.escape(ascii_8bit([utf8_to_jis("題名")].pack('m').strip))))
|
80
80
|
raw_mail.should match(Regexp.compile(Regexp.escape(ascii_8bit(utf8_to_jis("本文")))))
|
81
|
-
raw_mail.should match(/For PC/)
|
82
81
|
end
|
83
82
|
end
|
84
83
|
|
@@ -664,15 +663,6 @@ describe MobileMailer, "receiving" do
|
|
664
663
|
parts.first.body.should match(/テストです/)
|
665
664
|
parts.last.body.raw_source.should match(/テストです/)
|
666
665
|
end
|
667
|
-
|
668
|
-
context 'iPhone' do
|
669
|
-
it 'should parse correctly' do
|
670
|
-
lambda {
|
671
|
-
@mail = MobileMailer.receive(open(File.join(Rails.root, "../../../spec/unit/email-fixtures/iphone-message.eml")).read)
|
672
|
-
@mail.encoded
|
673
|
-
}.should_not raise_error
|
674
|
-
end
|
675
|
-
end
|
676
666
|
end
|
677
667
|
|
678
668
|
describe "softbank(sjis) の場合" do
|
@@ -169,78 +169,6 @@ describe TemplatePathController, "integrated_views" do
|
|
169
169
|
end
|
170
170
|
end
|
171
171
|
|
172
|
-
context 'only smart_phone view' do
|
173
|
-
context 'iPadからのアクセスの場合' do
|
174
|
-
before do
|
175
|
-
@user_agent = 'Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5'
|
176
|
-
end
|
177
|
-
it 'smart_phone_only.html.erbが使用されること' do
|
178
|
-
get '/template_path/smart_phone_only', {}, {'HTTP_USER_AGENT' => @user_agent}
|
179
|
-
|
180
|
-
response.should have_tag('h1', :content => 'smart_phone_only_smart_phone.html.erb')
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
|
-
context 'Android Tabletからのアクセスの場合' do
|
185
|
-
before do
|
186
|
-
@user_agent = 'Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
|
187
|
-
end
|
188
|
-
it 'smart_phone_only.html.erbが使用されること' do
|
189
|
-
get '/template_path/smart_phone_only', {}, {'HTTP_USER_AGENT' => @user_agent}
|
190
|
-
|
191
|
-
response.should have_tag('h1', :content => 'smart_phone_only_smart_phone.html.erb')
|
192
|
-
end
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
|
-
context 'with_tblt view' do
|
197
|
-
context 'iPadからのアクセスの場合' do
|
198
|
-
before do
|
199
|
-
@user_agent = 'Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5'
|
200
|
-
end
|
201
|
-
it 'with_tblt_tablet.html.erbが使用されること' do
|
202
|
-
get '/template_path/with_tblt', {}, {'HTTP_USER_AGENT' => @user_agent}
|
203
|
-
|
204
|
-
response.should have_tag('h1', :content => 'with_tblt_tablet.html.erb')
|
205
|
-
end
|
206
|
-
end
|
207
|
-
|
208
|
-
context 'Android Tabletからのアクセスの場合' do
|
209
|
-
before do
|
210
|
-
@user_agent = 'Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
|
211
|
-
end
|
212
|
-
it 'with_tblt_tablet.html.erbが使用されること' do
|
213
|
-
get '/template_path/with_tblt', {}, {'HTTP_USER_AGENT' => @user_agent}
|
214
|
-
|
215
|
-
response.should have_tag('h1', :content => 'with_tblt_tablet.html.erb')
|
216
|
-
end
|
217
|
-
end
|
218
|
-
end
|
219
|
-
|
220
|
-
context 'with_ipd view' do
|
221
|
-
context 'iPadからのアクセスの場合' do
|
222
|
-
before do
|
223
|
-
@user_agent = 'Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5'
|
224
|
-
end
|
225
|
-
it 'with_ipd_tablet_ipad.html.erbが使用されること' do
|
226
|
-
get '/template_path/with_ipd', {}, {'HTTP_USER_AGENT' => @user_agent}
|
227
|
-
|
228
|
-
response.should have_tag('h1', :content => 'with_ipd_tablet_ipad.html.erb')
|
229
|
-
end
|
230
|
-
end
|
231
|
-
|
232
|
-
context 'Android Tabletからのアクセスの場合' do
|
233
|
-
before do
|
234
|
-
@user_agent = 'Mozilla/5.0 (Linux; U; Android 2.2; ja-jp; SC-01C Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
|
235
|
-
end
|
236
|
-
it 'with_ipd.html.erbが使用されること' do
|
237
|
-
get '/template_path/with_ipd', {}, {'HTTP_USER_AGENT' => @user_agent}
|
238
|
-
|
239
|
-
response.should have_tag('h1', :content => 'with_ipd.html.erb')
|
240
|
-
end
|
241
|
-
end
|
242
|
-
end
|
243
|
-
|
244
172
|
context "partial" do
|
245
173
|
context "PCからのアクセスの場合" do
|
246
174
|
before do
|