test/au_test.rb in jpmobile-0.0.2 vs test/au_test.rb in jpmobile-0.0.3
- old
+ new
@@ -1,142 +1,173 @@
require File.dirname(__FILE__)+'/helper'
class AuTest < Test::Unit::TestCase
# au, 端末種別の識別
def test_au_ca32
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
"HTTP_X_UP_SUBNO"=>"00000000000000_mj.ezweb.ne.jp")
- assert_equal(true, req.mobile?)
- assert_instance_of(Jpmobile::Mobile::Au, req.mobile)
- assert_equal("00000000000000_mj.ezweb.ne.jp", req.mobile.subno)
- assert_equal("00000000000000_mj.ezweb.ne.jp", req.mobile.ident)
- assert_equal("00000000000000_mj.ezweb.ne.jp", req.mobile.ident_subscriber)
- assert_equal(nil, req.mobile.position)
- assert(req.mobile.supports_cookie?)
+ reqs.each do |req|
+ assert_equal(true, req.mobile?)
+ assert_instance_of(Jpmobile::Mobile::Au, req.mobile)
+ assert_equal("00000000000000_mj.ezweb.ne.jp", req.mobile.subno)
+ assert_equal("00000000000000_mj.ezweb.ne.jp", req.mobile.ident)
+ assert_equal("00000000000000_mj.ezweb.ne.jp", req.mobile.ident_subscriber)
+ assert_equal(nil, req.mobile.position)
+ assert(req.mobile.supports_cookie?)
+ end
end
# TuKa, 端末種別の識別
def test_tuka_tk22
- req = request_with_ua("UP.Browser/3.04-KCTA UP.Link/3.4.5.9")
- assert_equal(true, req.mobile?)
- assert_instance_of(Jpmobile::Mobile::Au, req.mobile)
+ reqs = request_with_ua("UP.Browser/3.04-KCTA UP.Link/3.4.5.9")
+ reqs.each do |req|
+ assert_equal(true, req.mobile?)
+ assert_instance_of(Jpmobile::Mobile::Au, req.mobile)
+ end
end
# au, gps, degree, wgs84
def test_au_gps_degree
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
{"QUERY_STRING"=>"ver=1&datum=0&unit=1&lat=%2b43.07772&lon=%2b141.34114&alt=64&time=20061016192415&smaj=69&smin=18&vert=21&majaa=115&fm=1"})
- assert_equal(43.07772, req.mobile.position.lat)
- assert_equal(141.34114, req.mobile.position.lon)
+ reqs.each do |req|
+ assert_equal(43.07772, req.mobile.position.lat)
+ assert_equal(141.34114, req.mobile.position.lon)
+ end
end
# au, gps, dms, wgs84
# これが一番端末を選ばないようだ
# http://hiyuzawa.jpn.org/blog/2006/09/gps1_augps_1.html
def test_au_gps_dms
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
{"QUERY_STRING"=>"ver=1&datum=0&unit=0&lat=%2b43.05.08.95&lon=%2b141.20.25.99&alt=155&time=20060521010328&smaj=76&smin=62&vert=65&majaa=49&fm=1"})
- assert_in_delta(43.08581944, req.mobile.position.lat, 1e-7)
- assert_in_delta(141.3405528, req.mobile.position.lon, 1e-7)
+ reqs.each do |req|
+ assert_in_delta(43.08581944, req.mobile.position.lat, 1e-7)
+ assert_in_delta(141.3405528, req.mobile.position.lon, 1e-7)
+ end
end
# au, gps, degree, tokyo
def test_au_gps_degree_tokyo
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
{"QUERY_STRING"=>"ver=1&datum=1&unit=1&lat=%2b43.07475&lon=%2b141.34259&alt=8&time=20061017182825&smaj=113&smin=76&vert=72&majaa=108&fm=1"})
- assert_in_delta(43.07719289, req.mobile.position.lat, 1e-4)
- assert_in_delta(141.3389013, req.mobile.position.lon, 1e-4)
+ reqs.each do |req|
+ assert_in_delta(43.07719289, req.mobile.position.lat, 1e-4)
+ assert_in_delta(141.3389013, req.mobile.position.lon, 1e-4)
+ end
end
# au, gps, dms, tokyo
def test_au_gps_dms_tokyo
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
{"QUERY_STRING"=>"ver=1&datum=1&unit=0&lat=%2b43.04.28.26&lon=%2b141.20.33.15&alt=-5&time=20061017183807&smaj=52&smin=36&vert=31&majaa=101&fm=1"})
- assert_in_delta(43.07695833, req.mobile.position.lat, 1e-4)
- assert_in_delta(141.3388528, req.mobile.position.lon, 1e-4)
+ reqs.each do |req|
+ assert_in_delta(43.07695833, req.mobile.position.lat, 1e-4)
+ assert_in_delta(141.3388528, req.mobile.position.lon, 1e-4)
+ end
end
# au, antenna, dms (au簡易位置情報)
def test_au_antenna
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
{"QUERY_STRING"=>"datum=tokyo&unit=dms&lat=43.04.55.00&lon=141.20.50.75"})
- assert_in_delta(43.08194444, req.mobile.position.lat, 1e-7)
- assert_in_delta(141.3474306, req.mobile.position.lon, 1e-7)
+ reqs.each do |req|
+ assert_in_delta(43.08194444, req.mobile.position.lat, 1e-7)
+ assert_in_delta(141.3474306, req.mobile.position.lon, 1e-7)
+ end
end
# 正しいIPアドレス空間からのアクセスを判断できるか。
def test_au_valid_ip_address
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
{"REMOTE_ADDR"=>"210.169.40.1"})
- assert_equal(req.mobile.valid_ip?, true)
+ reqs.each do |req|
+ assert_equal(req.mobile.valid_ip?, true)
+ end
end
# 正しくないIPアドレス空間からのアクセスを判断できるか。
def test_au_invalid_ip_address
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
{"REMOTE_ADDR"=>"127.0.0.1"})
- assert_equal(req.mobile.valid_ip?, false)
+ reqs.each do |req|
+ assert_equal(req.mobile.valid_ip?, false)
+ end
end
# 端末の画面サイズを正しく取得できるか。
def test_au_w41ca_display
- req = request_with_ua("KDDI-CA33 UP.Browser/6.2.0.10.4 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA33 UP.Browser/6.2.0.10.4 (GUI) MMP/2.0",
"HTTP_X_UP_DEVCAP_SCREENDEPTH"=>"16,RGB565",
"HTTP_X_UP_DEVCAP_SCREENPIXELS"=>"240,346",
"HTTP_X_UP_DEVCAP_ISCOLOR"=>"1"
)
- assert_equal(240, req.mobile.display.width)
- assert_equal(346, req.mobile.display.height)
- assert_equal(true, req.mobile.display.color?)
- assert_equal(65536, req.mobile.display.colors)
+
+ reqs.each do |req|
+ assert_equal(240, req.mobile.display.width)
+ assert_equal(346, req.mobile.display.height)
+ assert_equal(true, req.mobile.display.color?)
+ assert_equal(65536, req.mobile.display.colors)
+ end
end
# 端末の画面情報が渡ってない場合に正しく動作するか。
def test_au_w41ca_display_information_omitted
- req = request_with_ua("KDDI-CA33 UP.Browser/6.2.0.10.4 (GUI) MMP/2.0")
- assert_equal(nil, req.mobile.display.width)
- assert_equal(nil, req.mobile.display.height)
- assert_equal(nil, req.mobile.display.browser_width)
- assert_equal(nil, req.mobile.display.browser_height)
- assert_equal(nil, req.mobile.display.physical_width)
- assert_equal(nil, req.mobile.display.physical_height)
- assert_equal(nil, req.mobile.display.color?)
- assert_equal(nil, req.mobile.display.colors)
+ reqs = request_with_ua("KDDI-CA33 UP.Browser/6.2.0.10.4 (GUI) MMP/2.0")
+ reqs.each do |req|
+ assert_equal(nil, req.mobile.display.width)
+ assert_equal(nil, req.mobile.display.height)
+ assert_equal(nil, req.mobile.display.browser_width)
+ assert_equal(nil, req.mobile.display.browser_height)
+ assert_equal(nil, req.mobile.display.physical_width)
+ assert_equal(nil, req.mobile.display.physical_height)
+ assert_equal(nil, req.mobile.display.color?)
+ assert_equal(nil, req.mobile.display.colors)
+ end
end
# for GeoKit::Mappable
def test_au_gps_degree_geokit
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0",
{"QUERY_STRING"=>"ver=1&datum=0&unit=1&lat=%2b43.07772&lon=%2b141.34114&alt=64&time=20061016192415&smaj=69&smin=18&vert=21&majaa=115&fm=1"})
- assert_equal(43.07772, req.mobile.position.lat)
- assert_equal(141.34114, req.mobile.position.lng)
- assert_equal("43.07772,141.34114", req.mobile.position.ll)
- assert_equal(req.mobile.position, req.mobile.position)
- if req.mobile.position.respond_to?(:distance_to) # GeoKitがインストールされている場合
- assert_equal(0, req.mobile.position.distance_to(req.mobile.position))
+ reqs.each do |req|
+ assert_equal(43.07772, req.mobile.position.lat)
+ assert_equal(141.34114, req.mobile.position.lng)
+ assert_equal("43.07772,141.34114", req.mobile.position.ll)
+ assert_equal(req.mobile.position, req.mobile.position)
+ if req.mobile.position.respond_to?(:distance_to) # GeoKitがインストールされている場合
+ assert_equal(0, req.mobile.position.distance_to(req.mobile.position))
+ end
end
end
# 位置情報取得機能の有無, W31CA
def test_au_location_capability_w31ca
- req = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0")
- assert_equal("CA32", req.mobile.device_id)
- assert_equal(true, req.mobile.supports_location?)
- assert_equal(true, req.mobile.supports_gps?)
+ reqs = request_with_ua("KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0")
+ reqs.each do |req|
+ assert_equal("CA32", req.mobile.device_id)
+ assert_equal(true, req.mobile.supports_location?)
+ assert_equal(true, req.mobile.supports_gps?)
+ end
end
# 位置情報取得機能の有無, A1402S
def test_au_location_capability_a1402s
- req = request_with_ua("KDDI-SN26 UP.Browser/6.2.0.6.2 (GUI) MMP/2.0")
- assert_equal("SN26", req.mobile.device_id)
- assert_equal(true, req.mobile.supports_location?)
- assert_equal(false, req.mobile.supports_gps?)
+ reqs = request_with_ua("KDDI-SN26 UP.Browser/6.2.0.6.2 (GUI) MMP/2.0")
+ reqs.each do |req|
+ assert_equal("SN26", req.mobile.device_id)
+ assert_equal(true, req.mobile.supports_location?)
+ assert_equal(false, req.mobile.supports_gps?)
+ end
end
# 位置情報取得機能の有無, TK22
def test_au_location_capability_tk22
- req = request_with_ua("UP.Browser/3.04-KCTA UP.Link/3.4.5.9")
- assert_equal("KCTA", req.mobile.device_id)
- assert_equal(false, req.mobile.supports_location?)
- assert_equal(false, req.mobile.supports_gps?)
+ reqs = request_with_ua("UP.Browser/3.04-KCTA UP.Link/3.4.5.9")
+ reqs.each do |req|
+ assert_equal("KCTA", req.mobile.device_id)
+ assert_equal(false, req.mobile.supports_location?)
+ assert_equal(false, req.mobile.supports_gps?)
+ end
end
end