Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions lib/user_agent/browsers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
require 'user_agent/browsers/chrome'
require 'user_agent/browsers/edge'
require 'user_agent/browsers/gecko'
require 'user_agent/browsers/google_image_proxy'
require 'user_agent/browsers/internet_explorer'
require 'user_agent/browsers/opera'
require 'user_agent/browsers/webkit'
Expand All @@ -27,6 +28,7 @@ module Browsers
Chrome,
ITunes,
PlayStation,
GoogleImageProxy,
PodcastAddict,
Webkit,
Gecko,
Expand Down
26 changes: 26 additions & 0 deletions lib/user_agent/browsers/google_image_proxy.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
class UserAgent
module Browsers
class GoogleImageProxy < Base

def self.extend?(agent)
agent.last && agent.last.comment && agent.last.comment[0] =~ /googleimageproxy|ggpht\.com/i
end

def browser
"Google Image Proxy"
end

def version
last.version
end

def platform
nil
end

def os
nil
end
end
end
end
47 changes: 47 additions & 0 deletions spec/browsers/google_image_proxy_agent_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
require 'user_agent'

shared_examples_for "Google Image Proxy browser" do
it "should return 'Google Image Proxy' as its browser" do
expect(@useragent.browser).to eq("Google Image Proxy")
end

it "should return nil as its platform" do
expect(@useragent.platform).to be_nil
end
end

# describe "mozilla/5.0 (windows nt 5.1; rv:11.0) gecko firefox/11.0 (via ggpht.com googleimageproxy)" do
# before do
# @useragent = UserAgent.parse("mozilla/5.0 (windows nt 5.1; rv:11.0) gecko firefox/11.0 (via ggpht.com googleimageproxy)")
# end

# it_should_behave_like "Google Image Proxy browser"

# it "should return nil as its os" do
# expect(@useragent.os).to be_nil
# end
# end

# describe "mozilla/5.0 (windows nt 5.1; rv:11.0) gecko firefox/11.0 (via ggpht.com GoogleImageProxy)" do
# before do
# @useragent = UserAgent.parse("mozilla/5.0 (windows nt 5.1; rv:11.0) gecko firefox/11.0 (via ggpht.com GoogleImageProxy)")
# end

# it_should_behave_like "Google Image Proxy browser"

# it "should return nil as its os" do
# expect(@useragent.os).to be_nil
# end
# end

describe "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7 (via ggpht.com)" do
before do
@useragent = UserAgent.parse("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7 (via ggpht.com)")
end

it_should_behave_like "Google Image Proxy browser"

it "should return 'Windows' as its os" do
expect(@useragent.os).to be_nil
end
end
1 change: 1 addition & 0 deletions useragent.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Gem::Specification.new do |s|
"lib/user_agent/browsers/chrome.rb",
"lib/user_agent/browsers/edge.rb",
"lib/user_agent/browsers/gecko.rb",
"lib/user_agent/browsers/google_image_proxy.rb",
"lib/user_agent/browsers/internet_explorer.rb",
"lib/user_agent/browsers/itunes.rb",
"lib/user_agent/browsers/libavformat.rb",
Expand Down