agent_orange 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
+ require 'net/http'
3
+ require 'iconv'
2
4
 
3
5
  describe AgentOrange::UserAgent do
4
6
 
@@ -82,4 +84,55 @@ describe AgentOrange::UserAgent do
82
84
  end
83
85
  end
84
86
 
87
+ describe 'checking with real browsers list' do
88
+ before do
89
+ @lists = [Iconv.new('UTF-8//IGNORE', 'UTF-8').iconv( File.open("spec/fixtures/browser_ids.htm").read)]
90
+
91
+ begin
92
+ @lists.push Net::HTTP.get('www.zytrax.com', '/tech/web/browser_ids.htm')
93
+ rescue
94
+ end
95
+ end
96
+
97
+ it "should parse browsers from list" do
98
+ [
99
+ {
100
+ :a_name => 'chrome',
101
+ :browser_names => ['Safari']
102
+ },
103
+ {
104
+ :a_name => 'safari',
105
+ :browser_names => ['Safari']
106
+ },
107
+ {
108
+ :a_name => 'firefox',
109
+ :browser_names => ['Firefox']
110
+ },
111
+ {
112
+ :a_name => 'msie',
113
+ :browser_names => ['MSIE','IEMobile']
114
+ },
115
+ {
116
+ :a_name => 'opera',
117
+ :browser_names => ['Opera']
118
+ }
119
+ ].each do |params|
120
+ part = ''
121
+
122
+ @lists.each do |list|
123
+ part += list.scan(/<a name="#{params[:a_name]}">.+?<a name="/m).first.to_s
124
+ end
125
+
126
+ part.scan(/<p class="g-c-s">([^<]+)<\/p>/).each do |q|
127
+ ua = AgentOrange::UserAgent.new(q.first)
128
+ br_name = ua.device.engine.browser.name
129
+
130
+ params[:browser_names].should include(br_name)
131
+ end
132
+ end
133
+ end
134
+
135
+ end
136
+
137
+
85
138
  end
metadata CHANGED
@@ -1,75 +1,59 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: agent_orange
3
- version: !ruby/object:Gem::Version
4
- hash: 31
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 2
10
- version: 0.1.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Kevin Elliott
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-10-25 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2011-12-08 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rake
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70263619758660 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :development
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: rspec
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70263619758660
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &70263619755860 !ruby/object:Gem::Requirement
38
28
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
46
33
  type: :development
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: bundler
50
34
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70263619755860
36
+ - !ruby/object:Gem::Dependency
37
+ name: bundler
38
+ requirement: &70263619747260 !ruby/object:Gem::Requirement
52
39
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
60
44
  type: :development
61
- version_requirements: *id003
45
+ prerelease: false
46
+ version_requirements: *70263619747260
62
47
  description: Parse and process User Agents like a secret one
63
- email:
48
+ email:
64
49
  - kevin@welikeinc.com
65
- executables:
50
+ executables:
66
51
  - agent_orange_example
67
52
  extensions: []
68
-
69
53
  extra_rdoc_files: []
70
-
71
- files:
54
+ files:
72
55
  - .gitignore
56
+ - .travis.yml
73
57
  - Gemfile
74
58
  - README.rdoc
75
59
  - Rakefile
@@ -86,43 +70,36 @@ files:
86
70
  - lib/agent_orange/version.rb
87
71
  - lib/tasks/allagents.xml
88
72
  - lib/tasks/bot_agent_test.rake
73
+ - spec/fixtures/browser_ids.htm
89
74
  - spec/spec_helper.rb
90
75
  - spec/user_agent_matcher.rb
91
76
  - spec/user_agent_spec.rb
92
77
  homepage: http://github.com/kevinelliott/agent_orange
93
78
  licenses: []
94
-
95
79
  post_install_message:
96
80
  rdoc_options: []
97
-
98
- require_paths:
81
+ require_paths:
99
82
  - lib
100
- required_ruby_version: !ruby/object:Gem::Requirement
83
+ required_ruby_version: !ruby/object:Gem::Requirement
101
84
  none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 3
106
- segments:
107
- - 0
108
- version: "0"
109
- required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
90
  none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 3
115
- segments:
116
- - 0
117
- version: "0"
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
118
95
  requirements: []
119
-
120
96
  rubyforge_project: agent_orange
121
- rubygems_version: 1.8.5
97
+ rubygems_version: 1.8.10
122
98
  signing_key:
123
99
  specification_version: 3
124
100
  summary: Parse and process User Agents like a secret one
125
- test_files:
101
+ test_files:
102
+ - spec/fixtures/browser_ids.htm
126
103
  - spec/spec_helper.rb
127
104
  - spec/user_agent_matcher.rb
128
105
  - spec/user_agent_spec.rb