Skip to content

Commit 2d32934

Browse files
committed
Don't resolve @base if it is an absolute IRI.
1 parent b175544 commit 2d32934

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

lib/json/ld/context.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,9 @@ def empty?
196196
def base=(value)
197197
if value
198198
raise JsonLdError::InvalidBaseIRI, "@base must be a string: #{value.inspect}" unless value.is_a?(String) || value.is_a?(RDF::URI)
199-
@base = @base ? @base.join(value) : RDF::URI(value).dup
199+
value = RDF::URI(value).dup
200+
value = @base.join(value) if @base && value.relative?
201+
@base = value
200202
@base.canonicalize! if @options[:canonicalize]
201203
raise JsonLdError::InvalidBaseIRI, "@base must be an absolute IRI: #{value.inspect}" unless @base.absolute? || !@options[:validate]
202204
@base

spec/api_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
end if File.exist?(framed) && File.exist?(frame)
9696

9797
it "toRdf" do
98-
expect(RDF::Repository.load(filename, adapter: adapter, debug: @debug)).to be_equivalent_graph(RDF::Repository.load(ttl), trace: @debug)
98+
expect(RDF::Repository.load(filename, format: :jsonld, adapter: adapter, debug: @debug)).to be_equivalent_graph(RDF::Repository.load(ttl), trace: @debug)
9999
end if File.exist?(ttl)
100100
end
101101
end

spec/suite_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ def run(rspec_example = nil)
179179
def to_quad(thing)
180180
case thing
181181
when RDF::URI
182-
thing.canonicalize.to_ntriples
182+
thing.to_ntriples
183183
when RDF::Node
184184
escaped(thing)
185185
when RDF::Literal::Double

0 commit comments

Comments
 (0)