browser 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,13 @@ class Browser
2
2
  module Meta
3
3
  class GenericBrowser < Base
4
4
  def meta
5
- "#{browser.id} #{browser.id}#{browser.version}" unless browser.safari? || browser.chrome?
5
+ "#{browser.id} #{browser.id}#{browser.version}" if generic?
6
+ end
7
+
8
+ private
9
+
10
+ def generic?
11
+ !browser.safari? && !browser.chrome?
6
12
  end
7
13
  end
8
14
  end
@@ -3,7 +3,7 @@ class Browser
3
3
  BOTS = YAML.load_file(File.expand_path("../../../../bots.yml", __FILE__))
4
4
 
5
5
  def bot?
6
- ua.empty? || BOTS.any? {|key, description| ua.include?(key) }
6
+ ua.empty? || BOTS.any? {|key, _| ua.include?(key) }
7
7
  end
8
8
  end
9
9
  end
@@ -31,7 +31,7 @@ class Browser
31
31
 
32
32
  # Detect if browser if a Blackberry Playbook tablet
33
33
  def playbook?
34
- !!(ua =~ /PlayBook/ and ua =~ /RIM Tablet/)
34
+ !!(ua =~ /PlayBook/ && ua =~ /RIM Tablet/)
35
35
  end
36
36
 
37
37
  def windows_touchscreen_desktop?
@@ -40,10 +40,12 @@ class Browser
40
40
 
41
41
  # Detect if IE is running in compatibility mode.
42
42
  def compatibility_view?
43
- ie? && ua.match(TRIDENT_VERSION_REGEX) && version.to_i < ($1.to_i + 4)
43
+ match = ua.match(TRIDENT_VERSION_REGEX)
44
+ ie? && match && version.to_i < (match[1].to_i + 4)
44
45
  end
45
46
 
46
47
  private
48
+
47
49
  def msie?
48
50
  !!(ua =~ /MSIE/ && ua !~ /Opera/)
49
51
  end
@@ -1,121 +1,6 @@
1
1
  class Browser
2
2
  module Language
3
- LANGUAGES = {
4
- "af" => "Afrikaans",
5
- "sq" => "Albanian",
6
- "eu" => "Basque",
7
- "bg" => "Bulgarian",
8
- "be" => "Byelorussian",
9
- "ca" => "Catalan",
10
- "zh" => "Chinese",
11
- "zh-cn" => "Chinese/China",
12
- "zh-tw" => "Chinese/Taiwan",
13
- "zh-hk" => "Chinese/Hong Kong",
14
- "zh-sg" => "Chinese/singapore",
15
- "hr" => "Croatian",
16
- "cs" => "Czech",
17
- "da" => "Danish",
18
- "nl" => "Dutch",
19
- "nl-nl" => "Dutch/Netherlands",
20
- "nl-be" => "Dutch/Belgium",
21
- "en" => "English",
22
- "en-gb" => "English/United Kingdom",
23
- "en-us" => "English/United States",
24
- "en-au" => "English/Australian",
25
- "en-ca" => "English/Canada",
26
- "en-nz" => "English/New Zealand",
27
- "en-ie" => "English/Ireland",
28
- "en-za" => "English/South Africa",
29
- "en-jm" => "English/Jamaica",
30
- "en-bz" => "English/Belize",
31
- "en-tt" => "English/Trinidad",
32
- "et" => "Estonian",
33
- "fo" => "Faeroese",
34
- "fa" => "Farsi",
35
- "fi" => "Finnish",
36
- "fr" => "French",
37
- "fr-be" => "French/Belgium",
38
- "fr-fr" => "French/France",
39
- "fr-ch" => "French/Switzerland",
40
- "fr-ca" => "French/Canada",
41
- "fr-lu" => "French/Luxembourg",
42
- "gd" => "Gaelic",
43
- "gl" => "Galician",
44
- "de" => "German",
45
- "de-at" => "German/Austria",
46
- "de-de" => "German/Germany",
47
- "de-ch" => "German/Switzerland",
48
- "de-lu" => "German/Luxembourg",
49
- "de-li" => "German/Liechtenstein",
50
- "el" => "Greek",
51
- "he" => "Hebrew",
52
- "he-il" => "Hebrew/Israel",
53
- "hi" => "Hindi",
54
- "hu" => "Hungarian",
55
- "ie-ee" => "Internet Explorer/Easter Egg",
56
- "is" => "Icelandic",
57
- "id" => "Indonesian",
58
- "in" => "Indonesian",
59
- "ga" => "Irish",
60
- "it" => "Italian",
61
- "it-ch" => "Italian/ Switzerland",
62
- "ja" => "Japanese",
63
- "km" => "Khmer",
64
- "km-kh" => "Khmer/Cambodia",
65
- "ko" => "Korean",
66
- "lv" => "Latvian",
67
- "lt" => "Lithuanian",
68
- "mk" => "Macedonian",
69
- "ms" => "Malaysian",
70
- "mt" => "Maltese",
71
- "no" => "Norwegian",
72
- "pl" => "Polish",
73
- "pt" => "Portuguese",
74
- "pt-br" => "Portuguese/Brazil",
75
- "rm" => "Rhaeto-Romanic",
76
- "ro" => "Romanian",
77
- "ro-mo" => "Romanian/Moldavia",
78
- "ru" => "Russian",
79
- "ru-mo" => "Russian /Moldavia",
80
- "gd" => "Scots Gaelic",
81
- "sr" => "Serbian",
82
- "sk" => "Slovack",
83
- "sl" => "Slovenian",
84
- "sb" => "Sorbian",
85
- "es" => "Spanish",
86
- "es-do" => "Spanish",
87
- "es-ar" => "Spanish/Argentina",
88
- "es-co" => "Spanish/Colombia",
89
- "es-mx" => "Spanish/Mexico",
90
- "es-es" => "Spanish/Spain",
91
- "es-gt" => "Spanish/Guatemala",
92
- "es-cr" => "Spanish/Costa Rica",
93
- "es-pa" => "Spanish/Panama",
94
- "es-ve" => "Spanish/Venezuela",
95
- "es-pe" => "Spanish/Peru",
96
- "es-ec" => "Spanish/Ecuador",
97
- "es-cl" => "Spanish/Chile",
98
- "es-uy" => "Spanish/Uruguay",
99
- "es-py" => "Spanish/Paraguay",
100
- "es-bo" => "Spanish/Bolivia",
101
- "es-sv" => "Spanish/El salvador",
102
- "es-hn" => "Spanish/Honduras",
103
- "es-ni" => "Spanish/Nicaragua",
104
- "es-pr" => "Spanish/Puerto Rico",
105
- "sx" => "Sutu",
106
- "sv" => "Swedish",
107
- "sv-se" => "Swedish/Sweden",
108
- "sv-fi" => "Swedish/Finland",
109
- "ts" => "Thai",
110
- "tn" => "Tswana",
111
- "tr" => "Turkish",
112
- "uk" => "Ukrainian",
113
- "ur" => "Urdu",
114
- "vi" => "Vietnamese",
115
- "xh" => "Xshosa",
116
- "ji" => "Yiddish",
117
- "zu" => "Zulu"
118
- }
3
+ LANGUAGES = YAML.load_file(File.expand_path("../../../../languages.yml", __FILE__))
119
4
 
120
5
  # Set browser's preferred language
121
6
  attr_writer :accept_language
@@ -125,7 +10,7 @@ class Browser
125
10
  @accept_language
126
11
  .gsub(/;q=[\d.]+/, "")
127
12
  .split(",")
128
- .collect {|l| l.downcase.gsub(/\s/m, "")}
13
+ .map {|l| l.downcase.gsub(/\s/m, "") }
129
14
  end
130
15
  end
131
16
  end
@@ -16,6 +16,7 @@ class Browser
16
16
  end
17
17
 
18
18
  private
19
+
19
20
  def detect_mobile?
20
21
  ua =~ /(Mobi(le)?|Symbian|MIDP|Windows CE)/ || blackberry? || psp? || opera_mini?
21
22
  end
@@ -3,13 +3,13 @@ require "uri"
3
3
  class Browser
4
4
  class Middleware
5
5
  # Detect the most common assets.
6
- ASSETS_REGEX = %r[\.(css|png|jpe?g|gif|js|svg|ico|flv|mov|m4v|ogg|swf)\z]i
6
+ ASSETS_REGEX = /\.(css|png|jpe?g|gif|js|svg|ico|flv|mov|m4v|ogg|swf)\z/i
7
7
 
8
8
  # Detect the ACCEPT header. IE8 send */*.
9
9
  ACCEPT_REGEX = %r[(text/html|\*/\*)]
10
10
 
11
11
  def initialize(app, &block)
12
- raise ArgumentError, "Browser::Middleware requires a block" unless block
12
+ fail ArgumentError, "Browser::Middleware requires a block" unless block
13
13
 
14
14
  @app = app
15
15
  @block = block
@@ -1,8 +1,8 @@
1
1
  class Browser
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 4
5
- PATCH = 1
4
+ MINOR = 5
5
+ PATCH = 0
6
6
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
8
8
  end
@@ -1,91 +1,23 @@
1
1
  # -*- encoding: utf-8 -*-
2
- require "test_helper"
3
-
4
- class BrowserTest < Test::Unit::TestCase
5
- IPHONE = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/1A542a Safari/419.3"
6
- IPOD = "Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A100a Safari/419.3"
7
- IPAD = "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10"
8
- SAFARI = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-us) AppleWebKit/533.17.8 (KHTML, like Gecko) Version/5.0.1 Safari/533.17.8"
9
- IE6 = "Mozilla/5.0 (Windows; U; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"
10
- IE7 = "Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)"
11
- IE8 = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.2; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)"
12
- IE8_COMPAT = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; Media Center PC 5.0; .NET CLR 3.5.21022)"
13
- IE9 = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
14
- IE9_COMPAT = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/5.0)"
15
- IE10 = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; EIE10;ENUSMSN)"
16
- IE10_COMPAT = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; EIE10;ENUSMSN)"
17
- IE10_X64_WINX64 = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)"
18
- IE11 = "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko"
19
- IE11_TOUCH_SCREEN = "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; rv:11.0) like Gecko"
20
- OPERA = "Opera/9.80 (Macintosh; Intel Mac OS X 10.7.4; U; en) Presto/2.10.229 Version/11.64"
21
- OPERA_NEXT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.37 Safari/537.36 OPR/15.0.1147.44 (Edition Next)"
22
- FIREFOX = "Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.2) Gecko/20121223 Ubuntu/9.25 (jaunty) Firefox/3.8"
23
- FIREFOX_MODERN = "Mozilla/5.0 (X11; Ubuntu; Linux armv7l; rv:17.0) Gecko/20100101 Firefox/17.0"
24
- FIREFOX_TABLET = "Mozilla/5.0 (Android; Tablet; rv:14.0) Gecko/14.0 Firefox/14.0"
25
- CHROME = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4"
26
- MOBILE_CHROME = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3"
27
- CHROME_OS = "Mozilla/5.0 (X11; CrOS x86_64 3701.81.0) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.57 Safari/537.31."
28
- ANDROID = "Android SDK 1.5r3: Mozilla/5.0 (Linux; U; Android 1.5; de-; sdk Build/CUPCAKE) AppleWebkit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1"
29
- TABLOID = "Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13"
30
- BLACKBERRY = "BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103"
31
- BLACKBERRY4 = "BlackBerry8100/4.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103"
32
- BLACKBERRY5 = "BlackBerry9000/5.0.0.93 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/179"
33
- BLACKBERRY6 = "Mozilla/5.0 (BlackBerry; U; BlackBerry AAAA; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/6.0.0.141 Mobile Safari/534.11+"
34
- BLACKBERRY7 = "Mozilla/5.0 (BlackBerry; U; BlackBerry AAAA; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.1 Mobile Safari/534.11+"
35
- BLACKBERRY10 = "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.1675 Mobile Safari/537.10+"
36
- PSP = "Mozilla/4.0 (PSP (PlayStation Portable); 2.00)"
37
- PSP_VITA = "Mozilla/5.0 (Playstation Vita 1.61) AppleWebKit/531.22.8 (KHTML, like Gecko) Silk/3.2"
38
- QUICKTIME = "QuickTime/7.6.8 (qtver=7.6.8;os=Windows NT 5.1Service Pack 3)"
39
- COREMEDIA = "Apple Mac OS X v10.6.4 CoreMedia v1.0.0.10F569"
40
- XOOM = "Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13"
41
- NEXUS_TABLET = "Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19"
42
- NOOK = "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; NOOK BNTV250A Build/GINGERBREAD 1.4.3) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Safari/533.1"
43
- SAMSUNG = "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; SAMSUNG-SGH-I497 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30"
44
- OPERA_MINI = "Opera/9.80 (Android; Opera Mini/7.029952/28.2359;u; fr) Presto/2.8.119 Version/11.10"
45
- OPERA_MOBI = "Opera/9.8 (Android 2.3.5; Linux; Opera Mobi/ADR-1205181138; U; en) Presto/2.10.254 Version/12.00"
46
- WINDOWS_PHONE = "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; DELL; Venue Pro)"
47
- WINDOWS_PHONE8 = "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920)"
48
- WINDOWS_MOBILE = "Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12)"
49
- WINDOWS8 = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"
50
- WINDOWS81 = "Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko"
51
- SURFACE = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0; Touch)"
52
- KINDLE = "Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600×800; rotate)"
53
- KINDLE_FIRE = "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
54
- KINDLE_FIRE_HD = "Mozilla/5.0 (Linux; U; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Safari/535.19 Silk-Accelerated=true"
55
- KINDLE_FIRE_HD_MOBILE = "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Mobile Safari/535.19 Silk-Accelerated=true"
56
- PHANTOM_JS = "Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.0 Safari/534.34"
57
- IOS4 = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7"
58
- IOS5 = "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"
59
- IOS6 = "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25"
60
- IOS7 = "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53"
61
- PLAYBOOK = "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+"
62
- NINTENDO_WII = "Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)"
63
- NINTENDO_WIIU = "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/534.52 (KHTML, like Gecko) NX/2.1.0.8.23 NintendoBrowser/1.1.0.7579.EU"
64
- PLAYSTATION3 = "Mozilla/5.0 (PLAYSTATION 3; 3.55)"
65
- PLAYSTATION4 = "Mozilla/5.0 (PlayStation 4 1.020) AppleWebKit/536.26 (KHTML, like Gecko)"
66
- XBOX360 = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox), or Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Xbox)"
67
- XBOXONE = "Mozilla/5.0 (Compatible; MSIE 10.0; Windows NT 6.2; Trident /6.0; Xbox; Xbox One)"
68
- GOOGLE_BOT = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
69
- MSN_BOT = "msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)"
70
- FACEBOOK_BOT = "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"
71
- SMART_TV = "Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV) AppleWebKit/531.2+ (KHTML, like Gecko) WebBrowser/1.0 SmartTV Safari/531.2+"
72
-
73
- def setup
2
+ require "spec_helper"
3
+
4
+ describe Browser do
5
+ before do
74
6
  @browser = Browser.new
75
7
  end
76
8
 
77
- def test_yield_self_when_block_is_given
9
+ it "yields self when block is given" do
78
10
  browser = nil
79
11
  Browser.new {|b| browser = b }
80
12
  assert_kind_of Browser, browser
81
13
  end
82
14
 
83
- def test_respond_to_ua_methods
15
+ it "responds to ua methods" do
84
16
  assert @browser.respond_to?(:ua)
85
17
  assert @browser.respond_to?(:ua=)
86
18
  end
87
19
 
88
- def test_delegate_ua_methods
20
+ it "delegates ua methods" do
89
21
  @browser.user_agent = "Safari"
90
22
  assert_equal "Safari", @browser.ua
91
23
 
@@ -93,12 +25,12 @@ class BrowserTest < Test::Unit::TestCase
93
25
  assert_equal "Mozilla", @browser.user_agent
94
26
  end
95
27
 
96
- def test_set_accept_language_while_instantiating_object
28
+ it "sets accept language while instantiating object" do
97
29
  @browser = Browser.new(:accept_language => "pt-br")
98
30
  assert_equal ["pt-br"], @browser.accept_language
99
31
  end
100
32
 
101
- def test_set_user_agent_while_instantianting_object
33
+ it "sets user agent while instantianting object" do
102
34
  @browser = Browser.new(:ua => "Safari")
103
35
  assert_equal "Safari", @browser.ua
104
36
 
@@ -106,8 +38,8 @@ class BrowserTest < Test::Unit::TestCase
106
38
  assert_equal "Chrome", @browser.ua
107
39
  end
108
40
 
109
- def test_detect_iphone
110
- @browser.ua = IPHONE
41
+ it "detects iphone" do
42
+ @browser.ua = $ua["IPHONE"]
111
43
 
112
44
  assert_equal "iPhone", @browser.name
113
45
  assert @browser.iphone?
@@ -121,8 +53,8 @@ class BrowserTest < Test::Unit::TestCase
121
53
  assert_equal "3", @browser.version
122
54
  end
123
55
 
124
- def test_detect_safari
125
- @browser.ua = SAFARI
56
+ it "detects safari" do
57
+ @browser.ua = $ua["SAFARI"]
126
58
 
127
59
  assert_equal "Safari", @browser.name
128
60
  assert @browser.safari?
@@ -132,8 +64,8 @@ class BrowserTest < Test::Unit::TestCase
132
64
  assert_equal "5", @browser.version
133
65
  end
134
66
 
135
- def test_detect_ipod
136
- @browser.ua = IPOD
67
+ it "detects ipod" do
68
+ @browser.ua = $ua["IPOD"]
137
69
 
138
70
  assert_equal "iPod Touch", @browser.name
139
71
  assert @browser.ipod?
@@ -147,8 +79,8 @@ class BrowserTest < Test::Unit::TestCase
147
79
  assert_equal "3", @browser.version
148
80
  end
149
81
 
150
- def test_detect_ipad
151
- @browser.ua = IPAD
82
+ it "detects ipad" do
83
+ @browser.ua = $ua["IPAD"]
152
84
 
153
85
  assert_equal "iPad", @browser.name
154
86
  assert @browser.ipad?
@@ -162,33 +94,33 @@ class BrowserTest < Test::Unit::TestCase
162
94
  assert_equal "4", @browser.version
163
95
  end
164
96
 
165
- def test_detect_ios4
166
- @browser.ua = IOS4
97
+ it "detects ios4" do
98
+ @browser.ua = $ua["IOS4"]
167
99
  assert @browser.ios?
168
100
  assert @browser.ios4?
169
101
  end
170
102
 
171
103
 
172
- def test_detect_ios5
173
- @browser.ua = IOS5
104
+ it "detects ios5" do
105
+ @browser.ua = $ua["IOS5"]
174
106
  assert @browser.ios?
175
107
  assert @browser.ios5?
176
108
  end
177
109
 
178
- def test_detect_ios6
179
- @browser.ua = IOS6
110
+ it "detects ios6" do
111
+ @browser.ua = $ua["IOS6"]
180
112
  assert @browser.ios?
181
113
  assert @browser.ios6?
182
114
  end
183
115
 
184
- def test_detect_ios7
185
- @browser.ua = IOS7
116
+ it "detects ios7" do
117
+ @browser.ua = $ua["IOS7"]
186
118
  assert @browser.ios?
187
119
  assert @browser.ios7?
188
120
  end
189
121
 
190
- def test_detect_ie6
191
- @browser.ua = IE6
122
+ it "detects ie6" do
123
+ @browser.ua = $ua["IE6"]
192
124
 
193
125
  assert_equal "Internet Explorer", @browser.name
194
126
  assert @browser.ie?
@@ -198,8 +130,8 @@ class BrowserTest < Test::Unit::TestCase
198
130
  assert_equal "6", @browser.version
199
131
  end
200
132
 
201
- def test_detect_ie7
202
- @browser.ua = IE7
133
+ it "detects ie7" do
134
+ @browser.ua = $ua["IE7"]
203
135
 
204
136
  assert_equal "Internet Explorer", @browser.name
205
137
  assert @browser.ie?
@@ -209,8 +141,8 @@ class BrowserTest < Test::Unit::TestCase
209
141
  assert_equal "7", @browser.version
210
142
  end
211
143
 
212
- def test_detect_ie8
213
- @browser.ua = IE8
144
+ it "detects ie8" do
145
+ @browser.ua = $ua["IE8"]
214
146
 
215
147
  assert_equal "Internet Explorer", @browser.name
216
148
  assert @browser.ie?
@@ -221,8 +153,8 @@ class BrowserTest < Test::Unit::TestCase
221
153
  assert_equal "8", @browser.version
222
154
  end
223
155
 
224
- def test_detect_ie8_in_compatibility_view
225
- @browser.ua = IE8_COMPAT
156
+ it "detects ie8 in compatibility view" do
157
+ @browser.ua = $ua["IE8_COMPAT"]
226
158
 
227
159
  assert_equal "Internet Explorer", @browser.name
228
160
  assert @browser.ie?
@@ -234,8 +166,8 @@ class BrowserTest < Test::Unit::TestCase
234
166
  assert_equal "7", @browser.version
235
167
  end
236
168
 
237
- def test_detect_ie9
238
- @browser.ua = IE9
169
+ it "detects ie9" do
170
+ @browser.ua = $ua["IE9"]
239
171
 
240
172
  assert_equal "Internet Explorer", @browser.name
241
173
  assert @browser.ie?
@@ -246,8 +178,8 @@ class BrowserTest < Test::Unit::TestCase
246
178
  assert_equal "9", @browser.version
247
179
  end
248
180
 
249
- def test_detect_ie9_in_compatibility_view
250
- @browser.ua = IE9_COMPAT
181
+ it "detects ie9 in compatibility view" do
182
+ @browser.ua = $ua["IE9_COMPAT"]
251
183
 
252
184
  assert_equal "Internet Explorer", @browser.name
253
185
  assert @browser.ie?
@@ -259,8 +191,8 @@ class BrowserTest < Test::Unit::TestCase
259
191
  assert_equal "7", @browser.version
260
192
  end
261
193
 
262
- def test_detect_ie10
263
- @browser.ua = IE10
194
+ it "detects ie10" do
195
+ @browser.ua = $ua["IE10"]
264
196
 
265
197
  assert_equal "Internet Explorer", @browser.name
266
198
  assert @browser.ie?
@@ -271,8 +203,8 @@ class BrowserTest < Test::Unit::TestCase
271
203
  assert_equal "10", @browser.version
272
204
  end
273
205
 
274
- def test_detect_ie10_in_compatibility_view
275
- @browser.ua = IE10_COMPAT
206
+ it "detects ie10 in compatibility view" do
207
+ @browser.ua = $ua["IE10_COMPAT"]
276
208
 
277
209
  assert_equal "Internet Explorer", @browser.name
278
210
  assert @browser.ie?
@@ -284,8 +216,8 @@ class BrowserTest < Test::Unit::TestCase
284
216
  assert_equal "7", @browser.version
285
217
  end
286
218
 
287
- def test_detect_ie11
288
- @browser.ua = IE11
219
+ it "detects ie11" do
220
+ @browser.ua = $ua["IE11"]
289
221
 
290
222
  assert_equal "Internet Explorer", @browser.name
291
223
  assert @browser.ie?
@@ -296,8 +228,8 @@ class BrowserTest < Test::Unit::TestCase
296
228
  assert_equal "11", @browser.version
297
229
  end
298
230
 
299
- def test_detect_opera
300
- @browser.ua = OPERA
231
+ it "detects opera" do
232
+ @browser.ua = $ua["OPERA"]
301
233
 
302
234
  assert_equal "Opera", @browser.name
303
235
  assert @browser.opera?
@@ -306,8 +238,8 @@ class BrowserTest < Test::Unit::TestCase
306
238
  assert_equal "11", @browser.version
307
239
  end
308
240
 
309
- def test_detect_opera_next
310
- @browser.ua = OPERA_NEXT
241
+ it "detects opera next" do
242
+ @browser.ua = $ua["OPERA_NEXT"]
311
243
 
312
244
  assert_equal "Opera", @browser.name
313
245
  assert_equal :opera, @browser.id
@@ -319,8 +251,8 @@ class BrowserTest < Test::Unit::TestCase
319
251
  assert_equal "28", @browser.version
320
252
  end
321
253
 
322
- def test_detect_firefox
323
- @browser.ua = FIREFOX
254
+ it "detects firefox" do
255
+ @browser.ua = $ua["FIREFOX"]
324
256
 
325
257
  assert_equal "Firefox", @browser.name
326
258
  assert @browser.firefox?
@@ -329,8 +261,8 @@ class BrowserTest < Test::Unit::TestCase
329
261
  assert_equal "3", @browser.version
330
262
  end
331
263
 
332
- def test_detect_modern_firefox
333
- @browser.ua = FIREFOX_MODERN
264
+ it "detects modern firefox" do
265
+ @browser.ua = $ua["FIREFOX_MODERN"]
334
266
 
335
267
  assert_equal "Firefox", @browser.name
336
268
  assert @browser.firefox?
@@ -339,8 +271,8 @@ class BrowserTest < Test::Unit::TestCase
339
271
  assert_equal "17", @browser.version
340
272
  end
341
273
 
342
- def test_detect_firefox_android_tablet
343
- @browser.ua = FIREFOX_TABLET
274
+ it "detects firefox android tablet" do
275
+ @browser.ua = $ua["FIREFOX_TABLET"]
344
276
 
345
277
  assert_equal "Android", @browser.name
346
278
  assert @browser.firefox?
@@ -351,8 +283,8 @@ class BrowserTest < Test::Unit::TestCase
351
283
  assert_equal "14", @browser.version
352
284
  end
353
285
 
354
- def test_detect_chrome
355
- @browser.ua = CHROME
286
+ it "detects chrome" do
287
+ @browser.ua = $ua["CHROME"]
356
288
 
357
289
  assert_equal "Chrome", @browser.name
358
290
  assert @browser.chrome?
@@ -363,8 +295,8 @@ class BrowserTest < Test::Unit::TestCase
363
295
  assert_equal "5", @browser.version
364
296
  end
365
297
 
366
- def test_detect_mobile_chrome
367
- @browser.ua = MOBILE_CHROME
298
+ it "detects mobile chrome" do
299
+ @browser.ua = $ua["MOBILE_CHROME"]
368
300
 
369
301
  assert_equal "Chrome", @browser.name
370
302
  assert @browser.chrome?
@@ -375,8 +307,8 @@ class BrowserTest < Test::Unit::TestCase
375
307
  assert_equal "19", @browser.version
376
308
  end
377
309
 
378
- def test_detect_android
379
- @browser.ua = ANDROID
310
+ it "detects android" do
311
+ @browser.ua = $ua["ANDROID"]
380
312
 
381
313
  assert_equal "Android", @browser.name
382
314
  assert @browser.android?
@@ -389,8 +321,8 @@ class BrowserTest < Test::Unit::TestCase
389
321
  assert_equal "3", @browser.version
390
322
  end
391
323
 
392
- def test_detect_android_tablet
393
- @browser.ua = TABLOID
324
+ it "detects android tablet" do
325
+ @browser.ua = $ua["TABLOID"]
394
326
 
395
327
  assert_equal "Android", @browser.name
396
328
  assert @browser.android?
@@ -403,8 +335,8 @@ class BrowserTest < Test::Unit::TestCase
403
335
  assert_equal "4", @browser.version
404
336
  end
405
337
 
406
- def test_detect_surface_tablet
407
- @browser.ua = SURFACE
338
+ it "detects surface tablet" do
339
+ @browser.ua = $ua["SURFACE"]
408
340
 
409
341
  assert_equal "Internet Explorer", @browser.name
410
342
  assert @browser.surface?
@@ -416,8 +348,8 @@ class BrowserTest < Test::Unit::TestCase
416
348
  assert_equal "10", @browser.version
417
349
  end
418
350
 
419
- def test_detect_blackberry
420
- @browser.ua = BLACKBERRY
351
+ it "detects blackberry" do
352
+ @browser.ua = $ua["BLACKBERRY"]
421
353
 
422
354
  assert_equal "BlackBerry", @browser.name
423
355
  assert @browser.blackberry?
@@ -428,8 +360,8 @@ class BrowserTest < Test::Unit::TestCase
428
360
  assert_equal "4", @browser.version
429
361
  end
430
362
 
431
- def test_detect_blackberry4
432
- @browser.ua = BLACKBERRY4
363
+ it "detects blackberry4" do
364
+ @browser.ua = $ua["BLACKBERRY4"]
433
365
 
434
366
  assert_equal "BlackBerry", @browser.name
435
367
  assert @browser.blackberry4?
@@ -440,8 +372,8 @@ class BrowserTest < Test::Unit::TestCase
440
372
  assert_equal "4", @browser.version
441
373
  end
442
374
 
443
- def test_detect_blackberry5
444
- @browser.ua = BLACKBERRY5
375
+ it "detects blackberry5" do
376
+ @browser.ua = $ua["BLACKBERRY5"]
445
377
 
446
378
  assert_equal "BlackBerry", @browser.name
447
379
  assert @browser.blackberry5?
@@ -452,8 +384,8 @@ class BrowserTest < Test::Unit::TestCase
452
384
  assert_equal "5", @browser.version
453
385
  end
454
386
 
455
- def test_detect_blackberry6
456
- @browser.ua = BLACKBERRY6
387
+ it "detects blackberry6" do
388
+ @browser.ua = $ua["BLACKBERRY6"]
457
389
 
458
390
  assert_equal "BlackBerry", @browser.name
459
391
  assert @browser.blackberry6?
@@ -464,8 +396,8 @@ class BrowserTest < Test::Unit::TestCase
464
396
  assert_equal "534", @browser.version
465
397
  end
466
398
 
467
- def test_detect_blackberry7
468
- @browser.ua = BLACKBERRY7
399
+ it "detects blackberry7" do
400
+ @browser.ua = $ua["BLACKBERRY7"]
469
401
 
470
402
  assert_equal "BlackBerry", @browser.name
471
403
  assert @browser.blackberry7?
@@ -476,8 +408,8 @@ class BrowserTest < Test::Unit::TestCase
476
408
  assert_equal "534", @browser.version
477
409
  end
478
410
 
479
- def test_detect_blackberry10
480
- @browser.ua = BLACKBERRY10
411
+ it "detects blackberry10" do
412
+ @browser.ua = $ua["BLACKBERRY10"]
481
413
 
482
414
  assert_equal "Safari", @browser.name
483
415
  assert @browser.blackberry10?
@@ -488,8 +420,8 @@ class BrowserTest < Test::Unit::TestCase
488
420
  assert_equal "10", @browser.version
489
421
  end
490
422
 
491
- def test_detect_quicktime
492
- @browser.ua = QUICKTIME
423
+ it "detects quicktime" do
424
+ @browser.ua = $ua["QUICKTIME"]
493
425
 
494
426
  assert_equal "QuickTime", @browser.name
495
427
  assert @browser.quicktime?
@@ -497,8 +429,8 @@ class BrowserTest < Test::Unit::TestCase
497
429
  assert_equal "7", @browser.version
498
430
  end
499
431
 
500
- def test_detect_core_media
501
- @browser.ua = COREMEDIA
432
+ it "detects core media" do
433
+ @browser.ua = $ua["COREMEDIA"]
502
434
 
503
435
  assert_equal "Apple CoreMedia", @browser.name
504
436
  assert @browser.core_media?
@@ -506,8 +438,8 @@ class BrowserTest < Test::Unit::TestCase
506
438
  assert_equal "1", @browser.version
507
439
  end
508
440
 
509
- def test_detect_phantom_js
510
- @browser.ua = PHANTOM_JS
441
+ it "detects phantom.js" do
442
+ @browser.ua = $ua["PHANTOM_JS"]
511
443
 
512
444
  assert_equal "PhantomJS", @browser.name
513
445
  assert @browser.phantom_js?
@@ -518,23 +450,23 @@ class BrowserTest < Test::Unit::TestCase
518
450
  assert_equal "1", @browser.version
519
451
  end
520
452
 
521
- def test_detect_psp
522
- @browser.ua = PSP
453
+ it "detects psp" do
454
+ @browser.ua = $ua["PSP"]
523
455
 
524
456
  assert_equal "PlayStation Portable", @browser.name
525
457
  assert @browser.psp?
526
458
  assert @browser.mobile?
527
459
  end
528
460
 
529
- def test_detect_psp_vita
530
- @browser.ua = PSP_VITA
461
+ it "detects psp vita" do
462
+ @browser.ua = $ua["PSP_VITA"]
531
463
 
532
464
  assert_equal "PlayStation Portable", @browser.name
533
465
  assert @browser.psp?
534
466
  assert @browser.mobile?
535
467
  end
536
468
 
537
- def test_detect_other_mobiles
469
+ it "detects other mobiles" do
538
470
  @browser.ua = "Symbian OS"
539
471
  assert @browser.mobile?
540
472
  assert ! @browser.tablet?
@@ -544,8 +476,8 @@ class BrowserTest < Test::Unit::TestCase
544
476
  assert ! @browser.tablet?
545
477
  end
546
478
 
547
- def test_detect_windows_mobile
548
- @browser.ua = WINDOWS_MOBILE
479
+ it "detects windows mobile" do
480
+ @browser.ua = $ua["WINDOWS_MOBILE"]
549
481
 
550
482
  assert @browser.mobile?
551
483
  assert @browser.windows?
@@ -554,19 +486,19 @@ class BrowserTest < Test::Unit::TestCase
554
486
  assert ! @browser.tablet?
555
487
  end
556
488
 
557
- def test_return_a_zero_version
489
+ it "returns a zero version" do
558
490
  @browser.ua = "Bot"
559
491
  assert_equal "0.0", @browser.full_version
560
492
  assert_equal "0", @browser.version
561
493
  end
562
494
 
563
- def test_meta
564
- @browser.ua = CHROME
495
+ it "sets meta" do
496
+ @browser.ua = $ua["CHROME"]
565
497
  assert_kind_of Array, @browser.meta
566
498
  end
567
499
 
568
- def test_return_string_representation
569
- @browser.ua = CHROME
500
+ it "returns string representation" do
501
+ @browser.ua = $ua["CHROME"]
570
502
  meta = @browser.to_s
571
503
 
572
504
  assert meta.include?("chrome")
@@ -575,8 +507,8 @@ class BrowserTest < Test::Unit::TestCase
575
507
  assert meta.include?("modern")
576
508
  end
577
509
 
578
- def test_return_string_representation_for_ios
579
- @browser.ua = IPHONE
510
+ it "returns string representation for ios" do
511
+ @browser.ua = $ua["IPHONE"]
580
512
  meta = @browser.to_s
581
513
 
582
514
  assert meta.include?("iphone")
@@ -589,8 +521,8 @@ class BrowserTest < Test::Unit::TestCase
589
521
  assert meta.include?("mobile")
590
522
  end
591
523
 
592
- def test_return_string_representation_for_mobile
593
- @browser.ua = BLACKBERRY
524
+ it "returns string representation for mobile" do
525
+ @browser.ua = $ua["BLACKBERRY"]
594
526
  meta = @browser.to_s
595
527
 
596
528
  assert meta.include?("blackberry")
@@ -599,8 +531,8 @@ class BrowserTest < Test::Unit::TestCase
599
531
  assert meta.include?("mobile")
600
532
  end
601
533
 
602
- def test_return_string_representation_for_ie6
603
- @browser.ua = IE6
534
+ it "returns string representation for ie6" do
535
+ @browser.ua = $ua["IE6"]
604
536
  meta = @browser.meta
605
537
 
606
538
  assert meta.include?("ie")
@@ -611,8 +543,8 @@ class BrowserTest < Test::Unit::TestCase
611
543
  assert meta.include?("windows")
612
544
  end
613
545
 
614
- def test_return_string_representation_for_ie7
615
- @browser.ua = IE7
546
+ it "returns string representation for ie7" do
547
+ @browser.ua = $ua["IE7"]
616
548
  meta = @browser.meta
617
549
 
618
550
  assert meta.include?("ie")
@@ -623,8 +555,8 @@ class BrowserTest < Test::Unit::TestCase
623
555
  assert meta.include?("windows")
624
556
  end
625
557
 
626
- def test_return_string_representation_for_ie8
627
- @browser.ua = IE8
558
+ it "returns string representation for ie8" do
559
+ @browser.ua = $ua["IE8"]
628
560
  meta = @browser.meta
629
561
 
630
562
  assert meta.include?("ie")
@@ -633,76 +565,76 @@ class BrowserTest < Test::Unit::TestCase
633
565
  assert meta.include?("windows")
634
566
  end
635
567
 
636
- def test_detect_unknown_id
568
+ it "detects unknown id" do
637
569
  @browser.ua = "Unknown"
638
570
  assert_equal :other, @browser.id
639
571
  end
640
572
 
641
- def test_detect_unknown_name
573
+ it "detects unknown name" do
642
574
  @browser.ua = "Unknown"
643
575
  assert_equal "Other", @browser.name
644
576
  end
645
577
 
646
- def test_detect_mac_platform
578
+ it "detects mac platform" do
647
579
  @browser.ua = "Mac OS X"
648
580
  assert_equal :mac, @browser.platform
649
581
  assert @browser.mac?
650
582
  end
651
583
 
652
- def test_detect_windows_platform
584
+ it "detects windows platform" do
653
585
  @browser.ua = "Windows"
654
586
  assert_equal :windows, @browser.platform
655
587
  assert @browser.windows?
656
588
  end
657
589
 
658
- def test_detect_windows8
659
- @browser.ua = WINDOWS8
590
+ it "detects windows8" do
591
+ @browser.ua = $ua["WINDOWS8"]
660
592
 
661
593
  assert @browser.windows?
662
594
  assert @browser.windows8?
663
595
  end
664
596
 
665
- def test_detect_windows8_1
666
- @browser.ua = WINDOWS81
597
+ it "detects windows8.1" do
598
+ @browser.ua = $ua["WINDOWS81"]
667
599
 
668
600
  assert @browser.windows?
669
601
  assert @browser.windows8?
670
602
  end
671
603
 
672
- def test_detect_linux_platform
604
+ it "detects linux platform" do
673
605
  @browser.ua = "Linux"
674
606
  assert_equal :linux, @browser.platform
675
607
  assert @browser.linux?
676
608
  end
677
609
 
678
- def test_detect_unknown_platform
610
+ it "detects unknown platform" do
679
611
  @browser.ua = "Unknown"
680
612
  assert_equal :other, @browser.platform
681
613
  end
682
614
 
683
- def test_return_all_known_languages
615
+ it "returns all known languages" do
684
616
  @browser.accept_language = "en-us,en;q=0.8,pt-br;q=0.5,pt;q=0.3"
685
617
  assert_equal ["en-us", "en", "pt-br", "pt"], @browser.accept_language
686
618
  end
687
619
 
688
- def test_xoom
689
- @browser.ua = XOOM
620
+ it "detects xoom" do
621
+ @browser.ua = $ua["XOOM"]
690
622
 
691
623
  assert @browser.android?
692
624
  assert @browser.tablet?
693
625
  assert ! @browser.mobile?
694
626
  end
695
627
 
696
- def test_nexus_tablet
697
- @browser.ua = NEXUS_TABLET
628
+ it "detects nexus tablet" do
629
+ @browser.ua = $ua["NEXUS_TABLET"]
698
630
 
699
631
  assert @browser.android?
700
632
  assert @browser.tablet?
701
633
  assert ! @browser.mobile?
702
634
  end
703
635
 
704
- def test_blackberry_playbook_tablet
705
- @browser.ua = PLAYBOOK
636
+ it "detects blackberry playbook tablet" do
637
+ @browser.ua = $ua["PLAYBOOK"]
706
638
 
707
639
  assert ! @browser.android?
708
640
  assert @browser.tablet?
@@ -712,24 +644,24 @@ class BrowserTest < Test::Unit::TestCase
712
644
  assert_equal "7", @browser.version
713
645
  end
714
646
 
715
- def test_opera_mini
716
- @browser.ua = OPERA_MINI
647
+ it "detects opera mini" do
648
+ @browser.ua = $ua["OPERA_MINI"]
717
649
 
718
650
  assert @browser.opera_mini?
719
651
  assert ! @browser.tablet?
720
652
  assert @browser.mobile?
721
653
  end
722
654
 
723
- def test_opera_mobi
724
- @browser.ua = OPERA_MOBI
655
+ it "detects opera mobi" do
656
+ @browser.ua = $ua["OPERA_MOBI"]
725
657
 
726
658
  assert @browser.opera?
727
659
  assert ! @browser.tablet?
728
660
  assert @browser.mobile?
729
661
  end
730
662
 
731
- def test_windows_phone
732
- @browser.ua = WINDOWS_PHONE
663
+ it "detects windows phone" do
664
+ @browser.ua = $ua["WINDOWS_PHONE"]
733
665
 
734
666
  assert @browser.ie?
735
667
  assert_equal "7", @browser.version
@@ -739,8 +671,8 @@ class BrowserTest < Test::Unit::TestCase
739
671
  assert ! @browser.tablet?
740
672
  end
741
673
 
742
- def test_windows_phone_8
743
- @browser.ua = WINDOWS_PHONE8
674
+ it "detects windows phone 8" do
675
+ @browser.ua = $ua["WINDOWS_PHONE8"]
744
676
 
745
677
  assert @browser.ie?
746
678
  assert_equal "10", @browser.version
@@ -750,8 +682,8 @@ class BrowserTest < Test::Unit::TestCase
750
682
  assert ! @browser.tablet?
751
683
  end
752
684
 
753
- def test_windows_mobile
754
- @browser.ua = WINDOWS_PHONE8
685
+ it "detects windows mobile" do
686
+ @browser.ua = $ua["WINDOWS_PHONE8"]
755
687
 
756
688
  assert @browser.ie?
757
689
  assert_equal "10", @browser.version
@@ -761,13 +693,13 @@ class BrowserTest < Test::Unit::TestCase
761
693
  assert ! @browser.tablet?
762
694
  end
763
695
 
764
- def test_windows_x64
765
- @browser.ua = IE10_X64_WINX64
696
+ it "detects windows x64" do
697
+ @browser.ua = $ua["IE10_X64_WINX64"]
766
698
  assert @browser.windows_x64?
767
699
  end
768
700
 
769
- def test_detect_ie11_touch_desktop_pc
770
- @browser.ua = IE11_TOUCH_SCREEN
701
+ it "detects ie11 touch desktop pc" do
702
+ @browser.ua = $ua["IE11_TOUCH_SCREEN"]
771
703
 
772
704
  assert_equal "Internet Explorer", @browser.name
773
705
  assert @browser.ie?
@@ -781,22 +713,22 @@ class BrowserTest < Test::Unit::TestCase
781
713
  assert_equal "11", @browser.version
782
714
  end
783
715
 
784
- def test_kindle_monochrome
785
- @browser.ua = KINDLE
716
+ it "detects kindle monochrome" do
717
+ @browser.ua = $ua["KINDLE"]
786
718
 
787
719
  assert @browser.kindle?
788
720
  assert @browser.webkit?
789
721
  end
790
722
 
791
- def test_kindle_fire
792
- @browser.ua = KINDLE_FIRE
723
+ it "detects kindle fire" do
724
+ @browser.ua = $ua["KINDLE_FIRE"]
793
725
 
794
726
  assert @browser.kindle?
795
727
  assert @browser.webkit?
796
728
  end
797
729
 
798
- def test_kindle_fire_hd
799
- @browser.ua = KINDLE_FIRE_HD
730
+ it "detects kindle fire hd" do
731
+ @browser.ua = $ua["KINDLE_FIRE_HD"]
800
732
 
801
733
  assert @browser.silk?
802
734
  assert @browser.kindle?
@@ -805,8 +737,8 @@ class BrowserTest < Test::Unit::TestCase
805
737
  assert ! @browser.mobile?
806
738
  end
807
739
 
808
- def test_kindle_fire_hd_mobile
809
- @browser.ua = KINDLE_FIRE_HD_MOBILE
740
+ it "detects kindle fire hd mobile" do
741
+ @browser.ua = $ua["KINDLE_FIRE_HD_MOBILE"]
810
742
 
811
743
  assert @browser.silk?
812
744
  assert @browser.kindle?
@@ -815,97 +747,97 @@ class BrowserTest < Test::Unit::TestCase
815
747
  assert @browser.mobile?
816
748
  end
817
749
 
818
- def test_nook
819
- @browser.ua = NOOK
750
+ it "detects nook" do
751
+ @browser.ua = $ua["NOOK"]
820
752
 
821
753
  assert @browser.tablet?
822
754
  assert ! @browser.mobile?
823
755
  end
824
756
 
825
- def test_samsung
826
- @browser.ua = SAMSUNG
757
+ it "detects samsung" do
758
+ @browser.ua = $ua["SAMSUNG"]
827
759
 
828
760
  assert @browser.tablet?
829
761
  assert ! @browser.mobile?
830
762
  end
831
763
 
832
- def test_nintendo_wii
833
- @browser.ua = NINTENDO_WII
764
+ it "detects nintendo wii" do
765
+ @browser.ua = $ua["NINTENDO_WII"]
834
766
 
835
767
  assert @browser.console?
836
768
  assert @browser.nintendo?
837
769
  end
838
770
 
839
- def test_nintendo_wii_u
840
- @browser.ua = NINTENDO_WIIU
771
+ it "detects nintendo wii u" do
772
+ @browser.ua = $ua["NINTENDO_WIIU"]
841
773
 
842
774
  assert @browser.console?
843
775
  assert @browser.nintendo?
844
776
  end
845
777
 
846
- def test_playstation_3
847
- @browser.ua = PLAYSTATION3
778
+ it "detects playstation 3" do
779
+ @browser.ua = $ua["PLAYSTATION3"]
848
780
 
849
781
  assert @browser.console?
850
782
  assert @browser.playstation?
851
783
  end
852
784
 
853
- def test_playstation_4
854
- @browser.ua = PLAYSTATION4
785
+ it "detects playstation 4" do
786
+ @browser.ua = $ua["PLAYSTATION4"]
855
787
 
856
788
  assert @browser.console?
857
789
  assert @browser.playstation?
858
790
  end
859
791
 
860
- def test_xbox_360
861
- @browser.ua = XBOX360
792
+ it "detects xbox 360" do
793
+ @browser.ua = $ua["XBOX360"]
862
794
 
863
795
  assert @browser.console?
864
796
  assert @browser.xbox?
865
797
  end
866
798
 
867
- def test_xbox_one
868
- @browser.ua = XBOXONE
799
+ it "detects xbox one" do
800
+ @browser.ua = $ua["XBOXONE"]
869
801
 
870
802
  assert @browser.console?
871
803
  assert @browser.xbox?
872
804
  end
873
805
 
874
- def test_remove_duplicate_items
875
- @browser.ua = SAFARI
806
+ it "removes duplicate items" do
807
+ @browser.ua = $ua["SAFARI"]
876
808
  assert_equal ["safari"], @browser.meta.select {|item| item == "safari" }
877
809
  end
878
810
 
879
- def test_meta_aliased_as_to_a
880
- @browser.ua = SAFARI
811
+ it "detects meta aliased as to_a" do
812
+ @browser.ua = $ua["SAFARI"]
881
813
  assert_equal @browser.meta, @browser.to_a
882
814
  end
883
815
 
884
- def test_bots
885
- @browser.ua = GOOGLE_BOT
816
+ it "detects bots" do
817
+ @browser.ua = $ua["GOOGLE_BOT"]
886
818
  assert @browser.bot?
887
819
 
888
- @browser.ua = MSN_BOT
820
+ @browser.ua = $ua["MSN_BOT"]
889
821
  assert @browser.bot?
890
822
 
891
- @browser.ua = FACEBOOK_BOT
823
+ @browser.ua = $ua["FACEBOOK_BOT"]
892
824
  assert @browser.bot?
893
825
 
894
826
  # Many bots actually report empty ua strings.
895
827
  @browser.ua = ''
896
828
  assert @browser.bot?
897
829
 
898
- @browser.ua = CHROME
830
+ @browser.ua = $ua["CHROME"]
899
831
  assert ! @browser.bot?
900
832
  end
901
833
 
902
- def test_chrome_os
903
- @browser.ua = CHROME_OS
834
+ it "detects chrome os" do
835
+ @browser.ua = $ua["CHROME_OS"]
904
836
  assert @browser.chrome_os?
905
837
  end
906
838
 
907
- def test_tv
908
- @browser.ua = SMART_TV
839
+ it "detects tv" do
840
+ @browser.ua = $ua["SMART_TV"]
909
841
  assert @browser.tv?
910
842
  end
911
843
  end