Sha256: 6b06b868e3599e546917969c0ac98ff79d7db5a8c42f46ac19455a913f38ba6b

Contents?: true

Size: 1.36 KB

Versions: 19

Compression:

Stored size: 1.36 KB

Contents

require File.join(__dir__, '../../rack_helper.rb')

describe Jpmobile::MobileCarrier, 'iphone' do
  include Rack::Test::Methods

  context '端末種別で' do
    it 'iPhone を判別できること' do
      res = Rack::MockRequest.env_for(
        'http://jpmobile-rails.org/',
        'HTTP_USER_AGENT' => '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',
      )
      env = Jpmobile::MobileCarrier.new(UnitApplication.new).call(res)[1]

      expect(env['rack.jpmobile'].class).to            eq(Jpmobile::Mobile::Iphone)
      expect(env['rack.jpmobile'].position).to         be_nil
      expect(env['rack.jpmobile'].smart_phone?).to     be_truthy
      expect(env['rack.jpmobile'].supports_cookie?).to be_truthy
    end
  end

  context 'IPアドレス制限で' do
    it 'Softbank 網からのアクセスでも invalid になること' do
      res = Rack::MockRequest.env_for(
        'http://jpmobile-rails.org/',
        'HTTP_USER_AGENT' => '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',
        'REMOTE_ADDR' => '202.179.204.1',
      )
      env = Jpmobile::MobileCarrier.new(UnitApplication.new).call(res)[1]

      expect(env['rack.jpmobile'].valid_ip?).to be_falsey
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
jpmobile-8.0.0 spec/rack/jpmobile/iphone_spec.rb
jpmobile-7.2.0 spec/rack/jpmobile/iphone_spec.rb
jpmobile-7.1.0 spec/rack/jpmobile/iphone_spec.rb
jpmobile-7.0.4 spec/rack/jpmobile/iphone_spec.rb
jpmobile-7.0.3 spec/rack/jpmobile/iphone_spec.rb
jpmobile-7.0.2 spec/rack/jpmobile/iphone_spec.rb
jpmobile-7.0.1 spec/rack/jpmobile/iphone_spec.rb
jpmobile-7.0.0 spec/rack/jpmobile/iphone_spec.rb
jpmobile-6.1.2 spec/rack/jpmobile/iphone_spec.rb
jpmobile-6.1.1 spec/rack/jpmobile/iphone_spec.rb
jpmobile-6.1.0 spec/rack/jpmobile/iphone_spec.rb
jpmobile-6.0.0 spec/rack/jpmobile/iphone_spec.rb
jpmobile-5.2.5 spec/rack/jpmobile/iphone_spec.rb
jpmobile-6.0.0.beta spec/rack/jpmobile/iphone_spec.rb
jpmobile-5.2.4 spec/rack/jpmobile/iphone_spec.rb
jpmobile-5.2.3 spec/rack/jpmobile/iphone_spec.rb
jpmobile-5.2.2 spec/rack/jpmobile/iphone_spec.rb
jpmobile-5.2.1 spec/rack/jpmobile/iphone_spec.rb
jpmobile-5.2.0 spec/rack/jpmobile/iphone_spec.rb