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.
@@ -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>
@@ -9,7 +9,7 @@ class TestLoader < Test::Unit::TestCase
9
9
  end
10
10
 
11
11
  def test_load_wurfl
12
- handsets, fallbacks = @loader.load_wurfl(File.join(File.dirname(__FILE__), "data", "wurfl.simple.xml"))
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 test_load_wurfl_from_string
23
- s = File.read(File.join(File.dirname(__FILE__), "data", "wurfl.simple.xml"))
24
- handsets, fallbacks = @loader.parse_xml(s)
25
- assert_equal("300", handsets["apple_generic"]["max_image_height"])
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, fallbacks = loader.load_wurfl(File.join(File.dirname(__FILE__), "data", "wurfl.simple.xml"))
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 "generic_xhtml", a.first.wurfl_id
17
- assert_equal 4, shortest_distance
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("generic")
21
+ a, shortest_distance = @matcher.match_handsets("Mozz")
22
22
  assert_equal 1, a.size
23
- assert_equal "generic", a.first.wurfl_id
23
+ assert_equal "generic_xhtml", a.first.wurfl_id
24
24
  assert_equal 0, shortest_distance
25
25
  end
26
26
 
@@ -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, fallbacks = loader.load_wurfl(File.join(File.dirname(__FILE__), "data", "wurfl.simple.xml"))
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,fallbacks)
15
- loaded_handsets, loaded_fallbacks = load_wurfl_pstore(tempfile)
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
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{wurfl}
5
- s.version = "1.2.0"
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-22}
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.2.0
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-22 00:00:00 +09:00
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