device_detector 1.0.2 → 1.0.3
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.
- checksums.yaml +4 -4
- data/.travis.yml +4 -5
- data/CHANGELOG.md +3 -0
- data/README.md +5 -5
- data/Rakefile +13 -0
- data/lib/device_detector/version.rb +1 -1
- data/regexes/bots.yml +89 -2
- data/regexes/client/browser_engine.yml +3 -0
- data/regexes/client/browsers.yml +325 -76
- data/regexes/client/feed_readers.yml +6 -0
- data/regexes/client/libraries.yml +9 -0
- data/regexes/client/mobile_apps.yml +40 -1
- data/regexes/client/pim.yml +5 -0
- data/regexes/device/mobiles.yml +1607 -431
- data/regexes/oss.yml +1 -1
- data/regexes/vendorfragments.yml +1 -1
- data/spec/device_detector/concrete_user_agent_spec.rb +16 -17
- data/spec/device_detector/device_spec.rb +25 -25
- data/spec/device_detector/memory_cache_spec.rb +19 -19
- data/spec/device_detector/model_extractor_spec.rb +3 -3
- data/spec/device_detector/version_extractor_spec.rb +5 -6
- data/spec/device_detector_spec.rb +26 -26
- data/spec/fixtures/client/browser.yml +655 -322
- data/spec/fixtures/client/feed_reader.yml +39 -45
- data/spec/fixtures/client/library.yml +24 -11
- data/spec/fixtures/client/mediaplayer.yml +29 -28
- data/spec/fixtures/client/mobile_app.yml +100 -41
- data/spec/fixtures/client/pim.yml +32 -19
- data/spec/fixtures/detector/bots.yml +140 -23
- data/spec/fixtures/detector/camera.yml +2 -2
- data/spec/fixtures/detector/console.yml +3 -3
- data/spec/fixtures/detector/desktop.yml +312 -73
- data/spec/fixtures/detector/feature_phone.yml +48 -0
- data/spec/fixtures/detector/feed_reader.yml +141 -126
- data/spec/fixtures/detector/mediaplayer.yml +39 -38
- data/spec/fixtures/detector/mobile_apps.yml +86 -85
- data/spec/fixtures/detector/phablet.yml +715 -236
- data/spec/fixtures/detector/portable_media_player.yml +17 -0
- data/spec/fixtures/detector/smartphone-1.yml +3534 -3512
- data/spec/fixtures/detector/smartphone-10.yml +3848 -6286
- data/spec/fixtures/detector/smartphone-11.yml +5548 -3298
- data/spec/fixtures/detector/smartphone-12.yml +8655 -0
- data/spec/fixtures/detector/smartphone-2.yml +3645 -3625
- data/spec/fixtures/detector/smartphone-3.yml +4099 -4176
- data/spec/fixtures/detector/smartphone-4.yml +3861 -3865
- data/spec/fixtures/detector/smartphone-5.yml +3991 -4037
- data/spec/fixtures/detector/smartphone-6.yml +4074 -4047
- data/spec/fixtures/detector/smartphone-7.yml +4355 -4362
- data/spec/fixtures/detector/smartphone-8.yml +4087 -4136
- data/spec/fixtures/detector/smartphone-9.yml +4420 -4408
- data/spec/fixtures/detector/smartphone.yml +2900 -2904
- data/spec/fixtures/detector/tablet-1.yml +3946 -3912
- data/spec/fixtures/detector/tablet-2.yml +3593 -3617
- data/spec/fixtures/detector/tablet-3.yml +2738 -85
- data/spec/fixtures/detector/tablet.yml +3604 -3616
- data/spec/fixtures/detector/tv.yml +131 -51
- data/spec/fixtures/detector/unknown.yml +64 -27
- data/spec/fixtures/device/camera.yml +4 -3
- data/spec/fixtures/device/car_browser.yml +3 -2
- data/spec/fixtures/device/console.yml +15 -14
- metadata +4 -2
data/regexes/oss.yml
CHANGED
data/regexes/vendorfragments.yml
CHANGED
@@ -13,7 +13,7 @@ describe DeviceDetector do
|
|
13
13
|
describe '#device_name' do
|
14
14
|
|
15
15
|
it 'returns device name' do
|
16
|
-
client.device_name.must_equal 'iPhone 5S'
|
16
|
+
value(client.device_name).must_equal 'iPhone 5S'
|
17
17
|
end
|
18
18
|
|
19
19
|
end
|
@@ -21,7 +21,7 @@ describe DeviceDetector do
|
|
21
21
|
describe '#device_type' do
|
22
22
|
|
23
23
|
it 'returns the device type' do
|
24
|
-
client.device_type.must_equal 'smartphone'
|
24
|
+
value(client.device_type).must_equal 'smartphone'
|
25
25
|
end
|
26
26
|
|
27
27
|
end
|
@@ -35,7 +35,7 @@ describe DeviceDetector do
|
|
35
35
|
describe '#os_name' do
|
36
36
|
|
37
37
|
it 'returns the OS name' do
|
38
|
-
client.os_name.must_equal 'Ubuntu'
|
38
|
+
value(client.os_name).must_equal 'Ubuntu'
|
39
39
|
end
|
40
40
|
|
41
41
|
end
|
@@ -49,7 +49,7 @@ describe DeviceDetector do
|
|
49
49
|
describe '#full_version' do
|
50
50
|
|
51
51
|
it 'returns the correct OS version' do
|
52
|
-
client.os_full_version.must_equal '10.10.1'
|
52
|
+
value(client.os_full_version).must_equal '10.10.1'
|
53
53
|
end
|
54
54
|
|
55
55
|
end
|
@@ -63,15 +63,15 @@ describe DeviceDetector do
|
|
63
63
|
let(:user_agent) { 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36' }
|
64
64
|
|
65
65
|
it 'returns the correct client name' do
|
66
|
-
client.name.must_equal 'Chrome'
|
66
|
+
value(client.name).must_equal 'Chrome'
|
67
67
|
end
|
68
68
|
|
69
69
|
it 'recognizes the device name' do
|
70
|
-
client.device_name.must_be_nil
|
70
|
+
value(client.device_name).must_be_nil
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'recognizes the device type' do
|
74
|
-
client.device_type.must_equal "desktop"
|
74
|
+
value(client.device_type).must_equal "desktop"
|
75
75
|
end
|
76
76
|
|
77
77
|
end
|
@@ -81,15 +81,15 @@ describe DeviceDetector do
|
|
81
81
|
let(:user_agent) { 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36' }
|
82
82
|
|
83
83
|
it 'returns the correct client name' do
|
84
|
-
client.name.must_equal 'Chrome'
|
84
|
+
value(client.name).must_equal 'Chrome'
|
85
85
|
end
|
86
86
|
|
87
87
|
it 'recognizes the device name' do
|
88
|
-
client.device_name.must_be_nil
|
88
|
+
value(client.device_name).must_be_nil
|
89
89
|
end
|
90
90
|
|
91
91
|
it 'recognizes the device type' do
|
92
|
-
client.device_type.must_equal "desktop"
|
92
|
+
value(client.device_type).must_equal "desktop"
|
93
93
|
end
|
94
94
|
|
95
95
|
end
|
@@ -101,15 +101,15 @@ describe DeviceDetector do
|
|
101
101
|
let(:user_agent) { 'sprd-Galaxy-S5/1.0 Linux/2.6.35.7 Android/4.4.4 Release/11.29.2014 Browser/AppleWebKit533.1 (KHTML, like Gecko) Mozilla/5.0 Mobile' }
|
102
102
|
|
103
103
|
it 'returns the correct client name' do
|
104
|
-
client.name.must_equal "Android Browser"
|
104
|
+
value(client.name).must_equal "Android Browser"
|
105
105
|
end
|
106
106
|
|
107
107
|
it 'recognizes the device name' do
|
108
|
-
client.device_name.must_equal "GALAXY S5"
|
108
|
+
value(client.device_name).must_equal "GALAXY S5"
|
109
109
|
end
|
110
110
|
|
111
111
|
it 'recognizes the device type' do
|
112
|
-
client.device_type.must_equal "smartphone"
|
112
|
+
value(client.device_type).must_equal "smartphone"
|
113
113
|
end
|
114
114
|
|
115
115
|
end
|
@@ -119,18 +119,17 @@ describe DeviceDetector do
|
|
119
119
|
let(:user_agent) { 'Lenovo-A398t+_TD/S100 Linux/3.4.5 Android/4.1.2 Release/09.10.2013 Browser/AppleWebKit534.30 Mobile Safari/534.30' }
|
120
120
|
|
121
121
|
it 'returns the correct client name' do
|
122
|
-
client.name.must_equal "Android Browser"
|
122
|
+
value(client.name).must_equal "Android Browser"
|
123
123
|
end
|
124
124
|
|
125
125
|
it 'recognizes the device name' do
|
126
|
-
client.device_name.must_equal "A398t+"
|
126
|
+
value(client.device_name).must_equal "A398t+"
|
127
127
|
end
|
128
128
|
|
129
129
|
it 'recognizes the device type' do
|
130
|
-
client.device_type.must_equal "smartphone"
|
130
|
+
value(client.device_type).must_equal "smartphone"
|
131
131
|
end
|
132
132
|
|
133
133
|
end
|
134
134
|
|
135
135
|
end
|
136
|
-
|
@@ -12,7 +12,7 @@ describe DeviceDetector::Device do
|
|
12
12
|
let(:user_agent) { 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B466 [FBDV/iPhone7,2]' }
|
13
13
|
|
14
14
|
it 'finds an Apple iPhone 6' do
|
15
|
-
device.name.must_equal 'iPhone 6'
|
15
|
+
value(device.name).must_equal 'iPhone 6'
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -20,7 +20,7 @@ describe DeviceDetector::Device do
|
|
20
20
|
let(:user_agent) { 'AIRNESS-AIR99/REV 2.2.1/Teleca Q03B1' }
|
21
21
|
|
22
22
|
it 'finds an Airness AIR99' do
|
23
|
-
device.name.must_equal 'AIR99'
|
23
|
+
value(device.name).must_equal 'AIR99'
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -28,7 +28,7 @@ describe DeviceDetector::Device do
|
|
28
28
|
let(:user_agent) { 'UNKNOWN MODEL NAME' }
|
29
29
|
|
30
30
|
it 'returns nil' do
|
31
|
-
device.name.must_be_nil
|
31
|
+
value(device.name).must_be_nil
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -40,7 +40,7 @@ describe DeviceDetector::Device do
|
|
40
40
|
let(:user_agent) { 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B466 [FBDV/iPhone7,2]' }
|
41
41
|
|
42
42
|
it 'finds device of Apple iPhone 6' do
|
43
|
-
device.type.must_equal 'smartphone'
|
43
|
+
value(device.type).must_equal 'smartphone'
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
@@ -48,7 +48,7 @@ describe DeviceDetector::Device do
|
|
48
48
|
let(:user_agent) { 'AIRNESS-AIR99/REV 2.2.1/Teleca Q03B1' }
|
49
49
|
|
50
50
|
it 'finds the device of Airness AIR99' do
|
51
|
-
device.type.must_equal 'feature phone'
|
51
|
+
value(device.type).must_equal 'feature phone'
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -56,7 +56,7 @@ describe DeviceDetector::Device do
|
|
56
56
|
let(:user_agent) { 'UNKNOWN MODEL TYPE' }
|
57
57
|
|
58
58
|
it 'returns nil' do
|
59
|
-
device.type.must_be_nil
|
59
|
+
value(device.type).must_be_nil
|
60
60
|
end
|
61
61
|
|
62
62
|
end
|
@@ -66,7 +66,7 @@ describe DeviceDetector::Device do
|
|
66
66
|
let(:user_agent) { 'Mozilla/5.0 (Linux; Android 4.4.2; es-us; SAMSUNG SM-G900F Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko)' }
|
67
67
|
|
68
68
|
it 'falls back to top-level device' do
|
69
|
-
device.type.must_equal 'smartphone'
|
69
|
+
value(device.type).must_equal 'smartphone'
|
70
70
|
end
|
71
71
|
|
72
72
|
end
|
@@ -80,9 +80,9 @@ describe DeviceDetector::Device do
|
|
80
80
|
let(:user_agent) { 'Mozilla/5.0 (Linux; Android 4.4.2; es-us; SAMSUNG SM-G900F Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko)' }
|
81
81
|
|
82
82
|
it 'identifies the device' do
|
83
|
-
device.name.must_equal 'GALAXY S5'
|
84
|
-
device.type.must_equal 'smartphone'
|
85
|
-
device.brand.must_equal 'Samsung'
|
83
|
+
value(device.name).must_equal 'GALAXY S5'
|
84
|
+
value(device.type).must_equal 'smartphone'
|
85
|
+
value(device.brand).must_equal 'Samsung'
|
86
86
|
end
|
87
87
|
|
88
88
|
end
|
@@ -92,9 +92,9 @@ describe DeviceDetector::Device do
|
|
92
92
|
let(:user_agent) { 'Mozilla/5.0 (Linux; U; Android 4.0; xx-xx; EK-GC100 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30' }
|
93
93
|
|
94
94
|
it 'identifies the device' do
|
95
|
-
device.name.must_equal 'GALAXY Camera'
|
96
|
-
device.type.must_equal 'camera'
|
97
|
-
device.brand.must_equal 'Samsung'
|
95
|
+
value(device.name).must_equal 'GALAXY Camera'
|
96
|
+
value(device.type).must_equal 'camera'
|
97
|
+
value(device.brand).must_equal 'Samsung'
|
98
98
|
end
|
99
99
|
|
100
100
|
end
|
@@ -104,9 +104,9 @@ describe DeviceDetector::Device do
|
|
104
104
|
let(:user_agent) { 'Mozilla/5.0 (X11; Linux) AppleWebKit/534.34 (KHTML, like Gecko) QtCarBrowser Safari/534.34' }
|
105
105
|
|
106
106
|
it 'identifies the device' do
|
107
|
-
device.name.must_equal 'Model S'
|
108
|
-
device.type.must_equal 'car browser'
|
109
|
-
device.brand.must_be_nil
|
107
|
+
value(device.name).must_equal 'Model S'
|
108
|
+
value(device.type).must_equal 'car browser'
|
109
|
+
value(device.brand).must_be_nil
|
110
110
|
end
|
111
111
|
|
112
112
|
end
|
@@ -116,9 +116,9 @@ describe DeviceDetector::Device do
|
|
116
116
|
let(:user_agent) { 'Opera/9.30 (Nintendo Wii; U; ; 2047-7;en)' }
|
117
117
|
|
118
118
|
it 'identifies the device' do
|
119
|
-
device.name.must_equal 'Wii'
|
120
|
-
device.type.must_equal 'console'
|
121
|
-
device.brand.must_be_nil
|
119
|
+
value(device.name).must_equal 'Wii'
|
120
|
+
value(device.type).must_equal 'console'
|
121
|
+
value(device.brand).must_be_nil
|
122
122
|
end
|
123
123
|
|
124
124
|
end
|
@@ -128,9 +128,9 @@ describe DeviceDetector::Device do
|
|
128
128
|
let(:user_agent) { 'Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_6 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B651 Safari/9537.53' }
|
129
129
|
|
130
130
|
it 'identifies the device' do
|
131
|
-
device.name.must_equal 'iPod Touch'
|
132
|
-
device.type.must_equal 'portable media player'
|
133
|
-
device.brand.must_equal 'Apple'
|
131
|
+
value(device.name).must_equal 'iPod Touch'
|
132
|
+
value(device.type).must_equal 'portable media player'
|
133
|
+
value(device.brand).must_equal 'Apple'
|
134
134
|
end
|
135
135
|
|
136
136
|
end
|
@@ -140,9 +140,9 @@ describe DeviceDetector::Device do
|
|
140
140
|
let(:user_agent) { 'Mozilla/5.0 (Unknown; Linux armv7l) AppleWebKit/537.1+ (KHTML, like Gecko) Safari/537.1+ HbbTV/1.1.1 ( ;LGE ;NetCast 4.0 ;03.10.81 ;1.0M ;)' }
|
141
141
|
|
142
142
|
it 'identifies the device' do
|
143
|
-
device.name.must_equal 'NetCast 4.0'
|
144
|
-
device.type.must_equal 'tv'
|
145
|
-
device.brand.must_equal 'LG'
|
143
|
+
value(device.name).must_equal 'NetCast 4.0'
|
144
|
+
value(device.type).must_equal 'tv'
|
145
|
+
value(device.brand).must_equal 'LG'
|
146
146
|
end
|
147
147
|
|
148
148
|
end
|
@@ -14,12 +14,12 @@ describe DeviceDetector::MemoryCache do
|
|
14
14
|
it 'sets the value under the key' do
|
15
15
|
subject.set(key, 'value')
|
16
16
|
|
17
|
-
subject.data[key].must_equal 'value'
|
17
|
+
value(subject.data[key]).must_equal 'value'
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'returns the value' do
|
21
|
-
subject.set(key, 'value').must_equal 'value'
|
22
|
-
subject.set(key, false).must_equal false
|
21
|
+
value(subject.set(key, 'value')).must_equal 'value'
|
22
|
+
value(subject.set(key, false)).must_equal false
|
23
23
|
assert_nil subject.set(key, nil)
|
24
24
|
end
|
25
25
|
end
|
@@ -30,7 +30,7 @@ describe DeviceDetector::MemoryCache do
|
|
30
30
|
it 'sets the value under the key' do
|
31
31
|
subject.set(key, 'value')
|
32
32
|
|
33
|
-
subject.data[String(key)].must_equal 'value'
|
33
|
+
value(subject.data[String(key)]).must_equal 'value'
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -41,14 +41,14 @@ describe DeviceDetector::MemoryCache do
|
|
41
41
|
it 'sets the value under the key' do
|
42
42
|
subject.set(key, nil)
|
43
43
|
|
44
|
-
subject.data[String(key)].must_equal internal_value
|
44
|
+
value(subject.data[String(key)]).must_equal internal_value
|
45
45
|
assert_nil subject.get(key)
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'sets the value under the key' do
|
49
49
|
subject.get_or_set(key, nil)
|
50
50
|
|
51
|
-
subject.data[String(key)].must_equal internal_value
|
51
|
+
value(subject.data[String(key)]).must_equal internal_value
|
52
52
|
assert_nil subject.get(key)
|
53
53
|
end
|
54
54
|
end
|
@@ -59,15 +59,15 @@ describe DeviceDetector::MemoryCache do
|
|
59
59
|
it 'sets the value under the key' do
|
60
60
|
subject.set(key, false)
|
61
61
|
|
62
|
-
subject.data[String(key)].must_equal false
|
63
|
-
subject.get(key).must_equal false
|
62
|
+
value(subject.data[String(key)]).must_equal false
|
63
|
+
value(subject.get(key)).must_equal false
|
64
64
|
end
|
65
65
|
|
66
66
|
it 'sets the value under the key' do
|
67
67
|
subject.get_or_set(key, false)
|
68
68
|
|
69
|
-
subject.data[String(key)].must_equal false
|
70
|
-
subject.get(key).must_equal false
|
69
|
+
value(subject.data[String(key)]).must_equal false
|
70
|
+
value(subject.get(key)).must_equal false
|
71
71
|
end
|
72
72
|
end
|
73
73
|
end
|
@@ -79,7 +79,7 @@ describe DeviceDetector::MemoryCache do
|
|
79
79
|
it 'gets the value for the key' do
|
80
80
|
subject.data[key] = 'value'
|
81
81
|
|
82
|
-
subject.get(key).must_equal 'value'
|
82
|
+
value(subject.get(key)).must_equal 'value'
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
@@ -89,7 +89,7 @@ describe DeviceDetector::MemoryCache do
|
|
89
89
|
it 'gets the value for the key' do
|
90
90
|
subject.data[String(key)] = 'value'
|
91
91
|
|
92
|
-
subject.get(key).must_equal 'value'
|
92
|
+
value(subject.get(key)).must_equal 'value'
|
93
93
|
end
|
94
94
|
end
|
95
95
|
end
|
@@ -106,13 +106,13 @@ describe DeviceDetector::MemoryCache do
|
|
106
106
|
block_called = true
|
107
107
|
end
|
108
108
|
|
109
|
-
value.must_equal 'value'
|
110
|
-
block_called.must_equal false
|
109
|
+
value(value).must_equal 'value'
|
110
|
+
value(block_called).must_equal false
|
111
111
|
end
|
112
112
|
|
113
113
|
it 'returns the value' do
|
114
114
|
subject.data[key] = 'value2'
|
115
|
-
subject.get_or_set(key, 'value').must_equal 'value2'
|
115
|
+
value(subject.get_or_set(key, 'value')).must_equal 'value2'
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
@@ -123,12 +123,12 @@ describe DeviceDetector::MemoryCache do
|
|
123
123
|
block_called = true
|
124
124
|
end
|
125
125
|
|
126
|
-
block_called.must_equal true
|
127
|
-
subject.data[key].must_equal true
|
126
|
+
value(block_called).must_equal true
|
127
|
+
value(subject.data[key]).must_equal true
|
128
128
|
end
|
129
129
|
|
130
130
|
it 'returns the value' do
|
131
|
-
subject.get_or_set(key, 'value').must_equal 'value'
|
131
|
+
value(subject.get_or_set(key, 'value')).must_equal 'value'
|
132
132
|
end
|
133
133
|
end
|
134
134
|
end
|
@@ -142,7 +142,7 @@ describe DeviceDetector::MemoryCache do
|
|
142
142
|
subject.set('3', 'baz')
|
143
143
|
subject.set('4', 'boz')
|
144
144
|
|
145
|
-
subject.data.keys.size.must_equal 3
|
145
|
+
value(subject.data.keys.size).must_equal 3
|
146
146
|
end
|
147
147
|
end
|
148
148
|
end
|
@@ -23,7 +23,7 @@ describe DeviceDetector::ModelExtractor do
|
|
23
23
|
let(:device_name) { 'iPhone' }
|
24
24
|
|
25
25
|
it 'returns the textual portion without trailing whitespace' do
|
26
|
-
extractor.call.must_equal device_name
|
26
|
+
value(extractor.call).must_equal device_name
|
27
27
|
end
|
28
28
|
|
29
29
|
end
|
@@ -33,7 +33,7 @@ describe DeviceDetector::ModelExtractor do
|
|
33
33
|
let(:device_name) { 'iPhone 5S' }
|
34
34
|
|
35
35
|
it 'returns the full device name' do
|
36
|
-
extractor.call.must_equal device_name
|
36
|
+
value(extractor.call).must_equal device_name
|
37
37
|
end
|
38
38
|
|
39
39
|
end
|
@@ -53,7 +53,7 @@ describe DeviceDetector::ModelExtractor do
|
|
53
53
|
end
|
54
54
|
|
55
55
|
it 'returns the model name' do
|
56
|
-
extractor.call.must_equal device_name
|
56
|
+
value(extractor.call).must_equal device_name
|
57
57
|
end
|
58
58
|
|
59
59
|
end
|
@@ -21,7 +21,7 @@ describe DeviceDetector::VersionExtractor do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'returns nil' do
|
24
|
-
extractor.call.must_equal ''
|
24
|
+
value(extractor.call).must_equal ''
|
25
25
|
end
|
26
26
|
|
27
27
|
end
|
@@ -39,12 +39,12 @@ describe DeviceDetector::VersionExtractor do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'returns the correct version' do
|
42
|
-
extractor.call.must_equal version
|
42
|
+
value(extractor.call).must_equal version
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'removes trailing white spaces' do
|
46
46
|
regex_meta[:version] = regex_meta[:version] + ' '
|
47
|
-
extractor.call.must_equal version
|
47
|
+
value(extractor.call).must_equal version
|
48
48
|
end
|
49
49
|
|
50
50
|
end
|
@@ -60,7 +60,7 @@ describe DeviceDetector::VersionExtractor do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
it 'returns the correct version' do
|
63
|
-
extractor.call.must_equal '8.0'
|
63
|
+
value(extractor.call).must_equal '8.0'
|
64
64
|
end
|
65
65
|
|
66
66
|
end
|
@@ -71,10 +71,9 @@ describe DeviceDetector::VersionExtractor do
|
|
71
71
|
let(:regex_meta) { {} }
|
72
72
|
|
73
73
|
it 'returns nil' do
|
74
|
-
extractor.call.must_be_nil
|
74
|
+
value(extractor.call).must_be_nil
|
75
75
|
end
|
76
76
|
|
77
77
|
end
|
78
78
|
end
|
79
79
|
end
|
80
|
-
|