Skip to content

Commit 1322f67

Browse files
committed
Additional NQuads tests.
1 parent a8a2bfe commit 1322f67

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

script/tc

+8-1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ def run_tc(tc, **options)
9090
if tc.evaluate? && result.nil?
9191
output_graph = RDF::Repository.load(tc.result, format: :nquads, base_uri: tc.base, rdfstar: true)
9292
result = graph.isomorphic_with?(output_graph) ? "passed" : "failed"
93+
elsif tc.c14n? && result.nil?
94+
c14n = RDF::NQuads::Writer.buffer {|w| w << graph}
95+
result = c14n == tc.expected ? "passed" : "failed"
9396
else
9497
result ||= "passed"
9598
end
@@ -194,7 +197,11 @@ opts.each do |opt, arg|
194197
end
195198

196199
manifests = if options[:nquads]
197-
[Fixtures::SuiteTest::BASE + "rdf11/rdf-n-quads/"]
200+
[
201+
Fixtures::SuiteTest::BASE + "rdf11/rdf-n-quads/",
202+
Fixtures::SuiteTest::BASE + "rdf12/rdf-n-quads/syntax/",
203+
Fixtures::SuiteTest::BASE + "rdf12/rdf-n-quads/c14n/",
204+
]
198205
else
199206
[
200207
Fixtures::SuiteTest::BASE + "rdf11/rdf-trig/",

spec/nquads_spec.rb

+12-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
describe "w3c N-Quads tests" do
77
require 'suite_helper'
88

9-
%w(rdf11/rdf-n-quads/manifest.ttl).each do |man|
9+
%w(
10+
rdf11/rdf-n-quads/manifest.ttl
11+
rdf12/rdf-n-quads/syntax/manifest.ttl
12+
rdf12/rdf-n-quads/c14n/manifest.ttl
13+
).each do |man|
1014
Fixtures::SuiteTest::Manifest.open(Fixtures::SuiteTest::BASE + man) do |m|
1115
describe m.comment do
1216
m.entries.each do |t|
@@ -15,7 +19,7 @@
1519
t.logger.info t.inspect
1620
t.logger.info "source:\n#{t.input}"
1721

18-
reader = RDF::NQuads::Reader.new(t.input, logger: t.logger, validate: true)
22+
reader = RDF::NQuads::Reader.new(t.input, rdfstar: true, logger: t.logger, validate: true)
1923

2024
repo = RDF::Repository.new
2125

@@ -29,7 +33,12 @@
2933
expect {repo << reader}.to raise_error(RDF::ReaderError)
3034
end
3135

32-
expect(repo).to be_a(RDF::Enumerable)
36+
if t.c14n?
37+
c14n = RDF::NQuads::Writer.buffer {|w| w << repo}
38+
expect(c14n).to eql t.expected
39+
else
40+
expect(repo).to be_a(RDF::Enumerable)
41+
end
3342
end
3443
end
3544
end

spec/suite_helper.rb

+5-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,11 @@ def positive_test?
146146
def negative_test?
147147
!positive_test?
148148
end
149-
149+
150+
def c14n?
151+
!!Array(attributes['@type']).join(" ").match(/C14N/)
152+
end
153+
150154
def inspect
151155
super.sub('>', "\n" +
152156
" syntax?: #{syntax?.inspect}\n" +

0 commit comments

Comments
 (0)