earl-report 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/earl_report.rb +60 -34
- data/spec/earl_report_spec.rb +5 -0
- data/spec/test-files/results.html +9 -9
- data/spec/test-files/results.jsonld +1 -1
- data/spec/test-files/results.ttl +4 -4
- metadata +23 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 945475a9d1da6aa73ebf677934e05e072ad87974
|
|
4
|
+
data.tar.gz: 56fccde917f30e15c9161a86b4c3b27eb917b659
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 46b0e15cfdc08d4087bc11a40efc64f5cfad66187e7ac0fcd82546909b2d1432d25c557567767df5dfaf7fe3857dc966faf60c4427077fe1ab8803428a201ce6
|
|
7
|
+
data.tar.gz: 8f00d1f5c7957ba0ee8c3faa7624a69552c0bc41b5059a496d37468d1fcbf7e4ae15e37b75cd5b6054b0c154be438f79c5e676ffb287c47f0927b049ad0f6788
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.3.
|
|
1
|
+
0.3.5
|
data/lib/earl_report.rb
CHANGED
|
@@ -25,13 +25,13 @@ class EarlReport
|
|
|
25
25
|
?uri a ?type;
|
|
26
26
|
mf:name ?title;
|
|
27
27
|
mf:action ?testAction .
|
|
28
|
-
OPTIONAL { ?uri rdfs:comment ?description . }
|
|
28
|
+
OPTIONAL { ?uri rdfs:comment|dc:description ?description . }
|
|
29
29
|
OPTIONAL { ?uri mf:result ?testResult . }
|
|
30
30
|
OPTIONAL {
|
|
31
31
|
?manUri a mf:Manifest; mf:entries ?lh .
|
|
32
32
|
?lh rdf:first ?uri .
|
|
33
|
-
OPTIONAL { ?manUri mf:name ?manTitle . }
|
|
34
|
-
OPTIONAL { ?manUri rdfs:comment ?manDescription . }
|
|
33
|
+
OPTIONAL { ?manUri rdfs:label|mf:name ?manTitle . }
|
|
34
|
+
OPTIONAL { ?manUri rdfs:comment|dc:description ?manDescription . }
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
).freeze
|
|
@@ -283,8 +283,8 @@ class EarlReport
|
|
|
283
283
|
"@context" => TEST_CONTEXT,
|
|
284
284
|
"@id" => "",
|
|
285
285
|
"@type" => %w(earl:Software doap:Project),
|
|
286
|
-
'name' => @options
|
|
287
|
-
'bibRef' => @options
|
|
286
|
+
'name' => @options.fetch(:name, "Unknown"),
|
|
287
|
+
'bibRef' => @options.fetch(:bibRef, "Unknown reference"),
|
|
288
288
|
'generatedBy' => {
|
|
289
289
|
"@id" => "http://rubygems.org/gems/earl-report",
|
|
290
290
|
"@type" => "doap:Project",
|
|
@@ -366,6 +366,12 @@ class EarlReport
|
|
|
366
366
|
.to_a
|
|
367
367
|
.inject({}) {|memo, soln| memo[soln[:uri]] = soln; memo}
|
|
368
368
|
|
|
369
|
+
if solutions.empty?
|
|
370
|
+
raise "no results found querying manifest.\n" +
|
|
371
|
+
"Results are found using the following query, this can be overridden using the --query option:\n" +
|
|
372
|
+
"#{@options[:query]}"
|
|
373
|
+
end
|
|
374
|
+
|
|
369
375
|
qst = Time.now
|
|
370
376
|
# If test cases are in a list, maintain order
|
|
371
377
|
solutions.values.select {|s| s[:manUri]}.each do |man_soln|
|
|
@@ -424,13 +430,13 @@ class EarlReport
|
|
|
424
430
|
end
|
|
425
431
|
|
|
426
432
|
raise "No test cases found" if man_info['entries'].empty?
|
|
427
|
-
status "Test cases:\n #{man_info['entries'].map {|tc| tc
|
|
433
|
+
status "Test cases:\n #{man_info['entries'].map {|tc| tc.fetch('@id')}.join("\n ")}"
|
|
428
434
|
end
|
|
429
435
|
qnd = Time.now
|
|
430
436
|
status "\nassertion query: #{(qnd - qst)/1000} secs"
|
|
431
437
|
|
|
432
438
|
raise "No manifests found" if manifests.empty?
|
|
433
|
-
status "Manifests:\n #{manifests.map {|m| m
|
|
439
|
+
status "Manifests:\n #{manifests.map {|m| m.fetch('@id')}.join("\n ")}"
|
|
434
440
|
|
|
435
441
|
# Iterate through assertions and add to appropriate test case
|
|
436
442
|
found_solutions = {}
|
|
@@ -466,7 +472,7 @@ class EarlReport
|
|
|
466
472
|
$stderr.puts "No results found for #{sub} using #{ASSERTION_QUERY}"
|
|
467
473
|
end
|
|
468
474
|
|
|
469
|
-
manifests.sort_by {|m| m['title']}
|
|
475
|
+
manifests.sort_by {|m| m['title'].to_s}
|
|
470
476
|
end
|
|
471
477
|
|
|
472
478
|
##
|
|
@@ -493,17 +499,21 @@ class EarlReport
|
|
|
493
499
|
end
|
|
494
500
|
io.puts
|
|
495
501
|
|
|
502
|
+
%w(name bibRef generatedBy assertions testSubjects).each do |field|
|
|
503
|
+
raise "Expected EARL json to have #{field.inspect} entry" unless json_hash[field]
|
|
504
|
+
end
|
|
505
|
+
|
|
496
506
|
# Write earl:Software for the report
|
|
497
|
-
man_defs = json_hash['entries'].map {|defn| as_resource(defn
|
|
507
|
+
man_defs = json_hash['entries'].map {|defn| as_resource(defn.fetch('@id'))}.join("\n ")
|
|
498
508
|
io.puts %{
|
|
499
|
-
#{as_resource(json_hash
|
|
500
|
-
doap:name #{quoted(json_hash
|
|
501
|
-
dc:bibliographicCitation "#{json_hash
|
|
502
|
-
earl:generatedBy #{as_resource json_hash
|
|
509
|
+
#{as_resource(json_hash.fetch('@id'))} a #{Array(json_hash.fetch('@type')).join(', ')};
|
|
510
|
+
doap:name #{quoted(json_hash.fetch('name', 'Unknown'))};
|
|
511
|
+
dc:bibliographicCitation "#{json_hash.fetch('bibRef', 'Unknown reference')}";
|
|
512
|
+
earl:generatedBy #{as_resource json_hash.fetch('generatedBy').fetch('@id')};
|
|
503
513
|
earl:assertions
|
|
504
|
-
#{json_hash
|
|
514
|
+
#{json_hash.fetch('assertions').map {|a| as_resource(a)}.join(",\n ")};
|
|
505
515
|
earl:testSubjects (
|
|
506
|
-
#{json_hash
|
|
516
|
+
#{json_hash.fetch('testSubjects').map {|a| as_resource(a.fetch('@id'))}.join("\n ")});
|
|
507
517
|
mf:entries (\n #{man_defs}) .
|
|
508
518
|
}.gsub(/^ /, '')
|
|
509
519
|
|
|
@@ -526,13 +536,13 @@ class EarlReport
|
|
|
526
536
|
test_cases = []
|
|
527
537
|
io.puts %(\n# Manifests)
|
|
528
538
|
json_hash['entries'].each do |man|
|
|
529
|
-
io.puts %(#{as_resource(man
|
|
539
|
+
io.puts %(#{as_resource(man.fetch('@id'))} a earl:Report, mf:Manifest;)
|
|
530
540
|
io.puts %( dc:title #{quoted(man['title'])};) if man['title']
|
|
531
541
|
io.puts %( mf:name #{quoted(man['title'])};) if man['title']
|
|
532
542
|
io.puts %( rdfs:comment #{quoted(man['description'])};) if man['description']
|
|
533
543
|
|
|
534
544
|
# Test Cases
|
|
535
|
-
test_defs = man
|
|
545
|
+
test_defs = man.fetch('entries').map {|defn| as_resource(defn.fetch('@id'))}.join("\n ")
|
|
536
546
|
io.puts %( mf:entries (\n #{test_defs}) .\n\n)
|
|
537
547
|
|
|
538
548
|
test_cases += man['entries']
|
|
@@ -540,14 +550,14 @@ class EarlReport
|
|
|
540
550
|
|
|
541
551
|
# Write out each earl:TestSubject
|
|
542
552
|
io.puts %(#\n# Subject Definitions\n#)
|
|
543
|
-
json_hash
|
|
553
|
+
json_hash.fetch('testSubjects').each do |ts_desc|
|
|
544
554
|
io.write(test_subject_turtle(ts_desc))
|
|
545
555
|
end
|
|
546
556
|
|
|
547
557
|
# Write out each earl:TestCase
|
|
548
558
|
io.puts %(#\n# Test Case Definitions\n#)
|
|
549
|
-
json_hash
|
|
550
|
-
manifest
|
|
559
|
+
json_hash.fetch('entries').each do |manifest|
|
|
560
|
+
manifest.fetch('entries').each do |test_case|
|
|
551
561
|
io.write(tc_turtle(test_case))
|
|
552
562
|
end
|
|
553
563
|
end
|
|
@@ -558,23 +568,33 @@ class EarlReport
|
|
|
558
568
|
# @param [Hash] desc
|
|
559
569
|
# @return [String]
|
|
560
570
|
def test_subject_turtle(desc)
|
|
561
|
-
|
|
562
|
-
|
|
571
|
+
%w(@id @type name).each do |field|
|
|
572
|
+
raise "Expected test description to have #{field.inspect} entry" unless desc[field]
|
|
573
|
+
end
|
|
574
|
+
|
|
575
|
+
res = %(<#{desc.fetch('@id')}> a #{desc.fetch('@type').join(', ')};\n)
|
|
576
|
+
res += %( doap:name #{quoted(desc.fetch('name'))};\n)
|
|
563
577
|
res += %( doap:description #{quoted(desc['doapDesc'])}@en;\n) if desc['doapDesc']
|
|
564
578
|
res += %( doap:programming-language #{quoted(desc['language'])};\n) if desc['language']
|
|
565
579
|
res += %( .\n\n)
|
|
566
580
|
|
|
567
581
|
[desc['developer']].flatten.compact.each do |developer|
|
|
568
582
|
if developer['@id']
|
|
569
|
-
|
|
570
|
-
|
|
583
|
+
%w(@id @type foaf:name).each do |field|
|
|
584
|
+
raise "Expected FOAF description to have #{field.inspect} entry" unless developer[field]
|
|
585
|
+
end
|
|
586
|
+
res += %(<#{desc.fetch('@id')}> doap:developer <#{developer.fetch('@id')}> .\n\n)
|
|
587
|
+
res += %(<#{developer.fetch('@id')}> a #{Array(developer.fetch('@type')).join(', ')};\n)
|
|
571
588
|
res += %( foaf:homepage <#{developer['foaf:homepage']}>;\n) if developer['foaf:homepage']
|
|
572
|
-
res += %( foaf:name #{quoted(developer
|
|
589
|
+
res += %( foaf:name #{quoted(developer.fetch('foaf:name'))} .\n\n)
|
|
573
590
|
else
|
|
574
|
-
|
|
575
|
-
|
|
591
|
+
%w(foaf:name).each do |field|
|
|
592
|
+
raise "Expected FOAF description to have #{field.inspect} entry" unless developer[field]
|
|
593
|
+
end
|
|
594
|
+
res += %(<#{desc.fetch('@id')}> doap:developer\n)
|
|
595
|
+
res += %( [ a #{developer.fetch('@type', 'foaf:Person')};\n)
|
|
576
596
|
res += %( foaf:homepage <#{developer['foaf:homepage']}>;\n) if developer['foaf:homepage']
|
|
577
|
-
res += %( foaf:name #{quoted(developer
|
|
597
|
+
res += %( foaf:name #{quoted(developer.fetch('foaf:name'))} ] .\n\n)
|
|
578
598
|
end
|
|
579
599
|
end
|
|
580
600
|
res + "\n"
|
|
@@ -585,14 +605,17 @@ class EarlReport
|
|
|
585
605
|
# @prarm[Hash] desc
|
|
586
606
|
# @return [String]
|
|
587
607
|
def tc_turtle(desc)
|
|
608
|
+
%w(@id @type title testAction assertions).each do |field|
|
|
609
|
+
raise "Expected test case description to have #{field.inspect} entry" unless desc[field]
|
|
610
|
+
end
|
|
588
611
|
types = Array(desc['@type']).map do |t|
|
|
589
612
|
t.include?("://") ? "<#{t}>" : t
|
|
590
613
|
end
|
|
591
|
-
res = %{#{as_resource desc
|
|
592
|
-
res += %{ dc:title #{quoted(desc
|
|
614
|
+
res = %{#{as_resource desc.fetch('@id')} a #{types.join(', ')};\n}
|
|
615
|
+
res += %{ dc:title #{quoted(desc.fetch('title'))};\n}
|
|
593
616
|
res += %{ dc:description #{quoted(desc['description'])}@en;\n} if desc['description']
|
|
594
617
|
res += %{ mf:result #{as_resource desc['testResult']};\n} if desc['testResult']
|
|
595
|
-
res += %{ mf:action #{as_resource desc
|
|
618
|
+
res += %{ mf:action #{as_resource desc.fetch('testAction')};\n}
|
|
596
619
|
res += %{ earl:assertions (\n}
|
|
597
620
|
desc['assertions'].each do |as_desc|
|
|
598
621
|
res += as_turtle(as_desc)
|
|
@@ -605,12 +628,15 @@ class EarlReport
|
|
|
605
628
|
# @prarm[Hash] desc
|
|
606
629
|
# @return [String]
|
|
607
630
|
def as_turtle(desc)
|
|
631
|
+
%w(test subject result).each do |field|
|
|
632
|
+
raise "Expected assertion description to have #{field.inspect} entry" unless desc[field]
|
|
633
|
+
end
|
|
608
634
|
res = %( [ a earl:Assertion;\n)
|
|
609
635
|
res += %( earl:assertedBy #{as_resource desc['assertedBy']};\n) if desc['assertedBy']
|
|
610
|
-
res += %( earl:test #{as_resource desc
|
|
611
|
-
res += %( earl:subject #{as_resource desc
|
|
636
|
+
res += %( earl:test #{as_resource desc.fetch('test')};\n)
|
|
637
|
+
res += %( earl:subject #{as_resource desc.fetch('subject')};\n)
|
|
612
638
|
res += %( earl:mode #{desc['mode']};\n) if desc['mode']
|
|
613
|
-
res += %( earl:result [ a earl:TestResult; earl:outcome #{desc
|
|
639
|
+
res += %( earl:result [ a earl:TestResult; earl:outcome #{desc.fetch('result').fetch('outcome')} ]]\n)
|
|
614
640
|
end
|
|
615
641
|
|
|
616
642
|
def as_resource(resource)
|
data/spec/earl_report_spec.rb
CHANGED
|
@@ -212,6 +212,11 @@ describe EarlReport do
|
|
|
212
212
|
expect(SPARQL.execute(ASSERTION_QUERY, graph)).to be_truthy
|
|
213
213
|
end
|
|
214
214
|
end
|
|
215
|
+
|
|
216
|
+
it "raises error if manifest query returns no solutions" do
|
|
217
|
+
earl.graph.clear!
|
|
218
|
+
expect {earl.send(:json_hash)}.to raise_error(%r(no results found querying manifest))
|
|
219
|
+
end
|
|
215
220
|
end
|
|
216
221
|
|
|
217
222
|
describe "#json_test_subject_info" do
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
shortName: "turtle-earl",
|
|
28
28
|
subtitle: "Turtle Implementation Conformance Report",
|
|
29
29
|
// if you wish the publication date to be other than today, set this
|
|
30
|
-
publishDate: "
|
|
30
|
+
publishDate: "2015/05/18",
|
|
31
31
|
|
|
32
32
|
// if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
|
|
33
33
|
// and its maturity status
|
|
@@ -173,12 +173,12 @@
|
|
|
173
173
|
</span>
|
|
174
174
|
</td>
|
|
175
175
|
</tr>
|
|
176
|
-
<tr inlist='inlist' rel='mf:entries' resource='_:
|
|
176
|
+
<tr inlist='inlist' rel='mf:entries' resource='_:g70106692491720' typeof='earl:TestCriterion earl:TestCase http://www.w3.org/ns/rdftest#TestTurtleEval'>
|
|
177
177
|
<td>
|
|
178
|
-
<a href='#
|
|
178
|
+
<a href='#test_ffffa78f3177dab74dca48f04d56cd7a'>subm-test-01</a>
|
|
179
179
|
</td>
|
|
180
180
|
<td class='UNTESTED' inlist='inlist' property='earl:assertions' typeof='earl:Assertion'>
|
|
181
|
-
<link href='_:
|
|
181
|
+
<link href='_:g70106692491720' property='earl:test' />
|
|
182
182
|
<link href='http://rubygems.org/gems/rdf-turtle' property='earl:subject' />
|
|
183
183
|
<link href='earl:notAvailable' property='earl:mode' />
|
|
184
184
|
<span property='earl:result' typeof='earl:TestResult'>
|
|
@@ -284,11 +284,11 @@
|
|
|
284
284
|
<pre class='example actionDoc' property='mf:action' resource='http://example/test-00.ttl' title='subm-test-00 Input'>http://example/test-00.ttl not loaded</pre>
|
|
285
285
|
<pre class='example resultDoc' property='mf:result' resource='http://example/test-00.out' title='subm-test-00 Result'>http://example/test-00.out not loaded</pre>
|
|
286
286
|
</dd>
|
|
287
|
-
<dt id='
|
|
287
|
+
<dt id='test_ffffa78f3177dab74dca48f04d56cd7a' resource='_:g70106692491720'>
|
|
288
288
|
Test
|
|
289
289
|
<span property='dc:title mf:name'>subm-test-01</span>
|
|
290
290
|
</dt>
|
|
291
|
-
<dd resource='_:
|
|
291
|
+
<dd resource='_:g70106692491720'>
|
|
292
292
|
<p lang='en' property='dc:description'>@prefix and qnames</p>
|
|
293
293
|
<pre class='example actionDoc' property='mf:action' resource='http://example/test-01.ttl' title='subm-test-01 Input'>http://example/test-01.ttl not loaded</pre>
|
|
294
294
|
<pre class='example resultDoc' property='mf:result' resource='http://example/test-01.out' title='subm-test-01 Result'>http://example/test-01.out not loaded</pre>
|
|
@@ -306,9 +306,9 @@
|
|
|
306
306
|
<meta content='Earl Report summary generator' lang='en' property='doap:shortdesc' />
|
|
307
307
|
<meta content='EarlReport generates HTML+RDFa rollups of multiple EARL reports' lang='en' property='doap:description' />
|
|
308
308
|
version
|
|
309
|
-
<span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.3.
|
|
310
|
-
<span property='doap:revision'>0.3.
|
|
311
|
-
<meta content='earl-report-0.3.
|
|
309
|
+
<span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.3.4' typeof='doap:Version'>
|
|
310
|
+
<span property='doap:revision'>0.3.4</span>
|
|
311
|
+
<meta content='earl-report-0.3.4' property='doap:name' />
|
|
312
312
|
<meta content='2014-06-23' datatype='xsd:date' property='doap:created' />
|
|
313
313
|
</span>
|
|
314
314
|
an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"@context":{"@vocab":"http://www.w3.org/ns/earl#","foaf:homepage":{"@type":"@id"},"dc":"http://purl.org/dc/terms/","doap":"http://usefulinc.com/ns/doap#","earl":"http://www.w3.org/ns/earl#","mf":"http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#","foaf":"http://xmlns.com/foaf/0.1/","rdfs":"http://www.w3.org/2000/01/rdf-schema#","assertedBy":{"@type":"@id"},"assertions":{"@type":"@id","@container":"@list"},"bibRef":{"@id":"dc:bibliographicCitation"},"created":{"@id":"doap:created","@type":"xsd:date"},"description":{"@id":"dc:description","@language":"en"},"developer":{"@id":"doap:developer","@type":"@id","@container":"@set"},"doapDesc":{"@id":"doap:description","@language":"en"},"generatedBy":{"@type":"@id"},"homepage":{"@id":"doap:homepage","@type":"@id"},"label":{"@id":"rdfs:label","@language":"en"},"language":{"@id":"doap:programming-language"},"license":{"@id":"doap:license","@type":"@id"},"mode":{"@type":"@id"},"name":{"@id":"doap:name"},"outcome":{"@type":"@id"},"release":{"@id":"doap:release","@type":"@id"},"shortdesc":{"@id":"doap:shortdesc","@language":"en"},"subject":{"@type":"@id"},"test":{"@type":"@id"},"testAction":{"@id":"mf:action","@type":"@id"},"testResult":{"@id":"mf:result","@type":"@id"},"entries":{"@id":"mf:entries","@type":"@id","@container":"@list"},"testSubjects":{"@type":"@id","@container":"@list"},"title":{"@id":"dc:title"},"xsd":{"@id":"http://www.w3.org/2001/XMLSchema#"}},"@id":"","@type":["earl:Software","doap:Project"],"name":"Turtle Test Results","bibRef":"[[TURTLE]]","generatedBy":{"@id":"http://rubygems.org/gems/earl-report","@type":"doap:Project","name":"earl-report","shortdesc":"Earl Report summary generator","doapDesc":"EarlReport generates HTML+RDFa rollups of multiple EARL reports","homepage":"https://github.com/gkellogg/earl-report","language":"Ruby","license":"http://unlicense.org","release":{"@id":"https://github.com/gkellogg/earl-report/tree/0.3.
|
|
1
|
+
{"@context":{"@vocab":"http://www.w3.org/ns/earl#","foaf:homepage":{"@type":"@id"},"dc":"http://purl.org/dc/terms/","doap":"http://usefulinc.com/ns/doap#","earl":"http://www.w3.org/ns/earl#","mf":"http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#","foaf":"http://xmlns.com/foaf/0.1/","rdfs":"http://www.w3.org/2000/01/rdf-schema#","assertedBy":{"@type":"@id"},"assertions":{"@type":"@id","@container":"@list"},"bibRef":{"@id":"dc:bibliographicCitation"},"created":{"@id":"doap:created","@type":"xsd:date"},"description":{"@id":"dc:description","@language":"en"},"developer":{"@id":"doap:developer","@type":"@id","@container":"@set"},"doapDesc":{"@id":"doap:description","@language":"en"},"generatedBy":{"@type":"@id"},"homepage":{"@id":"doap:homepage","@type":"@id"},"label":{"@id":"rdfs:label","@language":"en"},"language":{"@id":"doap:programming-language"},"license":{"@id":"doap:license","@type":"@id"},"mode":{"@type":"@id"},"name":{"@id":"doap:name"},"outcome":{"@type":"@id"},"release":{"@id":"doap:release","@type":"@id"},"shortdesc":{"@id":"doap:shortdesc","@language":"en"},"subject":{"@type":"@id"},"test":{"@type":"@id"},"testAction":{"@id":"mf:action","@type":"@id"},"testResult":{"@id":"mf:result","@type":"@id"},"entries":{"@id":"mf:entries","@type":"@id","@container":"@list"},"testSubjects":{"@type":"@id","@container":"@list"},"title":{"@id":"dc:title"},"xsd":{"@id":"http://www.w3.org/2001/XMLSchema#"}},"@id":"","@type":["earl:Software","doap:Project"],"name":"Turtle Test Results","bibRef":"[[TURTLE]]","generatedBy":{"@id":"http://rubygems.org/gems/earl-report","@type":"doap:Project","name":"earl-report","shortdesc":"Earl Report summary generator","doapDesc":"EarlReport generates HTML+RDFa rollups of multiple EARL reports","homepage":"https://github.com/gkellogg/earl-report","language":"Ruby","license":"http://unlicense.org","release":{"@id":"https://github.com/gkellogg/earl-report/tree/0.3.4","@type":"doap:Version","name":"earl-report-0.3.4","created":"2014-06-23","revision":"0.3.4"},"developer":{"@type":"foaf:Person","@id":"http://greggkellogg.net/foaf#me","foaf:name":"Gregg Kellogg","foaf:homepage":"http://greggkellogg.net/"}},"assertions":["/Users/gregg/Projects/earl-report/spec/test-files/report-complete.ttl"],"testSubjects":[{"@id":"http://rubygems.org/gems/rdf-turtle","@type":["earl:TestSubject","doap:Project"],"name":"RDF::Turtle","developer":[{"@type":"foaf:Person","@id":"http://greggkellogg.net/foaf#me","foaf:name":"Gregg Kellogg","foaf:homepage":"http://greggkellogg.net/"}],"doapDesc":"RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.","homepage":"http://ruby-rdf.github.com/rdf-turtle","language":"Ruby"}],"entries":[{"@id":"http://example/manifest.ttl","@type":["earl:Report","mf:Manifest"],"entries":[{"@id":"http://example/manifest.ttl#testeval00","@type":["earl:TestCriterion","earl:TestCase","http://www.w3.org/ns/rdftest#TestTurtleEval"],"title":"subm-test-00","testAction":"http://example/test-00.ttl","assertions":[{"@type":"earl:Assertion","test":"http://example/manifest.ttl#testeval00","subject":"http://rubygems.org/gems/rdf-turtle","mode":"earl:automatic","result":{"@type":"earl:TestResult","outcome":"earl:passed"},"assertedBy":"http://greggkellogg.net/foaf#me"}],"description":"Blank subject","testResult":"http://example/test-00.out"},{"@id":"_:g70106649028560","@type":["earl:TestCriterion","earl:TestCase","http://www.w3.org/ns/rdftest#TestTurtleEval"],"title":"subm-test-01","testAction":"http://example/test-01.ttl","assertions":[{"@type":"earl:Assertion","test":"_:g70106649028560","subject":"http://rubygems.org/gems/rdf-turtle","mode":"earl:notAvailable","result":{"@type":"earl:TestResult","outcome":"earl:untested"}}],"description":"@prefix and qnames","testResult":"http://example/test-01.out"}],"title":"Example Test Cases","description":"Description for Example Test Cases"}]}
|
data/spec/test-files/results.ttl
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
doap:homepage <https://github.com/gkellogg/earl-report>;
|
|
30
30
|
doap:programming-language "Ruby";
|
|
31
31
|
doap:license <http://unlicense.org>;
|
|
32
|
-
doap:release <https://github.com/gkellogg/earl-report/tree/0.3.
|
|
32
|
+
doap:release <https://github.com/gkellogg/earl-report/tree/0.3.4>;
|
|
33
33
|
doap:developer <http://greggkellogg.net/foaf#me> .
|
|
34
34
|
|
|
35
35
|
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
rdfs:comment "Description for Example Test Cases";
|
|
42
42
|
mf:entries (
|
|
43
43
|
<http://example/manifest.ttl#testeval00>
|
|
44
|
-
_:
|
|
44
|
+
_:g70106671119240) .
|
|
45
45
|
|
|
46
46
|
#
|
|
47
47
|
# Subject Definitions
|
|
@@ -76,14 +76,14 @@
|
|
|
76
76
|
earl:result [ a earl:TestResult; earl:outcome earl:passed ]]
|
|
77
77
|
) .
|
|
78
78
|
|
|
79
|
-
_:
|
|
79
|
+
_:g70106671119240 a earl:TestCriterion, earl:TestCase, <http://www.w3.org/ns/rdftest#TestTurtleEval>;
|
|
80
80
|
dc:title "subm-test-01";
|
|
81
81
|
dc:description "@prefix and qnames"@en;
|
|
82
82
|
mf:result <http://example/test-01.out>;
|
|
83
83
|
mf:action <http://example/test-01.ttl>;
|
|
84
84
|
earl:assertions (
|
|
85
85
|
[ a earl:Assertion;
|
|
86
|
-
earl:test _:
|
|
86
|
+
earl:test _:g70106671119240;
|
|
87
87
|
earl:subject <http://rubygems.org/gems/rdf-turtle>;
|
|
88
88
|
earl:mode earl:notAvailable;
|
|
89
89
|
earl:result [ a earl:TestResult; earl:outcome earl:untested ]]
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: earl-report
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gregg Kellogg
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2015-05-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: linkeddata
|
|
@@ -24,6 +24,26 @@ dependencies:
|
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '1.1'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: sparql
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '1.1'
|
|
34
|
+
- - ">="
|
|
35
|
+
- !ruby/object:Gem::Version
|
|
36
|
+
version: 1.1.7
|
|
37
|
+
type: :runtime
|
|
38
|
+
prerelease: false
|
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
40
|
+
requirements:
|
|
41
|
+
- - "~>"
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: '1.1'
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: 1.1.7
|
|
27
47
|
- !ruby/object:Gem::Dependency
|
|
28
48
|
name: rdf-turtle
|
|
29
49
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -182,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
182
202
|
version: '0'
|
|
183
203
|
requirements: []
|
|
184
204
|
rubyforge_project:
|
|
185
|
-
rubygems_version: 2.
|
|
205
|
+
rubygems_version: 2.4.3
|
|
186
206
|
signing_key:
|
|
187
207
|
specification_version: 4
|
|
188
208
|
summary: Earl Report summary generator
|