rdf-rdfa 0.0.1 → 0.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.
@@ -1,112 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'spec_helper')
2
-
3
- describe RDFa::Reader::Namespace do
4
- subject { RDFa::Reader::Namespace.new("http://xmlns.com/foaf/0.1/", "foaf") }
5
-
6
- describe "method_missing" do
7
- it "should create URI" do
8
- subject.knows.to_s.should == "http://xmlns.com/foaf/0.1/knows"
9
- end
10
-
11
- it "should create URI for frag" do
12
- foaf_frag = RDFa::Reader::Namespace.new("http://xmlns.com/foaf/0.1/", "foaf")
13
- foaf_frag.knows.to_s.should == "http://xmlns.com/foaf/0.1/knows"
14
- end
15
- end
16
-
17
- it "should have a URI" do
18
- lambda do
19
- test = RDFa::Reader::Namespace.new(prefix='foaf')
20
- end.should raise_error
21
- end
22
-
23
- it "should have equality with URIs" do
24
- foaf_name = RDF::URI.new("http://xmlns.com/foaf/0.1/name")
25
- subject.name.should == foaf_name
26
- end
27
-
28
- it "should have an XML and N3-friendly prefix" do
29
- lambda do
30
- test = RDFa::Reader::Namespace.new('http://xmlns.com/foaf/0.1/', '*~{')
31
- end.should raise_error
32
- end
33
-
34
- # it "should be able to attach to the graph for substitution" do
35
- # # rdflib does this using graph.bind('prefix', namespace)
36
- # g = RDF::Graph.new
37
- # subject.bind(g)
38
- # #puts g.nsbinding.inspect
39
- # should == g.nsbinding["foaf"]
40
- # end
41
-
42
- it "should not allow you to attach to non-graphs" do
43
- lambda do
44
- subject.bind("cheese")
45
- end.should raise_error
46
- end
47
-
48
- it "should construct URI" do
49
- subject.foo.class.should == RDF::URI
50
- subject.foo.to_s.should == "http://xmlns.com/foaf/0.1/foo"
51
- end
52
-
53
- describe "no URI normalization" do
54
- specify {RDFa::Reader::Namespace.new("http://foo", "foo").uri.to_s.should == "http://foo"}
55
- specify {RDFa::Reader::Namespace.new("http://foo#", "foo").uri.to_s.should == "http://foo#"}
56
- specify {RDFa::Reader::Namespace.new("http://foo/", "foo").uri.to_s.should == "http://foo/"}
57
- specify {RDFa::Reader::Namespace.new("xyz:foo", "foo").uri.to_s.should == "xyz:foo"}
58
- end
59
-
60
- it "should not normalize URI" do
61
- end
62
-
63
- describe "serialization" do
64
- specify {subject.to_s.should == "foaf: http://xmlns.com/foaf/0.1/"}
65
- end
66
-
67
- describe '#+' do
68
- it "should construct URI with +" do
69
- (subject + "foo").class.should == RDF::URI
70
- (subject + "foo").to_s.should == "http://xmlns.com/foaf/0.1/foo"
71
- end
72
-
73
- it "should strip trailing _ (used to work around reserved method names)" do
74
- (subject + "type_").to_s.should == "http://xmlns.com/foaf/0.1/type"
75
- end
76
-
77
- it "will cause method conflict" do
78
- (subject + "class").to_s.should == "http://xmlns.com/foaf/0.1/class"
79
- subject.class.should == RDFa::Reader::Namespace
80
- end
81
- end
82
-
83
- describe "normalization" do
84
- {
85
- %w(http://foo ) => "http://foo",
86
- %w(http://foo a) => "http://fooa",
87
-
88
- %w(http://foo/ ) => "http://foo/",
89
- %w(http://foo/ a) => "http://foo/a",
90
-
91
- %w(http://foo# ) => "http://foo#",
92
- %w(http://foo# a) => "http://foo#a",
93
-
94
- %w(http://foo/bar ) => "http://foo/bar",
95
- %w(http://foo/bar a) => "http://foo/bara",
96
-
97
- %w(http://foo/bar/ ) => "http://foo/bar/",
98
- %w(http://foo/bar/ a) => "http://foo/bar/a",
99
-
100
- %w(http://foo/bar# ) => "http://foo/bar#",
101
- %w(http://foo/bar# a) => "http://foo/bar#a",
102
- }.each_pair do |input, result|
103
- it "should create <#{result}> from <#{input[0]}> and '#{input[1]}'" do
104
- (RDFa::Reader::Namespace.new(input[0], "test") + input[1].to_s).to_s.should == result
105
- end
106
- end
107
- end
108
-
109
- it "should be be equivalent" do
110
- RDFa::Reader::Namespace.new("http://a", "aa").should == RDFa::Reader::Namespace.new("http://a", "aa")
111
- end
112
- end
@@ -1,146 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'spec_helper')
2
-
3
- describe "RDFa parser" do
4
- it "should parse simple doc" do
5
- sampledoc = <<-EOF;
6
- <?xml version="1.0" encoding="UTF-8"?>
7
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
8
- <html xmlns="http://www.w3.org/1999/xhtml"
9
- xmlns:dc="http://purl.org/dc/elements/1.1/">
10
- <head>
11
- <title>Test 0001</title>
12
- </head>
13
- <body>
14
- <p>This photo was taken by <span class="author" about="photo1.jpg" property="dc:creator">Mark Birbeck</span>.</p>
15
- </body>
16
- </html>
17
- EOF
18
-
19
- # FIXME: base URIs arn't working
20
- reader = RDFa::Reader.new(sampledoc, :base_uri => "http://rdfa.digitalbazaar.com/test-suite/test-cases/xhtml1/0001.xhtml", :strict => true)
21
- reader.graph.size.should == 1
22
- reader.graph.should have_object("Mark Birbeck")
23
- end
24
-
25
- it "should parse simple doc without a base URI" do
26
- sampledoc = <<-EOF;
27
- <?xml version="1.0" encoding="UTF-8"?>
28
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
29
- <html xmlns="http://www.w3.org/1999/xhtml"
30
- xmlns:dc="http://purl.org/dc/elements/1.1/">
31
- <body>
32
- <p>This photo was taken by <span class="author" about="_:photo" property="dc:creator">Mark Birbeck</span>.</p>
33
- </body>
34
- </html>
35
- EOF
36
-
37
- reader = RDFa::Reader.new(sampledoc, :strict => true)
38
- reader.graph.size.should == 1
39
- reader.graph.should have_triple([RDF::Node('photo'), RDF::DC11.creator, "Mark Birbeck"])
40
- end
41
-
42
- it "should parse an XML Literal" do
43
- sampledoc = <<-EOF
44
- <?xml version="1.0" encoding="UTF-8"?>
45
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
46
- <html xmlns="http://www.w3.org/1999/xhtml"
47
- xmlns:dc="http://purl.org/dc/elements/1.1/">
48
- <head>
49
- <title>Test 0011</title>
50
- </head>
51
- <body>
52
- <div about="">
53
- Author: <span property="dc:creator">Albert Einstein</span>
54
- <h2 property="dc:title">E = mc<sup>2</sup>: The Most Urgent Problem of Our Time</h2>
55
- </div>
56
- </body>
57
- </html>
58
- EOF
59
-
60
- reader = RDFa::Reader.new(sampledoc, :base_uri => "http://rdfa.digitalbazaar.com/test-suite/test-cases/xhtml1/0011.xhtml", :strict => true)
61
- reader.graph.size.should == 2
62
-
63
- reader.graph.should have_object("Albert Einstein")
64
- reader.graph.should have_object(
65
- RDF::Literal("E = mc<sup>2</sup>: The Most Urgent Problem of Our Time",
66
- :datatype => RDF::URI('http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral'))
67
- )
68
- end
69
-
70
-
71
- it "should parse BNodes" do
72
- sampledoc = <<-EOF
73
- <?xml version="1.0" encoding="UTF-8"?>
74
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
75
- <html xmlns="http://www.w3.org/1999/xhtml"
76
- xmlns:foaf="http://xmlns.com/foaf/0.1/">
77
- <head>
78
- <title>Test 0017</title>
79
- </head>
80
- <body>
81
- <p>
82
- <span about="[_:a]" property="foaf:name">Manu Sporny</span>
83
- <span about="[_:a]" rel="foaf:knows" resource="[_:b]">knows</span>
84
- <span about="[_:b]" property="foaf:name">Ralph Swick</span>.
85
- </p>
86
- </body>
87
- </html>
88
- EOF
89
-
90
- reader = RDFa::Reader.new(sampledoc, :base_uri => "http://rdfa.digitalbazaar.com/test-suite/test-cases/xhtml1/0011.xhtml", :strict => true)
91
-
92
- reader.graph.size.should == 3
93
- reader.graph.should have_object("Ralph Swick")
94
- reader.graph.should have_object("Manu Sporny")
95
- end
96
-
97
- # def self.test_cases(suite)
98
- # RdfaHelper::TestCase.test_cases(suite)
99
- # end
100
- #
101
- # # W3C Test suite from http://www.w3.org/2006/07/SWD/RDFa/testsuite/
102
- # %w(xhtml html4 html5).each do |suite|
103
- # describe "w3c #{suite} testcases" do
104
- # describe "that are approved" do
105
- # test_cases(suite).each do |t|
106
- # puts t.inspect
107
- # next unless t.status == "approved"
108
- # #next unless t.name =~ /0140/
109
- # specify "test #{t.name}: #{t.title}#{", (negative test)" unless t.expectedResults}" do
110
- # #puts t.input
111
- # #puts t.results
112
- # begin
113
- # t.run_test do |rdfa_string, rdfa_parser|
114
- # rdfa_parser.parse(rdfa_string, t.informationResourceInput, :debug => [])
115
- # end
116
- # rescue SparqlException => e
117
- # pending(e.message) { raise }
118
- # end
119
- # end
120
- # end
121
- # end
122
- # describe "that are unreviewed" do
123
- # test_cases(suite).each do |t|
124
- # next unless t.status == "unreviewed"
125
- # #next unless t.name =~ /0185/
126
- # #puts t.inspect
127
- # specify "test #{t.name}: #{t.title}#{", (negative test)" unless t.expectedResults}" do
128
- # begin
129
- # t.run_test do |rdfa_string, rdfa_parser|
130
- # rdfa_parser.parse(rdfa_string, t.informationResourceInput, :debug => [])
131
- # end
132
- # rescue SparqlException => e
133
- # pending(e.message) { raise }
134
- # rescue Spec::Expectations::ExpectationNotMetError => e
135
- # if t.name =~ /01[789]\d/
136
- # raise
137
- # else
138
- # pending() { raise }
139
- # end
140
- # end
141
- # end
142
- # end
143
- # end
144
- # end
145
- # end
146
- end