mofo 0.1.2 → 0.2

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,27 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+ require 'mofo/hcard'
3
+
4
+ context "Multiple attributes within a container" do
5
+ setup do
6
+ $hcards ||= HCard.find(:all => fixture(:hresume))
7
+ $included ||= $hcards.first
8
+ $including ||= $hcards[1]
9
+ end
10
+
11
+ specify "should be referenceable by a microformat using the include pattern" do
12
+ %w(fn n).each do |att|
13
+ $including.send(att).should.equal $included.send(att)
14
+ end
15
+ end
16
+ end
17
+
18
+ context "A single attribute" do
19
+ setup do
20
+ $horsed ||= HCard.find(:first => fixture(:include_pattern_single_attribute))
21
+ end
22
+
23
+ specify "should be referenceable by a microformat using the include pattern" do
24
+ $horsed.logo.should.not.be.nil
25
+ $horsed.logo.should.equal Hpricot(open fixture(:include_pattern_single_attribute)).at("#logo").attributes['src']
26
+ end
27
+ end
@@ -0,0 +1,40 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+ require 'mofo/rel_tag'
3
+
4
+ context "An array of reltag arrays created from the corkd review webpage" do
5
+ setup do
6
+ $tags ||= RelTag.find(:all => fixture(:corkd))
7
+ end
8
+
9
+ specify "should consist of 23 tags" do
10
+ $tags.size.should.equal 23
11
+ end
12
+
13
+ specify "should include the berry and slippery tags" do
14
+ $tags.flatten.should.include 'berry'
15
+ $tags.flatten.should.include 'slippery'
16
+ end
17
+ end
18
+
19
+ context "A web page with three rel tags" do
20
+ setup do
21
+ $page ||= <<-EOF
22
+ <html>
23
+ <body>
24
+ <ul>
25
+ <li><a href="/tags/miracle" rel="tag">miracle</a></li>
26
+ <li><a href="/tags/wonder" rel="tag">wonder</a></li>
27
+ <li><a href="/tags/amusement" rel="tag">amusement</a></li>
28
+ </ul>
29
+ </body>
30
+ </html>
31
+ EOF
32
+ end
33
+
34
+ specify "should produce an array of three RelTag objects" do
35
+ tags = RelTag.find(:all, :text => $page)
36
+ tags.should.be.an.instance_of Array
37
+ tags.size.should.equal 3
38
+ tags.should.equal ["miracle", "wonder", "amusement"]
39
+ end
40
+ end
@@ -1,5 +1,12 @@
1
- $:.unshift 'lib/'
2
- require 'vendor/testspec-0.3.0/lib/test/spec'
1
+ $:.unshift 'lib/', File.dirname(__FILE__) + '/../lib'
2
+ require File.dirname(__FILE__) + '/../vendor/testspec-0.3.0/lib/test/spec'
3
+
4
+ begin
5
+ require 'rubygems'
6
+ require 'redgreen'
7
+ rescue LoadError
8
+ nil
9
+ end
3
10
 
4
11
  def fixture(name)
5
12
  File.dirname(__FILE__) + "/fixtures/#{name}.html"
@@ -0,0 +1,76 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+ require 'mofo/xfn'
3
+
4
+ def xfn_setup
5
+ $xfn ||= XFN.find(:first => fixture(:xfn))
6
+ end
7
+
8
+ context "A XFN object" do
9
+ setup do
10
+ xfn_setup
11
+ end
12
+
13
+ specify "should know what relations it contains" do
14
+ $xfn.relations.should.be.an.instance_of Array
15
+ $xfn.relations.should.include 'me'
16
+ end
17
+
18
+ specify "should give information about a relationship" do
19
+ me = $xfn.me
20
+ me.should.be.an.instance_of Array
21
+ me.first.relation.should.equal 'me'
22
+ me.first.to_s.should.equal '#me'
23
+
24
+ muse = $xfn.muse(true)
25
+ muse.should.be.an.instance_of XFN::Link
26
+ muse.relation.should.equal 'muse'
27
+ muse.to_s.should.equal '#muse'
28
+ end
29
+
30
+ specify "should know relationship intersections" do
31
+ # hot!
32
+ intersection = $xfn.colleague_and_sweetheart
33
+ intersection.should.be.an.instance_of XFN::Link
34
+ intersection.to_s.should.equal '#colleague'
35
+
36
+ intersection = $xfn.kin_and_colleague
37
+ intersection.should.be.an.instance_of Array
38
+ intersection.first.to_s.should.equal '#kin'
39
+ end
40
+
41
+ specify "should not know non-existent relationship intersections" do
42
+ intersection = $xfn.colleague_and_sweetheart_and_muse_and_crush
43
+ intersection.should.be.nil
44
+ end
45
+ end
46
+
47
+ context "A XFN::Link object" do
48
+ setup do
49
+ xfn_setup
50
+ $xfn_link ||= $xfn.first
51
+ end
52
+
53
+ specify "should be able to generate an html version of itself" do
54
+ $xfn_link.to_html.should.match /href.+\>.+\</
55
+ end
56
+
57
+ specify "should know its name" do
58
+ $xfn_link.name.should.be.an.instance_of String
59
+ $xfn_link.name.should.not.be.empty
60
+ end
61
+
62
+ specify "should know its relation to the page from which it was obtained" do
63
+ $xfn_link.relation.should.be.an.instance_of String
64
+ $xfn_link.relation.should.not.be.empty
65
+ end
66
+
67
+ specify "should know where it points" do
68
+ $xfn_link.link.should.be.an.instance_of String
69
+ $xfn_link.link.should.not.be.empty
70
+ end
71
+
72
+ specify "should display itself as its link" do
73
+ $xfn_link.inspect.should.equal $xfn_link.link.inspect
74
+ $xfn_link.to_s.should.equal $xfn_link.link.to_s
75
+ end
76
+ end
@@ -1,4 +1,4 @@
1
- require 'test/test_helper'
1
+ require File.dirname(__FILE__) + '/test_helper'
2
2
  require 'mofo/xoxo'
3
3
 
4
4
  context "A simple xoxo object" do
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: mofo
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.2
7
- date: 2007-01-25 00:00:00 -08:00
6
+ version: "0.2"
7
+ date: 2007-03-22 00:00:00 -07:00
8
8
  summary: mofo is a ruby microformat parser
9
9
  require_paths:
10
10
  - lib
@@ -36,29 +36,48 @@ files:
36
36
  - lib/microformat.rb
37
37
  - lib/mofo
38
38
  - lib/mofo.rb
39
+ - lib/microformat/array.rb
39
40
  - lib/microformat/simple.rb
40
41
  - lib/microformat/string.rb
42
+ - lib/mofo/adr.rb
43
+ - lib/mofo/geo.rb
41
44
  - lib/mofo/hcalendar.rb
42
45
  - lib/mofo/hcard.rb
43
46
  - lib/mofo/hentry.rb
44
47
  - lib/mofo/hfeed.rb
48
+ - lib/mofo/hresume.rb
45
49
  - lib/mofo/hreview.rb
50
+ - lib/mofo/rel_bookmark.rb
46
51
  - lib/mofo/rel_tag.rb
52
+ - lib/mofo/xfn.rb
47
53
  - lib/mofo/xoxo.rb
54
+ - test/ext_test.rb
48
55
  - test/fixtures
49
56
  - test/format_test.rb
50
57
  - test/hatom_test.rb
58
+ - test/hcalendar_test.rb
59
+ - test/hcard_test.rb
60
+ - test/hresume_test.rb
61
+ - test/hreview_test.rb
62
+ - test/include_pattern_test.rb
63
+ - test/reltag_test.rb
51
64
  - test/test_helper.rb
65
+ - test/xfn_test.rb
52
66
  - test/xoxo_test.rb
53
67
  - test/fixtures/bob.html
54
68
  - test/fixtures/chowhound.html
55
69
  - test/fixtures/corkd.html
70
+ - test/fixtures/event_addr.html
56
71
  - test/fixtures/events.html
57
72
  - test/fixtures/fake.html
58
73
  - test/fixtures/fauxtank.html
59
74
  - test/fixtures/hatom.html
75
+ - test/fixtures/hresume.html
76
+ - test/fixtures/include_pattern_single_attribute.html
60
77
  - test/fixtures/simple.html
61
78
  - test/fixtures/upcoming.html
79
+ - test/fixtures/upcoming_single.html
80
+ - test/fixtures/xfn.html
62
81
  - vendor/testspec-0.3.0
63
82
  - vendor/testspec-0.3.0/bin
64
83
  - vendor/testspec-0.3.0/ChangeLog
@@ -137,5 +156,13 @@ extensions: []
137
156
 
138
157
  requirements: []
139
158
 
140
- dependencies: []
141
-
159
+ dependencies:
160
+ - !ruby/object:Gem::Dependency
161
+ name: hpricot
162
+ version_requirement:
163
+ version_requirements: !ruby/object:Gem::Version::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: 0.4.59
168
+ version: