browser 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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