Skip to content

Commit 3ebee06

Browse files
committed
Added IOS detection.
1 parent ac24ea2 commit 3ebee06

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

lib/browser.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,11 @@ def webkit?
214214
!!(ua =~ /AppleWebKit/i)
215215
end
216216

217+
# Detect if browser is ios?.
218+
def ios?
219+
ipod? || ipad? || iphone?
220+
end
221+
217222
# Detect if browser is mobile.
218223
def mobile?
219224
!!(ua =~ /(Mobile|Symbian|MIDP|Windows CE)/) || blackberry? || psp?
@@ -335,6 +340,7 @@ def meta
335340
Array.new.tap do |m|
336341
m << id
337342
m << "webkit" if webkit?
343+
m << "ios" if ios?
338344
m << "safari safari#{version}" if safari?
339345
m << "#{id}#{version}" unless safari? || chrome?
340346
m << platform

test/browser_test.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def test_detect_iphone
7373
assert @browser.webkit?
7474
assert @browser.mobile?
7575
assert @browser.capable?
76+
assert @browser.ios?
7677
assert_equal "3.0", @browser.full_version
7778
assert_equal "3", @browser.version
7879
end
@@ -97,6 +98,7 @@ def test_detect_ipod
9798
assert @browser.webkit?
9899
assert @browser.mobile?
99100
assert @browser.capable?
101+
assert @browser.ios?
100102
assert_equal "3.0", @browser.full_version
101103
assert_equal "3", @browser.version
102104
end
@@ -109,6 +111,7 @@ def test_detect_ipad
109111
assert @browser.safari?
110112
assert @browser.webkit?
111113
assert @browser.capable?
114+
assert @browser.ios?
112115
assert_equal "4.0.4", @browser.full_version
113116
assert_equal "4", @browser.version
114117
end
@@ -266,9 +269,14 @@ def test_return_string_representation
266269
assert_equal "chrome webkit mac capable", @browser.to_s
267270
end
268271

269-
def test_return_string_representation_for_mobile
272+
def test_return_string_representation_for_ios
270273
@browser.ua = IPHONE
271-
assert_equal "iphone webkit safari safari3 mac capable mobile", @browser.to_s
274+
assert_equal "iphone webkit ios safari safari3 mac capable mobile", @browser.to_s
275+
end
276+
277+
def test_return_string_representation_for_mobile
278+
@browser.ua = BLACKBERRY
279+
assert_equal "blackberry blackberry4 other mobile", @browser.to_s
272280
end
273281

274282
def test_return_string_representation_for_handcap

0 commit comments

Comments
 (0)