@@ -30,9 +30,9 @@ def self.literal(selector)
3030 def self . literals ( *selector )
3131 selector . inject ( [ ] ) do |ary , sel |
3232 ary += case sel
33- when :all_simple then [ :empty , :plain , :string ] . map { |sel | literal ( sel ) }
34- when :all_plain_lang then [ :empty_lang , :plain_lang ] . map { |sel | literal ( sel ) }
35- when :all_native then [ :false , :true , :int , :long , :double , :time , :date , :datetime ] . map { |sel | literal ( sel ) }
33+ when :all_simple then [ :empty , :plain , :string ] . map { |s | literal ( s ) }
34+ when :all_plain_lang then [ :empty_lang , :plain_lang ] . map { |s | literal ( s ) }
35+ when :all_native then [ :false , :true , :int , :long , :double , :time , :date , :datetime ] . map { |s | literal ( s ) }
3636 when :all_plain then literals ( :all_simple , :all_plain_lang )
3737 else literals ( :all_plain , :all_native )
3838 end
@@ -180,7 +180,7 @@ def self.literals(*selector)
180180 end
181181
182182 it "returns true for value of #{ args . inspect } " do
183- literal = RDF ::Literal . new ( *args )
183+ # literal = RDF::Literal.new(*args)
184184 #expect(literal).to eq literal.value # FIXME: fails on xsd:date, xsd:time, and xsd:dateTime
185185 end
186186 end
@@ -351,6 +351,7 @@ def self.literals(*selector)
351351 it_behaves_like 'RDF::Literal lexical values' , "1"
352352 it_behaves_like 'RDF::Literal canonicalization' , RDF ::XSD . integer , [
353353 %w( 01 1 ) ,
354+ %w( 0123 123 ) ,
354355 %w( 1 1 ) ,
355356 %w( -1 -1 ) ,
356357 %w( +1 1 )
@@ -381,12 +382,15 @@ def self.literals(*selector)
381382 it_behaves_like 'RDF::Literal lexical values' , "1.1"
382383 it_behaves_like 'RDF::Literal canonicalization' , RDF ::XSD . decimal , [
383384 %w( 1 1.0 ) ,
385+ %w( 01 1.0 ) ,
386+ %w( 0123 123.0 ) ,
384387 %w( -1 -1.0 ) ,
385388 %w( 1. 1.0 ) ,
386389 %w( 1.0 1.0 ) ,
387390 %w( 1.00 1.0 ) ,
388391 %w( +001.00 1.0 ) ,
389392 %w( 123.456 123.456 ) ,
393+ %w( 0123.456 123.456 ) ,
390394 %w( 1.000000000 1.0 ) ,
391395 %w( 2.345 2.345 ) ,
392396 %w( 2.3 2.3 ) ,
@@ -439,6 +443,8 @@ def self.literals(*selector)
439443 it_behaves_like 'RDF::Literal lexical values' , "1.0E0"
440444 it_behaves_like 'RDF::Literal canonicalization' , RDF ::XSD . double , [
441445 %w( 1 1.0E0 ) ,
446+ %w( 01 1.0E0 ) ,
447+ %w( 0123 1.23E2 ) ,
442448 %w( -1 -1.0E0 ) ,
443449 %w( +01.000 1.0E0 ) ,
444450 #%w(1. 1.0E0),
@@ -502,7 +508,7 @@ def self.literals(*selector)
502508
503509 it "recognizes -INF" do
504510 expect ( -inf ) . to be_infinite
505- expect ( RDF ::Literal . new ( '-INF' , datatype : RDF ::Literal ::Double ::DATATYPE ) ) . to eq -inf
511+ expect ( RDF ::Literal . new ( '-INF' , datatype : RDF ::Literal ::Double ::DATATYPE ) ) . to eq ( -inf )
506512 expect { -inf . canonicalize } . not_to raise_error
507513 end
508514
@@ -542,10 +548,10 @@ def self.literals(*selector)
542548
543549 # Multiplication
544550 {
545- -1 => [ RDF ::Literal ::Double . new ( "-INF" ) , RDF :: Literal :: Double . new ( "-INF" ) ] ,
546- 0 => [ :nan , :nan ] ,
547- 1 => [ RDF ::Literal ::Double . new ( "INF" ) , RDF :: Literal :: Double . new ( "INF" ) ] ,
548- } . each do |n , ( p , m ) |
551+ -1 => RDF ::Literal ::Double . new ( "-INF" ) ,
552+ 0 => :nan ,
553+ 1 => RDF ::Literal ::Double . new ( "INF" ) ,
554+ } . each do |n , p |
549555 it "returns #{ p } for #{ n } * INF" do
550556 if p == :nan
551557 expect ( RDF ::Literal ::Double . new ( n ) * inf ) . to be_nan
@@ -581,7 +587,7 @@ def self.literals(*selector)
581587 it "adds infinities" do
582588 expect ( inf + inf ) . to eq inf
583589 expect ( inf + -inf ) . to be_nan
584- expect ( -inf + -inf ) . to eq -inf
590+ expect ( -inf + -inf ) . to eq ( -inf )
585591 expect ( -inf + inf ) . to be_nan
586592 end
587593
0 commit comments