Skip to content

Commit de3349e

Browse files
committed
Run more RDF* tests.
1 parent 28077dd commit de3349e

2 files changed

Lines changed: 41 additions & 32 deletions

File tree

spec/star_spec.rb

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,41 +6,45 @@
66
describe "w3c turtle tests" do
77
require 'suite_helper'
88

9-
Fixtures::SuiteTest::Manifest.open("https://w3c.github.io/rdf-star/tests/turtle/syntax/manifest.ttl") do |m|
10-
describe m.comment do
11-
m.entries.each do |t|
12-
specify "#{t.name}: #{t.comment}" do
13-
t.logger = RDF::Spec.logger
14-
t.logger.info t.inspect
15-
t.logger.info "source:\n#{t.input}"
9+
%w(nt/syntax turtle/syntax turtle/eval).each do |man|
10+
Fixtures::SuiteTest::Manifest.open("https://w3c.github.io/rdf-star/tests/#{man}/manifest.ttl") do |m|
11+
describe [m.label, m.comment].compact.join(': ') do
12+
m.entries.each do |t|
13+
specify "#{t.name}: #{t.comment}" do
14+
t.logger = RDF::Spec.logger
15+
t.logger.info t.inspect
16+
t.logger.info "source:\n#{t.input}"
1617

17-
reader = RDF::Turtle::Reader.new(t.input,
18-
base_uri: t.base,
19-
canonicalize: false,
20-
validate: true,
21-
rdfstar: true,
22-
logger: t.logger)
18+
reader_class = t.ntriples? ? RDF::NTriples::Reader : RDF::Turtle::Reader
2319

24-
graph = RDF::Repository.new
20+
reader = reader_class.new(t.input,
21+
base_uri: t.base,
22+
canonicalize: false,
23+
validate: true,
24+
rdfstar: true,
25+
logger: t.logger)
2526

26-
if t.positive_test?
27-
begin
28-
graph << reader
29-
rescue Exception => e
30-
expect(e.message).to produce("Not exception #{e.inspect}", t)
31-
end
27+
graph = RDF::Repository.new
28+
29+
if t.positive_test?
30+
begin
31+
graph << reader
32+
rescue Exception => e
33+
expect(e.message).to produce("Not exception #{e.inspect}", t)
34+
end
3235

33-
if t.evaluate?
34-
output_graph = RDF::Repository.load(t.result, format: :ntriples, base_uri: t.base)
35-
expect(graph).to be_equivalent_graph(output_graph, t)
36+
if t.evaluate?
37+
output_graph = RDF::Repository.load(t.result, format: :ntriples, rdfstar: true, base_uri: t.base)
38+
expect(graph).to be_equivalent_graph(output_graph, t)
39+
else
40+
expect(graph).to be_a(RDF::Enumerable)
41+
end
3642
else
37-
expect(graph).to be_a(RDF::Enumerable)
43+
expect {
44+
graph << reader
45+
expect(graph.dump(:ntriples)).to produce("not this", t)
46+
}.to raise_error(RDF::ReaderError)
3847
end
39-
else
40-
expect {
41-
graph << reader
42-
expect(graph.dump(:ntriples)).to produce("not this", t)
43-
}.to raise_error(RDF::ReaderError)
4448
end
4549
end
4650
end

spec/suite_helper.rb

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@ module SuiteTest
146146
"mf": "http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#",
147147
"mq": "http://www.w3.org/2001/sw/DataAccess/tests/test-query#",
148148
"rdft": "http://www.w3.org/ns/rdftest#",
149-
149+
150+
"label": "rdfs:label",
150151
"comment": "rdfs:comment",
151152
"entries": {"@id": "mf:entries", "@container": "@list"},
152153
"name": "mf:name",
@@ -217,14 +218,18 @@ def entailment?
217218
Array(attributes['@type']).join(" ").match(/Entailment/)
218219
end
219220

221+
def ntriples?
222+
Array(attributes['@type']).join(" ").match(/NTriples/)
223+
end
224+
220225
def positive_test?
221226
!Array(attributes['@type']).join(" ").match(/Negative/)
222227
end
223-
228+
224229
def negative_test?
225230
!positive_test?
226231
end
227-
232+
228233
def inspect
229234
super.sub('>', "\n" +
230235
" syntax?: #{syntax?.inspect}\n" +

0 commit comments

Comments
 (0)