iGEL-ua_parser 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,169 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
2
+
3
+ require 'test/unit'
4
+ require 'ua_parser'
5
+
6
+ class PrestoTest < Test::Unit::TestCase
7
+ include UaParser
8
+
9
+ def test_opera_852_linux_as_ie_6
10
+ ua = UserAgent.new "Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 8.52"
11
+ assert ua.known?
12
+ assert ua.browser?
13
+ assert !ua.bot?
14
+ assert !ua.feed_reader?
15
+ assert !ua.other?
16
+ assert_equal :presto, ua.render_engine
17
+ assert_equal nil, ua.render_engine_version
18
+ assert_equal :opera, ua.name
19
+ assert_equal "8.52", ua.version.full
20
+ assert_equal "8.5", ua.version.major
21
+ assert_equal [], ua.emails
22
+ assert_equal nil, ua.email
23
+ assert_equal [], ua.urls
24
+ assert_equal nil, ua.url
25
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
26
+ assert_raise NotImplementedError do
27
+ ua.method(method).call
28
+ end
29
+ end
30
+ end
31
+
32
+ def test_opera_854_win_xp
33
+ ua = UserAgent.new "Opera/8.54 (Windows NT 5.1; U; pl)"
34
+ assert ua.known?
35
+ assert ua.browser?
36
+ assert !ua.bot?
37
+ assert !ua.feed_reader?
38
+ assert !ua.other?
39
+ assert_equal :presto, ua.render_engine
40
+ assert_equal nil, ua.render_engine_version
41
+ assert_equal :opera, ua.name
42
+ assert_equal "8.54", ua.version.full
43
+ assert_equal "8.5", ua.version.major
44
+ assert_equal [], ua.emails
45
+ assert_equal nil, ua.email
46
+ assert_equal [], ua.urls
47
+ assert_equal nil, ua.url
48
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
49
+ assert_raise NotImplementedError do
50
+ ua.method(method).call
51
+ end
52
+ end
53
+ end
54
+
55
+ def test_opera_923_win_xp
56
+ ua = UserAgent.new "Opera/9.23 (Windows NT 5.1; U; SV1; MEGAUPLOAD 1.0; ru)"
57
+ assert ua.known?
58
+ assert ua.browser?
59
+ assert !ua.bot?
60
+ assert !ua.feed_reader?
61
+ assert !ua.other?
62
+ assert_equal :presto, ua.render_engine
63
+ assert_equal nil, ua.render_engine_version
64
+ assert_equal :opera, ua.name
65
+ assert_equal "9.23", ua.version.full
66
+ assert_equal "9.2", ua.version.major
67
+ assert_equal [], ua.emails
68
+ assert_equal nil, ua.email
69
+ assert_equal [], ua.urls
70
+ assert_equal nil, ua.url
71
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
72
+ assert_raise NotImplementedError do
73
+ ua.method(method).call
74
+ end
75
+ end
76
+ end
77
+
78
+ def test_opera_963_linux
79
+ ua = UserAgent.new "Opera/9.63 (X11; Linux i686; U; de) Presto/2.1.1"
80
+ assert ua.known?
81
+ assert ua.browser?
82
+ assert !ua.bot?
83
+ assert !ua.feed_reader?
84
+ assert !ua.other?
85
+ assert_equal :presto, ua.render_engine
86
+ assert_equal "2.1.1", ua.render_engine_version.full
87
+ assert_equal :opera, ua.name
88
+ assert_equal "9.63", ua.version.full
89
+ assert_equal "9.6", ua.version.major
90
+ assert_equal [], ua.emails
91
+ assert_equal nil, ua.email
92
+ assert_equal [], ua.urls
93
+ assert_equal nil, ua.url
94
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
95
+ assert_raise NotImplementedError do
96
+ ua.method(method).call
97
+ end
98
+ end
99
+ end
100
+
101
+ def test_opera_963_win_me_as_ie_6
102
+ ua = UserAgent.new "Mozilla/5.0 (Windows ME; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.63"
103
+ assert ua.known?
104
+ assert ua.browser?
105
+ assert !ua.bot?
106
+ assert !ua.feed_reader?
107
+ assert !ua.other?
108
+ assert_equal :presto, ua.render_engine
109
+ assert_equal nil, ua.render_engine_version
110
+ assert_equal :opera, ua.name
111
+ assert_equal "9.63", ua.version.full
112
+ assert_equal "9.6", ua.version.major
113
+ assert_equal [], ua.emails
114
+ assert_equal nil, ua.email
115
+ assert_equal [], ua.urls
116
+ assert_equal nil, ua.url
117
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
118
+ assert_raise NotImplementedError do
119
+ ua.method(method).call
120
+ end
121
+ end
122
+ end
123
+
124
+ def test_opera_963_win_vista
125
+ ua = UserAgent.new "Opera/9.63 (Windows NT 6.0; U; en) Presto/2.1.1"
126
+ assert ua.known?
127
+ assert ua.browser?
128
+ assert !ua.bot?
129
+ assert !ua.feed_reader?
130
+ assert !ua.other?
131
+ assert_equal :presto, ua.render_engine
132
+ assert_equal "2.1.1", ua.render_engine_version.full
133
+ assert_equal :opera, ua.name
134
+ assert_equal "9.63", ua.version.full
135
+ assert_equal "9.6", ua.version.major
136
+ assert_equal [], ua.emails
137
+ assert_equal nil, ua.email
138
+ assert_equal [], ua.urls
139
+ assert_equal nil, ua.url
140
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
141
+ assert_raise NotImplementedError do
142
+ ua.method(method).call
143
+ end
144
+ end
145
+ end
146
+
147
+ def test_opera_963_win_vista_as_ie_6
148
+ ua = UserAgent.new "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 6.0; ja) Opera 9.63"
149
+ assert ua.known?
150
+ assert ua.browser?
151
+ assert !ua.bot?
152
+ assert !ua.feed_reader?
153
+ assert !ua.other?
154
+ assert_equal :presto, ua.render_engine
155
+ assert_equal nil, ua.render_engine_version
156
+ assert_equal :opera, ua.name
157
+ assert_equal "9.63", ua.version.full
158
+ assert_equal "9.6", ua.version.major
159
+ assert_equal [], ua.emails
160
+ assert_equal nil, ua.email
161
+ assert_equal [], ua.urls
162
+ assert_equal nil, ua.url
163
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
164
+ assert_raise NotImplementedError do
165
+ ua.method(method).call
166
+ end
167
+ end
168
+ end
169
+ end
@@ -0,0 +1,146 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
2
+
3
+ require 'test/unit'
4
+ require 'ua_parser'
5
+
6
+ class TridentTest < Test::Unit::TestCase
7
+ include UaParser
8
+
9
+ def test_msie_60_win_2003
10
+ ua = UserAgent.new "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)"
11
+ assert ua.known?
12
+ assert ua.browser?
13
+ assert !ua.bot?
14
+ assert !ua.feed_reader?
15
+ assert !ua.other?
16
+ assert_equal :trident, ua.render_engine
17
+ assert_equal nil, ua.render_engine_version
18
+ assert_equal :internet_explorer, ua.name
19
+ assert_equal "6.0", ua.version.full
20
+ assert_equal "6", ua.version.major
21
+ assert_equal [], ua.emails
22
+ assert_equal nil, ua.email
23
+ assert_equal [], ua.urls
24
+ assert_equal nil, ua.url
25
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
26
+ assert_raise NotImplementedError do
27
+ ua.method(method).call
28
+ end
29
+ end
30
+ end
31
+
32
+ def test_msie_60_win_xp
33
+ ua = UserAgent.new "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
34
+ assert ua.known?
35
+ assert ua.browser?
36
+ assert !ua.bot?
37
+ assert !ua.feed_reader?
38
+ assert !ua.other?
39
+ assert_equal :trident, ua.render_engine
40
+ assert_equal nil, ua.render_engine_version
41
+ assert_equal :internet_explorer, ua.name
42
+ assert_equal "6.0", ua.version.full
43
+ assert_equal "6", ua.version.major
44
+ assert_equal [], ua.emails
45
+ assert_equal nil, ua.email
46
+ assert_equal [], ua.urls
47
+ assert_equal nil, ua.url
48
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
49
+ assert_raise NotImplementedError do
50
+ ua.method(method).call
51
+ end
52
+ end
53
+ end
54
+
55
+ def test_msie_70_win_vista_dotnet_2050727_dotnet_3004506_media_center
56
+ ua = UserAgent.new "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)"
57
+ assert ua.known?
58
+ assert ua.browser?
59
+ assert !ua.bot?
60
+ assert !ua.feed_reader?
61
+ assert !ua.other?
62
+ assert_equal :trident, ua.render_engine
63
+ assert_equal nil, ua.render_engine_version
64
+ assert_equal :internet_explorer, ua.name
65
+ assert_equal "7.0", ua.version.full
66
+ assert_equal "7", ua.version.major
67
+ assert_equal [], ua.emails
68
+ assert_equal nil, ua.email
69
+ assert_equal [], ua.urls
70
+ assert_equal nil, ua.url
71
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
72
+ assert_raise NotImplementedError do
73
+ ua.method(method).call
74
+ end
75
+ end
76
+ end
77
+
78
+ def test_msie_70_win_xp_dotnet_114322
79
+ ua = UserAgent.new "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)"
80
+ assert ua.known?
81
+ assert ua.browser?
82
+ assert !ua.bot?
83
+ assert !ua.feed_reader?
84
+ assert !ua.other?
85
+ assert_equal :trident, ua.render_engine
86
+ assert_equal nil, ua.render_engine_version
87
+ assert_equal :internet_explorer, ua.name
88
+ assert_equal "7.0", ua.version.full
89
+ assert_equal "7", ua.version.major
90
+ assert_equal [], ua.emails
91
+ assert_equal nil, ua.email
92
+ assert_equal [], ua.urls
93
+ assert_equal nil, ua.url
94
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
95
+ assert_raise NotImplementedError do
96
+ ua.method(method).call
97
+ end
98
+ end
99
+ end
100
+
101
+ def test_msie_70_win_xp
102
+ ua = UserAgent.new "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
103
+ assert ua.known?
104
+ assert ua.browser?
105
+ assert !ua.bot?
106
+ assert !ua.feed_reader?
107
+ assert !ua.other?
108
+ assert_equal :trident, ua.render_engine
109
+ assert_equal nil, ua.render_engine_version
110
+ assert_equal :internet_explorer, ua.name
111
+ assert_equal "7.0", ua.version.full
112
+ assert_equal "7", ua.version.major
113
+ assert_equal [], ua.emails
114
+ assert_equal nil, ua.email
115
+ assert_equal [], ua.urls
116
+ assert_equal nil, ua.url
117
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
118
+ assert_raise NotImplementedError do
119
+ ua.method(method).call
120
+ end
121
+ end
122
+ end
123
+
124
+ def test_msie_80_win_xp
125
+ ua = UserAgent.new "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)"
126
+ assert ua.known?
127
+ assert ua.browser?
128
+ assert !ua.bot?
129
+ assert !ua.feed_reader?
130
+ assert !ua.other?
131
+ assert_equal :trident, ua.render_engine
132
+ assert_equal "4.0", ua.render_engine_version.full
133
+ assert_equal :internet_explorer, ua.name
134
+ assert_equal "8.0", ua.version.full
135
+ assert_equal "8", ua.version.major
136
+ assert_equal [], ua.emails
137
+ assert_equal nil, ua.email
138
+ assert_equal [], ua.urls
139
+ assert_equal nil, ua.url
140
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
141
+ assert_raise NotImplementedError do
142
+ ua.method(method).call
143
+ end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,130 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
2
+
3
+ require 'test/unit'
4
+ require 'ua_parser/version'
5
+
6
+ class VersionTest < Test::Unit::TestCase
7
+ include UaParser
8
+ def test_compare_1
9
+ assert Version.new("1.0") < Version.new("2.0")
10
+ end
11
+
12
+ def test_compare_2
13
+ assert Version.new("1.0") < Version.new("1.2")
14
+ end
15
+
16
+ def test_compare_3
17
+ assert Version.new("1.0.0") > Version.new("1.0b2")
18
+ end
19
+
20
+ def test_compare_4
21
+ assert Version.new("1.0") > Version.new("1.0b2")
22
+ end
23
+
24
+ def test_compare_5
25
+ assert Version.new("1.0") == Version.new("1.0")
26
+ end
27
+
28
+ def test_compare_6
29
+ assert Version.new("1.0") < Version.new("1.0.2")
30
+ end
31
+
32
+ def test_compare_7
33
+ assert Version.new("1.0.2") => Version.new("1.0")
34
+ end
35
+
36
+ def test_compare_8
37
+ assert Version.new("1.10.3") => Version.new("1.3.7")
38
+ end
39
+
40
+ def test_compare_different_agents
41
+ assert_raise Version::DifferentAgentsNotComparable do
42
+ Version.new("1.0", :opera) < Version.new("2.0", :netscape)
43
+ end
44
+ end
45
+
46
+ def test_compare_same_agents
47
+ assert Version.new("1.0.2", :opera) => Version.new("1.0", :opera)
48
+ end
49
+
50
+ def test_compare_with_integer
51
+ assert_raise TypeError do
52
+ Version.new("1.0") < 3
53
+ end
54
+ end
55
+
56
+ def test_initialize_with_array
57
+ assert_raise TypeError do
58
+ Version.new([1, 2, 3])
59
+ end
60
+ end
61
+
62
+ def test_initialize_with_float
63
+ v = Version.new(1.0)
64
+ assert_kind_of Version, v
65
+ assert_equal "1.0", v.full
66
+ end
67
+
68
+ def test_initialize_with_integer
69
+ v = Version.new(1)
70
+ assert_kind_of Version, v
71
+ assert_equal "1", v.full
72
+ end
73
+
74
+ def test_initialize_with_nil
75
+ assert_raise TypeError do
76
+ Version.new(nil)
77
+ end
78
+ end
79
+
80
+ def test_initialize_with_string
81
+ v = Version.new("1.0")
82
+ assert_kind_of Version, v
83
+ assert_equal "1.0", v.full
84
+ end
85
+
86
+ def test_java_version
87
+ v = Version.new("1.6.0_03")
88
+ assert_equal [1, 6, 0, 0, 3], v.send(:tokens)
89
+ end
90
+
91
+ def test_major_1
92
+ v = Version.new "1"
93
+ assert_equal "1", v.major
94
+ end
95
+
96
+ def test_major_1_0
97
+ v = Version.new "1.0"
98
+ assert_equal "1.0", v.major
99
+ end
100
+
101
+ def test_major_1_12
102
+ v = Version.new "1.12"
103
+ assert_equal "1.12", v.major
104
+ end
105
+
106
+ def test_major_1_12_opera
107
+ v = Version.new "1.12", :opera
108
+ assert_equal "1.1", v.major
109
+ end
110
+
111
+ def test_major_2_0_0_14
112
+ v = Version.new "2.0.0.14"
113
+ assert_equal "2.0", v.major
114
+ end
115
+
116
+ def test_major_2_0b3
117
+ v = Version.new "2.0b3"
118
+ assert_equal "2.0b", v.major
119
+ end
120
+
121
+ def test_major_4_0_dp
122
+ v = Version.new "4.0dp"
123
+ assert_equal "4.0dp", v.major
124
+ end
125
+
126
+ def test_major_503_34
127
+ v = Version.new "503.34"
128
+ assert_equal "503.34", v.major
129
+ end
130
+ end
@@ -0,0 +1,242 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
2
+
3
+ require 'test/unit'
4
+ require 'ua_parser'
5
+
6
+ class WebkitTest < Test::Unit::TestCase
7
+ include UaParser
8
+
9
+ def test_chrome_031549_windows_7
10
+ ua = UserAgent.new "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.3.154.9 Safari/525.19"
11
+ assert ua.known?
12
+ assert ua.browser?
13
+ assert !ua.bot?
14
+ assert !ua.feed_reader?
15
+ assert !ua.other?
16
+ assert_equal :webkit, ua.render_engine
17
+ assert_equal "525.19", ua.render_engine_version.full
18
+ assert_equal :chrome, ua.name
19
+ assert_equal "0.3.154.9", ua.version.full
20
+ assert_equal "0.3", ua.version.major
21
+ assert_equal [], ua.emails
22
+ assert_equal nil, ua.email
23
+ assert_equal [], ua.urls
24
+ assert_equal nil, ua.url
25
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
26
+ assert_raise NotImplementedError do
27
+ ua.method(method).call
28
+ end
29
+ end
30
+ end
31
+
32
+ def test_chrome_1015439_windows_xp
33
+ ua = UserAgent.new "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.39 Safari/525.19"
34
+ assert ua.known?
35
+ assert ua.browser?
36
+ assert !ua.bot?
37
+ assert !ua.feed_reader?
38
+ assert !ua.other?
39
+ assert_equal :webkit, ua.render_engine
40
+ assert_equal "525.19", ua.render_engine_version.full
41
+ assert_equal :chrome, ua.name
42
+ assert_equal "1.0.154.39", ua.version.full
43
+ assert_equal "1.0", ua.version.major
44
+ assert_equal [], ua.emails
45
+ assert_equal nil, ua.email
46
+ assert_equal [], ua.urls
47
+ assert_equal nil, ua.url
48
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
49
+ assert_raise NotImplementedError do
50
+ ua.method(method).call
51
+ end
52
+ end
53
+ end
54
+
55
+ def test_chrome_201561_windows_7
56
+ ua = UserAgent.new "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/528.8 (KHTML, like Gecko) Chrome/2.0.156.1 Safari/528.8"
57
+ assert ua.known?
58
+ assert ua.browser?
59
+ assert !ua.bot?
60
+ assert !ua.feed_reader?
61
+ assert !ua.other?
62
+ assert_equal :webkit, ua.render_engine
63
+ assert_equal "528.8", ua.render_engine_version.full
64
+ assert_equal :chrome, ua.name
65
+ assert_equal "2.0.156.1", ua.version.full
66
+ assert_equal "2.0", ua.version.major
67
+ assert_equal [], ua.emails
68
+ assert_equal nil, ua.email
69
+ assert_equal [], ua.urls
70
+ assert_equal nil, ua.url
71
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
72
+ assert_raise NotImplementedError do
73
+ ua.method(method).call
74
+ end
75
+ end
76
+ end
77
+
78
+ def test_chrome_201572_windows_vista
79
+ ua = UserAgent.new "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/528.10 (KHTML, like Gecko) Chrome/2.0.157.2 Safari/528.10"
80
+ assert ua.known?
81
+ assert ua.browser?
82
+ assert !ua.bot?
83
+ assert !ua.feed_reader?
84
+ assert !ua.other?
85
+ assert_equal :webkit, ua.render_engine
86
+ assert_equal "528.10", ua.render_engine_version.full
87
+ assert_equal :chrome, ua.name
88
+ assert_equal "2.0.157.2", ua.version.full
89
+ assert_equal "2.0", ua.version.major
90
+ assert_equal [], ua.emails
91
+ assert_equal nil, ua.email
92
+ assert_equal [], ua.urls
93
+ assert_equal nil, ua.url
94
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
95
+ assert_raise NotImplementedError do
96
+ ua.method(method).call
97
+ end
98
+ end
99
+ end
100
+
101
+ =begin
102
+ def test_safari_132_mac_10_ppc
103
+ ua = UserAgent.new "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/312.8 (KHTML, like Gecko) Safari/312.6"
104
+ assert ua.known?
105
+ assert ua.browser?
106
+ assert !ua.bot?
107
+ assert !ua.feed_reader?
108
+ assert !ua.other?
109
+ assert_equal :webkit, ua.render_engine
110
+ assert_equal "312.6", ua.render_engine_version.full
111
+ assert_equal :safari, ua.name
112
+ assert_equal "1.3.2", ua.version.full
113
+ assert_equal "1.3", ua.version.major
114
+ assert_equal [], ua.emails
115
+ assert_equal nil, ua.email
116
+ assert_equal [], ua.urls
117
+ assert_equal nil, ua.url
118
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
119
+ assert_raise NotImplementedError do
120
+ ua.method(method).call
121
+ end
122
+ end
123
+ end
124
+
125
+ def test_safari_202
126
+ ua = UserAgent.new "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; fr) AppleWebKit/416.12 (KHTML, like Gecko) Safari/412.5"
127
+ assert ua.known?
128
+ assert ua.browser?
129
+ assert !ua.bot?
130
+ assert !ua.feed_reader?
131
+ assert !ua.other?
132
+ assert_equal :webkit, ua.render_engine
133
+ assert_equal "412.5", ua.render_engine_version.full
134
+ assert_equal :safari, ua.name
135
+ assert_equal "2.0.2", ua.version.full
136
+ assert_equal "2.0", ua.version.major
137
+ assert_equal [], ua.emails
138
+ assert_equal nil, ua.email
139
+ assert_equal [], ua.urls
140
+ assert_equal nil, ua.url
141
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
142
+ assert_raise NotImplementedError do
143
+ ua.method(method).call
144
+ end
145
+ end
146
+ end
147
+ =end
148
+
149
+ def test_safari_32_mac_intel
150
+ ua = UserAgent.new "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; ja-jp) AppleWebKit/525.26.2 (KHTML, like Gecko) Version/3.2 Safari/525.26.12"
151
+ assert ua.known?
152
+ assert ua.browser?
153
+ assert !ua.bot?
154
+ assert !ua.feed_reader?
155
+ assert !ua.other?
156
+ assert_equal :webkit, ua.render_engine
157
+ assert_equal "525.26.2", ua.render_engine_version.full
158
+ assert_equal "525.26", ua.render_engine_version.major
159
+ assert_equal :safari, ua.name
160
+ assert_equal "3.2", ua.version.full
161
+ assert_equal "3.2", ua.version.major
162
+ assert_equal [], ua.emails
163
+ assert_equal nil, ua.email
164
+ assert_equal [], ua.urls
165
+ assert_equal nil, ua.url
166
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
167
+ assert_raise NotImplementedError do
168
+ ua.method(method).call
169
+ end
170
+ end
171
+ end
172
+
173
+ def test_safari_32_windows_xp
174
+ ua = UserAgent.new "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/525.26.2 (KHTML, like Gecko) Version/3.2 Safari/525.26.13"
175
+ assert ua.known?
176
+ assert ua.browser?
177
+ assert !ua.bot?
178
+ assert !ua.feed_reader?
179
+ assert !ua.other?
180
+ assert_equal :webkit, ua.render_engine
181
+ assert_equal "525.26.2", ua.render_engine_version.full
182
+ assert_equal :safari, ua.name
183
+ assert_equal "3.2", ua.version.full
184
+ assert_equal "3.2", ua.version.major
185
+ assert_equal [], ua.emails
186
+ assert_equal nil, ua.email
187
+ assert_equal [], ua.urls
188
+ assert_equal nil, ua.url
189
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
190
+ assert_raise NotImplementedError do
191
+ ua.method(method).call
192
+ end
193
+ end
194
+ end
195
+
196
+ def test_safari_40_mac_ppc
197
+ ua = UserAgent.new "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; en) AppleWebKit/528.4+ (KHTML, like Gecko) Version/4.0 Safari/528.1"
198
+ assert ua.known?
199
+ assert ua.browser?
200
+ assert !ua.bot?
201
+ assert !ua.feed_reader?
202
+ assert !ua.other?
203
+ assert_equal :webkit, ua.render_engine
204
+ assert_equal "528.4+", ua.render_engine_version.full
205
+ assert_equal "528.4+", ua.render_engine_version.major
206
+ assert_equal :safari, ua.name
207
+ assert_equal "4.0", ua.version.full
208
+ assert_equal "4.0", ua.version.major
209
+ assert_equal [], ua.emails
210
+ assert_equal nil, ua.email
211
+ assert_equal [], ua.urls
212
+ assert_equal nil, ua.url
213
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
214
+ assert_raise NotImplementedError do
215
+ ua.method(method).call
216
+ end
217
+ end
218
+ end
219
+
220
+ def test_safari_40dp1_mac_10_intel
221
+ ua = UserAgent.new "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-gb) AppleWebKit/528.10+ (KHTML, like Gecko) Version/4.0dp1 Safari/526.11.2"
222
+ assert ua.known?
223
+ assert ua.browser?
224
+ assert !ua.bot?
225
+ assert !ua.feed_reader?
226
+ assert !ua.other?
227
+ assert_equal :webkit, ua.render_engine
228
+ assert_equal "528.10+", ua.render_engine_version.full
229
+ assert_equal :safari, ua.name
230
+ assert_equal "4.0dp1", ua.version.full
231
+ assert_equal "4.0dp", ua.version.major
232
+ assert_equal [], ua.emails
233
+ assert_equal nil, ua.email
234
+ assert_equal [], ua.urls
235
+ assert_equal nil, ua.url
236
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
237
+ assert_raise NotImplementedError do
238
+ ua.method(method).call
239
+ end
240
+ end
241
+ end
242
+ end