rdf-spec 2.2.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +2 -2
- data/VERSION +1 -1
- data/etc/doap.nt +2 -2
- data/etc/quads.nq +1 -1
- data/etc/triples.nt +1 -1
- data/lib/rdf/spec.rb +2 -0
- data/lib/rdf/spec/enumerable.rb +0 -12
- data/lib/rdf/spec/http_adapter.rb +2 -0
- data/lib/rdf/spec/matchers.rb +36 -14
- data/lib/rdf/spec/reader.rb +91 -40
- data/lib/rdf/spec/writer.rb +29 -36
- data/spec/literal_spec.rb +2 -2
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 55c31bab33a2dc7cc1c62abaa30fad175fe9ef7d86fe7829a2b314b637415f10
|
4
|
+
data.tar.gz: 3ff601a8bc5d1805aa6ae0ccf15423ebf26e33a3c9a34ba49c539ad7096f70ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2c23be61c1f038c029a248e7cbf32b6ab0aca33ace482ea1c87b427db560e08fa6c72149372a2c731ded61aac3401447e7f9711e13d4344dbb97d9a4ffb8272
|
7
|
+
data.tar.gz: f28c1b26da93bf7959fda4fdb7e52183c1d7620fc713854000d4890d2a14eb25836daf8b5446174153806b9d80e16dea8b2e6a0d27ec69b9248c2aec61d264fe
|
data/README.md
CHANGED
@@ -31,8 +31,8 @@ Note that in most cases, if the instance is empty and mutable, the appropriate s
|
|
31
31
|
|
32
32
|
## Dependencies
|
33
33
|
|
34
|
-
* [RDF.rb](http://rubygems.org/gems/rdf) (~>
|
35
|
-
* [RSpec](http://rubygems.org/gems/rspec) (~> 3.
|
34
|
+
* [RDF.rb](http://rubygems.org/gems/rdf) (~> 3.0)
|
35
|
+
* [RSpec](http://rubygems.org/gems/rspec) (~> 3.7)
|
36
36
|
|
37
37
|
## Installation
|
38
38
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.0.0
|
data/etc/doap.nt
CHANGED
@@ -38,8 +38,8 @@ _:g70121455472480 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "bedbbf2451e5beb38d59
|
|
38
38
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#implements> <http://www.w3.org/TR/rdf-concepts/> .
|
39
39
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#implements> <http://sw.deri.org/2008/07/n-quads/> .
|
40
40
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#implements> <http://www.w3.org/2001/sw/RDFCore/ntriples/> .
|
41
|
-
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#download-page> <http://
|
42
|
-
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#bug-database> <http://github.com/ruby-rdf/rdf/issues> .
|
41
|
+
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#download-page> <http://rubygems.org/gems/rdf-spec/> .
|
42
|
+
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#bug-database> <http://github.com/ruby-rdf/rdf-spec/issues> .
|
43
43
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://ar.to/> .
|
44
44
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://blog.datagraph.org/> .
|
45
45
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#vendor> <http://datagraph.org/> .
|
data/etc/quads.nq
CHANGED
@@ -38,7 +38,7 @@ _:g70121455472480 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "bedbbf2451e5beb38d59
|
|
38
38
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#implements> <http://www.w3.org/TR/rdf-concepts/> .
|
39
39
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#implements> <http://sw.deri.org/2008/07/n-quads/> .
|
40
40
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#implements> <http://www.w3.org/2001/sw/RDFCore/ntriples/> .
|
41
|
-
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#download-page> <http://
|
41
|
+
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#download-page> <http://http://github.com/ruby-rdf/rdf/> .
|
42
42
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#bug-database> <http://github.com/ruby-rdf/rdf/issues> .
|
43
43
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://ar.to/> .
|
44
44
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://blog.datagraph.org/> .
|
data/etc/triples.nt
CHANGED
@@ -38,7 +38,7 @@ _:g70121455472480 <http://xmlns.com/foaf/0.1/mbox_sha1sum> "bedbbf2451e5beb38d59
|
|
38
38
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#implements> <http://www.w3.org/TR/rdf-concepts/> .
|
39
39
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#implements> <http://sw.deri.org/2008/07/n-quads/> .
|
40
40
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#implements> <http://www.w3.org/2001/sw/RDFCore/ntriples/> .
|
41
|
-
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#download-page> <http://
|
41
|
+
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#download-page> <http://http://github.com/ruby-rdf/rdf/> .
|
42
42
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#bug-database> <http://github.com/ruby-rdf/rdf/issues> .
|
43
43
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://ar.to/> .
|
44
44
|
<http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#blog> <http://blog.datagraph.org/> .
|
data/lib/rdf/spec.rb
CHANGED
data/lib/rdf/spec/enumerable.rb
CHANGED
@@ -514,23 +514,11 @@ RSpec.shared_examples 'an RDF::Enumerable' do
|
|
514
514
|
context "when converting" do
|
515
515
|
it {is_expected.to respond_to(:to_h)}
|
516
516
|
it {is_expected.not_to respond_to(:to_hash)}
|
517
|
-
its(:to_hash) {
|
518
|
-
expect {
|
519
|
-
is_expected.to be_instance_of(Hash)
|
520
|
-
}.to write("DEPRECATION").to(:error)
|
521
|
-
}
|
522
517
|
describe "#to_h" do
|
523
518
|
it "should have as many keys as subjects" do
|
524
519
|
expect(subject.to_h.keys.size).to eq enumerable.subjects.to_a.size
|
525
520
|
end
|
526
521
|
end
|
527
|
-
describe "#to_h" do
|
528
|
-
it "should have as many keys as subjects (with deprecation)" do
|
529
|
-
expect {
|
530
|
-
expect(subject.to_hash.keys.size).to eq enumerable.subjects.to_a.size
|
531
|
-
}.to write("DEPRECATION").to(:error)
|
532
|
-
end
|
533
|
-
end
|
534
522
|
end
|
535
523
|
|
536
524
|
context "when dumping" do
|
@@ -9,6 +9,8 @@ RSpec.shared_examples 'an RDF::HttpAdapter' do
|
|
9
9
|
raise '`http_adapter` must be defined with `let(:http_adapter`' unless
|
10
10
|
defined? http_adapter
|
11
11
|
end
|
12
|
+
before(:each) {WebMock.disable_net_connect!}
|
13
|
+
after(:each) {WebMock.allow_net_connect!}
|
12
14
|
|
13
15
|
let(:uri) {"http://ruby-rdf.github.com/rdf/etc/doap.nt"}
|
14
16
|
|
data/lib/rdf/spec/matchers.rb
CHANGED
@@ -269,20 +269,6 @@ module RDF; module Spec
|
|
269
269
|
|
270
270
|
RSpec::Matchers.define :be_equivalent_graph do |expected, info|
|
271
271
|
match do |actual|
|
272
|
-
def normalize(graph)
|
273
|
-
case graph
|
274
|
-
when RDF::Enumerable then graph
|
275
|
-
when IO, StringIO
|
276
|
-
RDF::Repository.new(graph, base_uri: @info.action)
|
277
|
-
else
|
278
|
-
# Figure out which parser to use
|
279
|
-
r = RDF::Repository.new
|
280
|
-
reader_class = RDF::Reader.for() {graph}
|
281
|
-
reader_class.new(graph, base_uri: @info.action).each {|s| r << s}
|
282
|
-
r
|
283
|
-
end
|
284
|
-
end
|
285
|
-
|
286
272
|
@info = if (info.id rescue false)
|
287
273
|
info
|
288
274
|
elsif info.is_a?(Logger)
|
@@ -314,6 +300,33 @@ module RDF; module Spec
|
|
314
300
|
"Results:\n#{@actual.dump(format, standard_prefixes: true, literal_shorthand: false, validate: false) rescue @actual.inspect}" +
|
315
301
|
"\nDebug:\n#{@info.logger}"
|
316
302
|
end
|
303
|
+
|
304
|
+
failure_message_when_negated do |actual|
|
305
|
+
format = case
|
306
|
+
when RDF.const_defined?(:TriG) then :trig
|
307
|
+
when RDF.const_defined?(:Turtle) then :ttl
|
308
|
+
else :nquads
|
309
|
+
end
|
310
|
+
info = @info.respond_to?(:information) ? @info.information : @info.inspect
|
311
|
+
"Graphs identical\n" +
|
312
|
+
"\n#{info + "\n" unless info.empty?}" +
|
313
|
+
"Results:\n#{actual.dump(format, standard_prefixes: true, literal_shorthand: false, validate: false) rescue @actual.inspect}" +
|
314
|
+
"\nDebug:\n#{@info.logger}"
|
315
|
+
end
|
316
|
+
|
317
|
+
def normalize(graph)
|
318
|
+
case graph
|
319
|
+
when RDF::Enumerable then graph
|
320
|
+
when IO, StringIO
|
321
|
+
RDF::Repository.new(graph, base_uri: @info.action)
|
322
|
+
else
|
323
|
+
# Figure out which parser to use
|
324
|
+
r = RDF::Repository.new
|
325
|
+
reader_class = RDF::Reader.for() {graph}
|
326
|
+
reader_class.new(graph, base_uri: @info.action).each {|s| r << s}
|
327
|
+
r
|
328
|
+
end
|
329
|
+
end
|
317
330
|
end
|
318
331
|
|
319
332
|
require 'json'
|
@@ -347,6 +360,15 @@ module RDF; module Spec
|
|
347
360
|
"\n#{info + "\n" unless info.empty?}" +
|
348
361
|
"\nDebug:\n#{@info.logger}"
|
349
362
|
end
|
363
|
+
|
364
|
+
failure_message_when_negated do |actual|
|
365
|
+
info = @info.respond_to?(:information) ? @info.information : @info.inspect
|
366
|
+
|
367
|
+
"Expected not to produce the following:\n" +
|
368
|
+
"Actual : #{actual.is_a?(String) ? actual : actual.to_json(JSON_STATE) rescue 'malformed json'}\n" +
|
369
|
+
"\n#{info + "\n" unless info.empty?}" +
|
370
|
+
"\nDebug:\n#{@info.logger}"
|
371
|
+
end
|
350
372
|
end
|
351
373
|
|
352
374
|
end # Matchers
|
data/lib/rdf/spec/reader.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'rdf/spec'
|
2
|
+
require 'webmock/rspec'
|
2
3
|
|
3
4
|
RSpec.shared_examples 'an RDF::Reader' do
|
4
5
|
include RDF::Spec::Matchers
|
@@ -9,8 +10,11 @@ RSpec.shared_examples 'an RDF::Reader' do
|
|
9
10
|
raise 'reader_count must be defined with let(:reader_count)' unless defined? reader_count
|
10
11
|
# define reader_invalid_input for invalid input
|
11
12
|
end
|
13
|
+
before(:each) {WebMock.disable_net_connect!}
|
14
|
+
after(:each) {WebMock.allow_net_connect!}
|
12
15
|
|
13
16
|
let(:reader_class) { reader.class }
|
17
|
+
let(:format_class) { reader_class.format }
|
14
18
|
|
15
19
|
describe ".each" do
|
16
20
|
it "yields each reader" do
|
@@ -21,70 +25,117 @@ RSpec.shared_examples 'an RDF::Reader' do
|
|
21
25
|
end
|
22
26
|
|
23
27
|
describe ".open" do
|
24
|
-
before(:each) do
|
25
|
-
allow(RDF::Util::File).to receive(:open_file).and_yield(StringIO.new(reader_input))
|
26
|
-
end
|
27
|
-
|
28
28
|
it "yields reader given file_name" do
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
end
|
29
|
+
allow(RDF::Util::File).to receive(:open_file).and_yield(StringIO.new(reader_input))
|
30
|
+
format_class.file_extensions.each_pair do |sym, content_type|
|
31
|
+
reader_mock = double("reader")
|
32
|
+
expect(reader_mock).to receive(:got_here)
|
33
|
+
expect(RDF::Reader).to receive(:for).with(file_name: "foo.#{sym}").and_return(reader_class)
|
34
|
+
RDF::Reader.open("foo.#{sym}") do |r|
|
35
|
+
expect(r).to be_a(reader_class)
|
36
|
+
reader_mock.got_here
|
38
37
|
end
|
39
38
|
end
|
40
39
|
end
|
41
40
|
|
42
41
|
it "yields reader given symbol" do
|
43
|
-
|
44
|
-
|
42
|
+
allow(RDF::Util::File).to receive(:open_file).and_yield(StringIO.new(reader_input))
|
43
|
+
sym = format_class.to_sym # Like RDF::NTriples::Format => :ntriples
|
44
|
+
reader_mock = double("reader")
|
45
|
+
expect(reader_mock).to receive(:got_here)
|
46
|
+
expect(RDF::Reader).to receive(:for).with(sym).and_return(reader_class)
|
47
|
+
RDF::Reader.open("foo.#{sym}", format: sym) do |r|
|
48
|
+
expect(r).to be_a(reader_class)
|
49
|
+
reader_mock.got_here
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
it "yields reader given {file_name: file_name}" do
|
54
|
+
allow(RDF::Util::File).to receive(:open_file).and_yield(StringIO.new(reader_input))
|
55
|
+
format_class.file_extensions.each_pair do |sym, content_type|
|
45
56
|
reader_mock = double("reader")
|
46
57
|
expect(reader_mock).to receive(:got_here)
|
47
|
-
expect(
|
48
|
-
|
49
|
-
expect(r).to be_a(
|
58
|
+
expect(RDF::Reader).to receive(:for).with(file_name: "foo.#{sym}").and_return(reader_class)
|
59
|
+
RDF::Reader.open("foo.#{sym}", file_name: "foo.#{sym}") do |r|
|
60
|
+
expect(r).to be_a(reader_class)
|
50
61
|
reader_mock.got_here
|
51
62
|
end
|
52
63
|
end
|
53
64
|
end
|
54
65
|
|
55
|
-
it "yields reader given {
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
end
|
66
|
+
it "yields reader given {content_type: 'a/b'}" do
|
67
|
+
allow(RDF::Util::File).to receive(:open_file).and_yield(StringIO.new(reader_input))
|
68
|
+
format_class.content_types.each_pair do |content_type, formats|
|
69
|
+
reader_mock = double("reader")
|
70
|
+
expect(reader_mock).to receive(:got_here)
|
71
|
+
expect(RDF::Reader).to receive(:for).with(content_type: content_type, file_name: "foo").and_return(reader_class)
|
72
|
+
RDF::Reader.open("foo", content_type: content_type) do |r|
|
73
|
+
expect(r).to be_a(reader_class)
|
74
|
+
reader_mock.got_here
|
65
75
|
end
|
66
76
|
end
|
67
77
|
end
|
68
78
|
|
69
|
-
it "yields reader
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
+
it "yields reader when returned content_type matches" do
|
80
|
+
format_class.content_types.each_pair do |content_type, formats|
|
81
|
+
uri = "http://example/foo"
|
82
|
+
reader_mock = double("reader")
|
83
|
+
expect(reader_mock).to receive(:got_here)
|
84
|
+
expect(RDF::Reader).to receive(:for).and_return(reader_class)
|
85
|
+
|
86
|
+
WebMock.stub_request(:get, uri).
|
87
|
+
to_return(body: "BODY",
|
88
|
+
status: 200,
|
89
|
+
headers: { 'Content-Type' => content_type})
|
90
|
+
|
91
|
+
RDF::Reader.open(uri) do |r|
|
92
|
+
expect(r).to be_a(reader_class)
|
93
|
+
reader_mock.got_here
|
79
94
|
end
|
80
95
|
end
|
81
96
|
end
|
97
|
+
|
98
|
+
it "sets Accept header from reader" do
|
99
|
+
uri = "http://example/foo"
|
100
|
+
accept = (format_class.accept_type + %w(*/*;q=0.1)).join(", ")
|
101
|
+
reader_mock = double("reader")
|
102
|
+
expect(reader_mock).to receive(:got_here)
|
103
|
+
WebMock.stub_request(:get, uri).with do |request|
|
104
|
+
expect(request.headers['Accept']).to eql accept
|
105
|
+
end.to_return(body: "foo")
|
106
|
+
|
107
|
+
reader_class.open(uri) do |r|
|
108
|
+
expect(r).to be_a(reader_class)
|
109
|
+
reader_mock.got_here
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
it "sets Accept header from symbol" do
|
114
|
+
uri = "http://example/foo"
|
115
|
+
sym = format_class.to_sym # Like RDF::NTriples::Format => :ntriples
|
116
|
+
accept = (format_class.accept_type + %w(*/*;q=0.1)).join(", ")
|
117
|
+
reader_mock = double("reader")
|
118
|
+
expect(reader_mock).to receive(:got_here)
|
119
|
+
WebMock.stub_request(:get, uri).with do |request|
|
120
|
+
expect(request.headers['Accept']).to eql accept
|
121
|
+
end.to_return(body: "foo")
|
122
|
+
expect(RDF::Reader).to receive(:for).with(sym).and_return(reader_class)
|
123
|
+
|
124
|
+
RDF::Reader.open(uri, format: sym) do |r|
|
125
|
+
expect(r).to be_a(reader_class)
|
126
|
+
reader_mock.got_here
|
127
|
+
end
|
128
|
+
end
|
82
129
|
end
|
83
130
|
|
84
131
|
describe ".format" do
|
85
|
-
it "returns
|
132
|
+
it "returns a format class if given no format" do
|
133
|
+
expect(reader_class.format).not_to be_nil
|
134
|
+
end
|
135
|
+
|
136
|
+
it "returns nil if given a format" do
|
86
137
|
other_format = reader_class == RDF::NTriples::Reader ? :nquads : :ntriples
|
87
|
-
expect(reader_class.
|
138
|
+
expect(reader_class.format(other_format)).to be_nil
|
88
139
|
end
|
89
140
|
end
|
90
141
|
|
data/lib/rdf/spec/writer.rb
CHANGED
@@ -11,6 +11,7 @@ RSpec.shared_examples 'an RDF::Writer' do
|
|
11
11
|
end
|
12
12
|
let(:writer_class) { writer.class }
|
13
13
|
let(:reader_class) { writer_class.format.reader}
|
14
|
+
let(:format_class) { writer_class.format }
|
14
15
|
|
15
16
|
describe ".each" do
|
16
17
|
it "yields each writer" do
|
@@ -63,56 +64,48 @@ RSpec.shared_examples 'an RDF::Writer' do
|
|
63
64
|
end
|
64
65
|
|
65
66
|
it "yields writer given file_name" do
|
66
|
-
|
67
|
-
f.file_extensions.each_pair do |sym, content_type|
|
68
|
-
writer_mock = double("writer")
|
69
|
-
expect(writer_mock).to receive(:got_here)
|
70
|
-
expect(writer_class).to receive(:for).with(file_name: "#{@basename}.#{sym}").and_return(writer_class)
|
71
|
-
writer_class.open("#{@basename}.#{sym}") do |r|
|
72
|
-
expect(r).to be_a(RDF::Writer)
|
73
|
-
writer_mock.got_here
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
it "yields writer given symbol" do
|
80
|
-
writer_class.format.each do |f|
|
81
|
-
sym = f.to_sym # Like RDF::NTriples::Format => :ntriples
|
67
|
+
format_class.file_extensions.each_pair do |sym, content_type|
|
82
68
|
writer_mock = double("writer")
|
83
69
|
expect(writer_mock).to receive(:got_here)
|
84
|
-
expect(writer_class).to receive(:for).with(sym).and_return(writer_class)
|
85
|
-
writer_class.open("#{@basename}.#{sym}"
|
70
|
+
expect(writer_class).to receive(:for).with(file_name: "#{@basename}.#{sym}").and_return(writer_class)
|
71
|
+
writer_class.open("#{@basename}.#{sym}") do |r|
|
86
72
|
expect(r).to be_a(RDF::Writer)
|
87
73
|
writer_mock.got_here
|
88
74
|
end
|
89
75
|
end
|
90
76
|
end
|
91
77
|
|
78
|
+
it "yields writer given symbol" do
|
79
|
+
sym = format_class.to_sym # Like RDF::NTriples::Format => :ntriples
|
80
|
+
writer_mock = double("writer")
|
81
|
+
expect(writer_mock).to receive(:got_here)
|
82
|
+
expect(writer_class).to receive(:for).with(sym).and_return(writer_class)
|
83
|
+
writer_class.open("#{@basename}.#{sym}", format: sym) do |r|
|
84
|
+
expect(r).to be_a(RDF::Writer)
|
85
|
+
writer_mock.got_here
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
92
89
|
it "yields writer given {file_name: file_name}" do
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
writer_mock.got_here
|
101
|
-
end
|
90
|
+
format_class.file_extensions.each_pair do |sym, content_type|
|
91
|
+
writer_mock = double("writer")
|
92
|
+
expect(writer_mock).to receive(:got_here)
|
93
|
+
expect(writer_class).to receive(:for).with(file_name: "#{@basename}.#{sym}").and_return(writer_class)
|
94
|
+
writer_class.open("#{@basename}.#{sym}", file_name: "#{@basename}.#{sym}") do |r|
|
95
|
+
expect(r).to be_a(RDF::Writer)
|
96
|
+
writer_mock.got_here
|
102
97
|
end
|
103
98
|
end
|
104
99
|
end
|
105
100
|
|
106
101
|
it "yields writer given {content_type: 'a/b'}" do
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
writer_mock.got_here
|
115
|
-
end
|
102
|
+
format_class.content_types.each_pair do |content_type, formats|
|
103
|
+
writer_mock = double("writer")
|
104
|
+
expect(writer_mock).to receive(:got_here)
|
105
|
+
expect(writer_class).to receive(:for).with(content_type: content_type, file_name: @basename).and_return(writer_class)
|
106
|
+
writer_class.open(@basename, content_type: content_type) do |r|
|
107
|
+
expect(r).to be_a(RDF::Writer)
|
108
|
+
writer_mock.got_here
|
116
109
|
end
|
117
110
|
end
|
118
111
|
end
|
data/spec/literal_spec.rb
CHANGED
@@ -15,8 +15,8 @@ describe RDF::Literal do
|
|
15
15
|
%w(0 false)
|
16
16
|
]
|
17
17
|
it_behaves_like 'RDF::Literal validation', RDF::XSD.boolean,
|
18
|
-
|
19
|
-
|
18
|
+
%w(true false 1 0),
|
19
|
+
%w(foo 10) + ['true false', 'true foo', 'tRuE' 'FaLsE']
|
20
20
|
end
|
21
21
|
|
22
22
|
describe RDF::Literal::Integer do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdf-spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-
|
13
|
+
date: 2017-12-14 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rdf
|
@@ -18,84 +18,84 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '3.0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: rdf-isomorphic
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - "~>"
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: '
|
35
|
+
version: '3.0'
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
42
|
+
version: '3.0'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: rspec
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: '3.
|
49
|
+
version: '3.7'
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: '3.
|
56
|
+
version: '3.7'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: rspec-its
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: '1.
|
63
|
+
version: '1.2'
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: '1.
|
70
|
+
version: '1.2'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: webmock
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
75
|
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
77
|
+
version: '3.1'
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
84
|
+
version: '3.1'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: yard
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version:
|
91
|
+
version: 0.9.12
|
92
92
|
type: :development
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version:
|
98
|
+
version: 0.9.12
|
99
99
|
description: RDF.rb extension that provides RSpec matchers and shared examples for
|
100
100
|
RDF objects.
|
101
101
|
email: public-rdf-ruby@w3.org
|
@@ -174,8 +174,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
174
|
- !ruby/object:Gem::Version
|
175
175
|
version: '0'
|
176
176
|
requirements: []
|
177
|
-
rubyforge_project:
|
178
|
-
rubygems_version: 2.
|
177
|
+
rubyforge_project:
|
178
|
+
rubygems_version: 2.7.3
|
179
179
|
signing_key:
|
180
180
|
specification_version: 4
|
181
181
|
summary: RSpec extensions for RDF.rb.
|