wurfl 1.2.0 → 1.3.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.
- data/VERSION +1 -1
- data/lib/wurfl/command/comparator.rb +2 -2
- data/lib/wurfl/command/inspector.rb +1 -1
- data/lib/wurfl/command/loader.rb +9 -12
- data/lib/wurfl/command/uamatch.rb +1 -1
- data/lib/wurfl/loader.rb +13 -105
- data/lib/wurfl/utils.rb +3 -13
- data/test/benchmark.rb +9 -0
- data/test/data/wurfl.generic.patch.xml +13 -0
- data/test/data/wurfl.large.xml +80020 -0
- data/test/data/wurfl.reverse.xml +38 -0
- data/test/loader_test.rb +19 -5
- data/test/user_agent_matcher_test.rb +5 -5
- data/test/utils_test.rb +3 -4
- data/wurfl.gemspec +8 -3
- metadata +7 -2
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<wurfl>
|
|
3
|
+
<version>
|
|
4
|
+
<ver>Test Version</ver>
|
|
5
|
+
</version>
|
|
6
|
+
<devices>
|
|
7
|
+
<device id="apple_generic" user_agent="Mozilla/5.0 (iPhone;" fall_back="generic_xhtml">
|
|
8
|
+
<group id="display">
|
|
9
|
+
<capability name="columns" value="20"/>
|
|
10
|
+
<capability name="max_image_width" value="300"/>
|
|
11
|
+
<capability name="rows" value="20"/>
|
|
12
|
+
<capability name="resolution_width" value="300"/>
|
|
13
|
+
<capability name="resolution_height" value="300"/>
|
|
14
|
+
<capability name="max_image_height" value="300"/>
|
|
15
|
+
</group>
|
|
16
|
+
</device>
|
|
17
|
+
<device id="generic_xhtml" user_agent="Mozz" fall_back="generic">
|
|
18
|
+
<group id="display">
|
|
19
|
+
<capability name="max_image_width" value="120"/>
|
|
20
|
+
<capability name="resolution_height" value="92"/>
|
|
21
|
+
<capability name="resolution_width" value="128"/>
|
|
22
|
+
<capability name="max_image_height" value="92"/>
|
|
23
|
+
</group>
|
|
24
|
+
</device>
|
|
25
|
+
<device id="generic" user_agent="" fall_back="root">
|
|
26
|
+
<group id="display">
|
|
27
|
+
<capability name="physical_screen_height" value="27"/>
|
|
28
|
+
<capability name="columns" value="11"/>
|
|
29
|
+
<capability name="physical_screen_width" value="27"/>
|
|
30
|
+
<capability name="rows" value="6"/>
|
|
31
|
+
<capability name="max_image_width" value="90"/>
|
|
32
|
+
<capability name="resolution_height" value="40"/>
|
|
33
|
+
<capability name="resolution_width" value="90"/>
|
|
34
|
+
<capability name="max_image_height" value="35"/>
|
|
35
|
+
</group>
|
|
36
|
+
</device>
|
|
37
|
+
</devices>
|
|
38
|
+
</wurfl>
|
data/test/loader_test.rb
CHANGED
|
@@ -9,7 +9,7 @@ class TestLoader < Test::Unit::TestCase
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def test_load_wurfl
|
|
12
|
-
handsets
|
|
12
|
+
handsets = @loader.load_wurfl(File.join(File.dirname(__FILE__), "data", "wurfl.simple.xml"))
|
|
13
13
|
assert_equal("20", handsets["apple_generic"]["columns"])
|
|
14
14
|
assert_equal("11", handsets["generic_xhtml"]["columns"])
|
|
15
15
|
assert_equal("11", handsets["generic"]["columns"])
|
|
@@ -17,12 +17,26 @@ class TestLoader < Test::Unit::TestCase
|
|
|
17
17
|
assert_equal("300", handsets["apple_generic"]["max_image_height"])
|
|
18
18
|
assert_equal("92", handsets["generic_xhtml"]["max_image_height"])
|
|
19
19
|
assert_equal("35", handsets["generic"]["max_image_height"])
|
|
20
|
+
|
|
21
|
+
assert_equal("", handsets["generic"].user_agent)
|
|
20
22
|
end
|
|
21
23
|
|
|
22
|
-
def
|
|
23
|
-
|
|
24
|
-
handsets
|
|
25
|
-
assert_equal("
|
|
24
|
+
def test_patched_generic
|
|
25
|
+
@loader.load_wurfl(File.join(File.dirname(__FILE__), "data", "wurfl.simple.xml"))
|
|
26
|
+
handsets = @loader.load_wurfl(File.join(File.dirname(__FILE__), "data", "wurfl.generic.patch.xml"))
|
|
27
|
+
assert_equal("200", handsets["generic"]["columns"])
|
|
28
|
+
assert_equal("6", handsets["generic"]["rows"])
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_load_reverse_wurfl
|
|
32
|
+
handsets = @loader.load_wurfl(File.join(File.dirname(__FILE__), "data", "wurfl.reverse.xml"))
|
|
33
|
+
assert_equal("27", handsets["apple_generic"]["physical_screen_height"])
|
|
34
|
+
assert_equal("27", handsets["generic_xhtml"]["physical_screen_height"])
|
|
35
|
+
assert_equal("27", handsets["generic"]["physical_screen_height"])
|
|
36
|
+
|
|
37
|
+
assert_equal("Mozilla/5.0 (iPhone;", handsets["apple_generic"].user_agent)
|
|
38
|
+
assert_equal("Mozz", handsets["generic_xhtml"].user_agent)
|
|
39
|
+
assert_equal("", handsets["generic"].user_agent)
|
|
26
40
|
end
|
|
27
41
|
|
|
28
42
|
end
|
|
@@ -6,21 +6,21 @@ require 'test/unit'
|
|
|
6
6
|
class UserAgentMatcherTest < Test::Unit::TestCase
|
|
7
7
|
def setup
|
|
8
8
|
loader = Wurfl::Loader.new
|
|
9
|
-
handsets
|
|
9
|
+
handsets = loader.load_wurfl(File.join(File.dirname(__FILE__), "data", "wurfl.simple.xml"))
|
|
10
10
|
@matcher = Wurfl::UserAgentMatcher.new(handsets)
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def test_empty_user_agent
|
|
14
14
|
a, shortest_distance = @matcher.match_handsets("")
|
|
15
15
|
assert_equal 1, a.size
|
|
16
|
-
assert_equal "
|
|
17
|
-
assert_equal
|
|
16
|
+
assert_equal "generic", a.first.wurfl_id
|
|
17
|
+
assert_equal 0, shortest_distance
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def test_matching_user_agent
|
|
21
|
-
a, shortest_distance = @matcher.match_handsets("
|
|
21
|
+
a, shortest_distance = @matcher.match_handsets("Mozz")
|
|
22
22
|
assert_equal 1, a.size
|
|
23
|
-
assert_equal "
|
|
23
|
+
assert_equal "generic_xhtml", a.first.wurfl_id
|
|
24
24
|
assert_equal 0, shortest_distance
|
|
25
25
|
end
|
|
26
26
|
|
data/test/utils_test.rb
CHANGED
|
@@ -9,12 +9,11 @@ class TestLoader < Test::Unit::TestCase
|
|
|
9
9
|
|
|
10
10
|
def test_save_and_load_wurfl_pstore
|
|
11
11
|
loader = Wurfl::Loader.new
|
|
12
|
-
handsets
|
|
12
|
+
handsets = loader.load_wurfl(File.join(File.dirname(__FILE__), "data", "wurfl.simple.xml"))
|
|
13
13
|
tempfile = Tempfile.new("wurfl.pstore").path
|
|
14
|
-
save_wurfl_pstore(tempfile,handsets
|
|
15
|
-
loaded_handsets
|
|
14
|
+
save_wurfl_pstore(tempfile,handsets)
|
|
15
|
+
loaded_handsets = load_wurfl_pstore(tempfile)
|
|
16
16
|
assert_equal handsets, loaded_handsets
|
|
17
|
-
assert_equal fallbacks, loaded_fallbacks
|
|
18
17
|
end
|
|
19
18
|
|
|
20
19
|
end
|
data/wurfl.gemspec
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = %q{wurfl}
|
|
5
|
-
s.version = "1.
|
|
5
|
+
s.version = "1.3.0"
|
|
6
6
|
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
8
8
|
s.authors = ["Paul McMahon", "Zev Blut"]
|
|
9
|
-
s.date = %q{2009-07-
|
|
9
|
+
s.date = %q{2009-07-23}
|
|
10
10
|
s.default_executable = %q{wurfltools.rb}
|
|
11
11
|
s.description = %q{TODO}
|
|
12
12
|
s.email = %q{info@mobalean.com}
|
|
@@ -34,6 +34,10 @@ Gem::Specification.new do |s|
|
|
|
34
34
|
"lib/wurfl/uaproftowurfl.rb",
|
|
35
35
|
"lib/wurfl/user_agent_matcher.rb",
|
|
36
36
|
"lib/wurfl/utils.rb",
|
|
37
|
+
"test/benchmark.rb",
|
|
38
|
+
"test/data/wurfl.generic.patch.xml",
|
|
39
|
+
"test/data/wurfl.large.xml",
|
|
40
|
+
"test/data/wurfl.reverse.xml",
|
|
37
41
|
"test/data/wurfl.simple.xml",
|
|
38
42
|
"test/handset_test.rb",
|
|
39
43
|
"test/loader_test.rb",
|
|
@@ -52,7 +56,8 @@ Gem::Specification.new do |s|
|
|
|
52
56
|
"test/loader_test.rb",
|
|
53
57
|
"test/handset_test.rb",
|
|
54
58
|
"test/utils_test.rb",
|
|
55
|
-
"test/user_agent_matcher_test.rb"
|
|
59
|
+
"test/user_agent_matcher_test.rb",
|
|
60
|
+
"test/benchmark.rb"
|
|
56
61
|
]
|
|
57
62
|
|
|
58
63
|
if s.respond_to? :specification_version then
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wurfl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Paul McMahon
|
|
@@ -10,7 +10,7 @@ autorequire:
|
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
12
|
|
|
13
|
-
date: 2009-07-
|
|
13
|
+
date: 2009-07-23 00:00:00 +09:00
|
|
14
14
|
default_executable: wurfltools.rb
|
|
15
15
|
dependencies: []
|
|
16
16
|
|
|
@@ -42,6 +42,10 @@ files:
|
|
|
42
42
|
- lib/wurfl/uaproftowurfl.rb
|
|
43
43
|
- lib/wurfl/user_agent_matcher.rb
|
|
44
44
|
- lib/wurfl/utils.rb
|
|
45
|
+
- test/benchmark.rb
|
|
46
|
+
- test/data/wurfl.generic.patch.xml
|
|
47
|
+
- test/data/wurfl.large.xml
|
|
48
|
+
- test/data/wurfl.reverse.xml
|
|
45
49
|
- test/data/wurfl.simple.xml
|
|
46
50
|
- test/handset_test.rb
|
|
47
51
|
- test/loader_test.rb
|
|
@@ -79,3 +83,4 @@ test_files:
|
|
|
79
83
|
- test/handset_test.rb
|
|
80
84
|
- test/utils_test.rb
|
|
81
85
|
- test/user_agent_matcher_test.rb
|
|
86
|
+
- test/benchmark.rb
|