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