earl-report 0.4.8 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +15 -10
- data/VERSION +1 -1
- data/lib/earl_report.rb +199 -115
- data/lib/earl_report/views/earl_report.html.haml +17 -14
- data/spec/earl_report_spec.rb +15 -15
- data/spec/spec_helper.rb +1 -0
- data/spec/test-files/doap.ttl +11 -11
- data/spec/test-files/foaf.ttl +2 -2
- data/spec/test-files/report-complete.ttl +15 -15
- data/spec/test-files/report-no-doap.ttl +4 -4
- data/spec/test-files/report-no-foaf.ttl +14 -14
- data/spec/test-files/results.html +29 -31
- data/spec/test-files/results.jsonld +95 -95
- data/spec/test-files/results.ttl +62 -75
- metadata +37 -23
@@ -10,7 +10,7 @@
|
|
10
10
|
-# "assertions": ["./rdf.rb-earl.ttl"],
|
11
11
|
-# "testSubjects": [
|
12
12
|
-# {
|
13
|
-
-# "@id": "
|
13
|
+
-# "@id": "https://rubygems.org/gems/rdf-turtle",
|
14
14
|
-# "@type": "earl:TestSubject",
|
15
15
|
-# "name": "RDF::Turtle"
|
16
16
|
-# },
|
@@ -27,9 +27,9 @@
|
|
27
27
|
-# "assertions": [
|
28
28
|
-# {
|
29
29
|
-# "@type": "earl:Assertion",
|
30
|
-
-# "assertedBy": "
|
30
|
+
-# "assertedBy": "https://greggkellogg.net/foaf#me",
|
31
31
|
-# "test": "http://svn.apache.org/repos/asf/jena/Experimental/riot-reader/testing/RIOT/Lang/TurtleSubm/manifest.ttl#testeval00",
|
32
|
-
-# "subject": "
|
32
|
+
-# "subject": "https://rubygems.org/gems/rdf-turtle",
|
33
33
|
-# "result": {
|
34
34
|
-# "@type": "earl:TestResult",
|
35
35
|
-# "outcome": "earl:passed"
|
@@ -40,8 +40,8 @@
|
|
40
40
|
-# }
|
41
41
|
- require 'cgi'
|
42
42
|
- require 'digest'
|
43
|
-
- editors = [{ name: "Gregg Kellogg", url: "
|
44
|
-
- foaf = {name: "Gregg Kellogg", url: "
|
43
|
+
- editors = [{ name: "Gregg Kellogg", url: "https://greggkellogg.net/"}]
|
44
|
+
- foaf = {name: "Gregg Kellogg", url: "https://greggkellogg.net/foaf#me" }
|
45
45
|
|
46
46
|
!!! 5
|
47
47
|
%html
|
@@ -334,10 +334,12 @@
|
|
334
334
|
- pass_fail = assertion['result']['outcome'].split(':').last.upcase.sub(/(PASS|FAIL)ED$/, '\1')
|
335
335
|
- passed_tests[ndx2][ndx] = (passed_tests[ndx2][ndx] || 0) + (pass_fail == 'PASS' ? 1 : 0)
|
336
336
|
%td{class: pass_fail, property: "earl:assertions", typeof: assertion['@type']}
|
337
|
-
- if assertion['assertedBy']
|
337
|
+
- if assertion['assertedBy'] && !assertion['assertedBy'].start_with?('_:')
|
338
338
|
%link{property: "earl:assertedBy", href: assertion['assertedBy']}
|
339
|
-
|
340
|
-
|
339
|
+
- if assertion['test'] && !assertion['test'].start_with?('_:')
|
340
|
+
%link{property: "earl:test", href: assertion['test']}
|
341
|
+
- if assertion['subject'] && !assertion['subject'].start_with?('_:')
|
342
|
+
%link{property: "earl:subject", href: assertion['subject']}
|
341
343
|
- if assertion['mode']
|
342
344
|
%link{property: 'earl:mode', href: assertion['mode']}
|
343
345
|
%span{property: "earl:result", typeof: assertion['result']['@type']}
|
@@ -443,10 +445,10 @@
|
|
443
445
|
%p{property: "dc:description rdfs:comment"}<
|
444
446
|
~ CGI.escapeHTML test['description'].to_s
|
445
447
|
%pre{class: "example actionDoc", property: "mf:action", resource: test['testAction'], title: "#{test['title']} Input"}<
|
446
|
-
~
|
448
|
+
~ URI.open(test['testAction']) {|f| f.set_encoding(Encoding::UTF_8); CGI.escapeHTML(f.read).gsub(/\n/, '<br/>')} rescue "#{test['testAction']} not loaded"
|
447
449
|
- if test['testResult']
|
448
450
|
%pre{class: "example resultDoc", property: "mf:result", resource: test['testResult'], title: "#{test['title']} Result"}<
|
449
|
-
~
|
451
|
+
~ URI.open(test['testResult']) {|f| f.set_encoding(Encoding::UTF_8); CGI.escapeHTML(f.read).gsub(/\n/, '<br/>')} rescue "#{test['testResult']} not loaded"
|
450
452
|
%section.appendix#report-generation-software{property: "earl:generatedBy", resource: tests['generatedBy']['@id'], typeof: tests['generatedBy']['@type'].join(' ')}
|
451
453
|
%h2
|
452
454
|
%span.secno="D."
|
@@ -464,16 +466,17 @@
|
|
464
466
|
%span{property: "doap:release", resource: rel['@id'], typeof: 'doap:Version'}
|
465
467
|
%span{property: "doap:revision"}<=rel['revision']
|
466
468
|
%meta{property: "doap:name", content: rel['name']}
|
467
|
-
|
469
|
+
- if rel['created']
|
470
|
+
%meta{property: "doap:created", content: rel['created'], datatype: "xsd:date"}
|
468
471
|
an
|
469
472
|
%a{property: "doap:license", href: doap['license']}<="Unlicensed"
|
470
473
|
%span{property: "doap:programming-language"}<="Ruby"
|
471
474
|
application. More information is available at
|
472
475
|
%a{property: "doap:homepage", href: doap['homepage']}<=doap['homepage']
|
473
476
|
= "."
|
474
|
-
%p{property: "doap:developer", resource: "
|
477
|
+
%p{property: "doap:developer", resource: "https://greggkellogg.net/foaf#me", typeof: "foaf:Person"}
|
475
478
|
This software is provided by
|
476
|
-
%a{property: "foaf:homepage", href: "
|
477
|
-
%span{about: "
|
479
|
+
%a{property: "foaf:homepage", href: "https://greggkellogg.net/"}<
|
480
|
+
%span{about: "https://greggkellogg.net/foaf#me", property: "foaf:name"}<
|
478
481
|
Gregg Kellogg
|
479
482
|
in hopes that it might make the lives of conformance testers easier.
|
data/spec/earl_report_spec.rb
CHANGED
@@ -79,7 +79,7 @@ describe EarlReport do
|
|
79
79
|
end
|
80
80
|
|
81
81
|
it "loads doap" do
|
82
|
-
expect(subject.graph.subjects.to_a).to include(RDF::URI("
|
82
|
+
expect(subject.graph.subjects.to_a).to include(RDF::URI("https://rubygems.org/gems/rdf-turtle"))
|
83
83
|
end
|
84
84
|
|
85
85
|
it "loads foaf" do
|
@@ -96,7 +96,7 @@ describe EarlReport do
|
|
96
96
|
.with(File.expand_path("../test-files/report-no-doap.ttl", __FILE__))
|
97
97
|
.and_return(reportNoDoap)
|
98
98
|
expect(RDF::Graph).to receive(:load)
|
99
|
-
.with("
|
99
|
+
.with("https://rubygems.org/gems/rdf-turtle")
|
100
100
|
.and_return(doap)
|
101
101
|
end
|
102
102
|
|
@@ -116,7 +116,7 @@ describe EarlReport do
|
|
116
116
|
end
|
117
117
|
|
118
118
|
it "loads doap" do
|
119
|
-
expect(subject.graph.subjects.to_a).to include(RDF::URI("
|
119
|
+
expect(subject.graph.subjects.to_a).to include(RDF::URI("https://rubygems.org/gems/rdf-turtle"))
|
120
120
|
end
|
121
121
|
|
122
122
|
it "loads foaf" do
|
@@ -133,7 +133,7 @@ describe EarlReport do
|
|
133
133
|
.with(File.expand_path("../test-files/report-no-foaf.ttl", __FILE__))
|
134
134
|
.and_return(reportNoFoaf)
|
135
135
|
expect(RDF::Graph).to receive(:load)
|
136
|
-
.with("
|
136
|
+
.with("https://greggkellogg.net/foaf#me")
|
137
137
|
.and_return(foaf)
|
138
138
|
end
|
139
139
|
|
@@ -153,7 +153,7 @@ describe EarlReport do
|
|
153
153
|
end
|
154
154
|
|
155
155
|
it "loads doap" do
|
156
|
-
expect(subject.graph.subjects.to_a).to include(RDF::URI("
|
156
|
+
expect(subject.graph.subjects.to_a).to include(RDF::URI("https://rubygems.org/gems/rdf-turtle"))
|
157
157
|
end
|
158
158
|
|
159
159
|
it "loads foaf" do
|
@@ -240,7 +240,7 @@ describe EarlReport do
|
|
240
240
|
|
241
241
|
context "prefixes" do
|
242
242
|
%w(dc doap earl foaf mf rdf rdfs xsd).each do |pfx|
|
243
|
-
specify {is_expected.to match(/@prefix #{pfx}
|
243
|
+
specify {is_expected.to match(/@prefix #{pfx}:\s+</)}
|
244
244
|
end
|
245
245
|
end
|
246
246
|
|
@@ -264,7 +264,7 @@ describe EarlReport do
|
|
264
264
|
end
|
265
265
|
|
266
266
|
context "Assertion" do
|
267
|
-
specify {is_expected.to match(/\sa earl:Assertion
|
267
|
+
specify {is_expected.to match(/\sa earl:Assertion\s*;$/)}
|
268
268
|
end
|
269
269
|
|
270
270
|
context "parsing to RDF" do
|
@@ -384,7 +384,7 @@ describe EarlReport do
|
|
384
384
|
dc:bibliographicCitation "[[TURTLE]]";
|
385
385
|
earl:generatedBy ?generatedBy;
|
386
386
|
earl:assertions ?assertionFile;
|
387
|
-
earl:testSubjects <
|
387
|
+
earl:testSubjects <https://rubygems.org/gems/rdf-turtle>;
|
388
388
|
mf:entries (<http://example/manifest.ttl>) .
|
389
389
|
|
390
390
|
<http://example/manifest.ttl> a earl:Report, mf:Manifest;
|
@@ -401,11 +401,11 @@ describe EarlReport do
|
|
401
401
|
PREFIX earl: <http://www.w3.org/ns/earl#>
|
402
402
|
|
403
403
|
ASK WHERE {
|
404
|
-
<
|
404
|
+
<https://rubygems.org/gems/rdf-turtle> a earl:TestSubject, doap:Project;
|
405
405
|
doap:name "RDF::Turtle";
|
406
406
|
doap:description """RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."""@en;
|
407
407
|
doap:programming-language "Ruby";
|
408
|
-
doap:developer <
|
408
|
+
doap:developer <https://greggkellogg.net/foaf#me> .
|
409
409
|
}
|
410
410
|
)
|
411
411
|
|
@@ -413,9 +413,9 @@ describe EarlReport do
|
|
413
413
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
414
414
|
|
415
415
|
ASK WHERE {
|
416
|
-
<
|
416
|
+
<https://greggkellogg.net/foaf#me> a foaf:Person;
|
417
417
|
foaf:name "Gregg Kellogg";
|
418
|
-
foaf:homepage <
|
418
|
+
foaf:homepage <https://greggkellogg.net/> .
|
419
419
|
}
|
420
420
|
)
|
421
421
|
|
@@ -429,7 +429,7 @@ describe EarlReport do
|
|
429
429
|
mf:name "subm-test-00";
|
430
430
|
mf:action <http://example/test-00.ttl>;
|
431
431
|
mf:result <http://example/test-00.out>;
|
432
|
-
earl:assertions [ a earl:Assertion; earl:subject <
|
432
|
+
earl:assertions [ a earl:Assertion; earl:subject <https://rubygems.org/gems/rdf-turtle> ] .
|
433
433
|
}
|
434
434
|
)
|
435
435
|
|
@@ -438,9 +438,9 @@ describe EarlReport do
|
|
438
438
|
|
439
439
|
ASK WHERE {
|
440
440
|
[ a earl:Assertion;
|
441
|
-
earl:assertedBy <
|
441
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
442
442
|
earl:test <http://example/manifest.ttl#testeval00>;
|
443
|
-
earl:subject <
|
443
|
+
earl:subject <https://rubygems.org/gems/rdf-turtle>;
|
444
444
|
earl:mode earl:automatic;
|
445
445
|
earl:result [ a earl:TestResult; earl:outcome earl:passed] ] .
|
446
446
|
}
|
data/spec/spec_helper.rb
CHANGED
data/spec/test-files/doap.ttl
CHANGED
@@ -7,10 +7,10 @@
|
|
7
7
|
@prefix ex: <http://example.org/> .
|
8
8
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
9
9
|
|
10
|
-
<
|
10
|
+
<https://rubygems.org/gems/rdf-turtle> a doap:Project, earl:TestSubject, earl:Software ;
|
11
11
|
doap:name "RDF::Turtle" ;
|
12
12
|
doap:homepage <http://ruby-rdf.github.com/rdf-turtle> ;
|
13
|
-
doap:license <http://creativecommons.org/
|
13
|
+
doap:license <http://creativecommons.org/publicdomain/zero/1.0/> ;
|
14
14
|
doap:shortdesc "Turtle reader/writer for Ruby."@en ;
|
15
15
|
doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
16
16
|
doap:created "2011-08-29"^^xsd:date;
|
@@ -18,16 +18,16 @@
|
|
18
18
|
doap:implements <http://www.w3.org/TR/turtle/> ;
|
19
19
|
doap:category <http://dbpedia.org/resource/Resource_Description_Framework>,
|
20
20
|
<http://dbpedia.org/resource/Ruby_(programming_language)> ;
|
21
|
-
doap:download-page <
|
21
|
+
doap:download-page <https://rubygems.org/gems/rdf-turtle> ;
|
22
22
|
doap:mailing-list <http://lists.w3.org/Archives/Public/public-rdf-ruby/> ;
|
23
|
-
doap:bug-database <
|
24
|
-
doap:blog <
|
25
|
-
doap:developer <
|
26
|
-
doap:maintainer <
|
27
|
-
doap:documenter <
|
28
|
-
foaf:maker <
|
23
|
+
doap:bug-database <https://github.com/ruby-rdf/rdf-turtle/issues> ;
|
24
|
+
doap:blog <https://greggkellogg.net/> ;
|
25
|
+
doap:developer <https://greggkellogg.net/foaf#me> ;
|
26
|
+
doap:maintainer <https://greggkellogg.net/foaf#me> ;
|
27
|
+
doap:documenter <https://greggkellogg.net/foaf#me> ;
|
28
|
+
foaf:maker <https://greggkellogg.net/foaf#me> ;
|
29
29
|
dc:title "RDF::Turtle" ;
|
30
30
|
dc:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
31
31
|
dc:date "2011-08-29"^^xsd:date;
|
32
|
-
dc:creator <
|
33
|
-
dc:isPartOf <
|
32
|
+
dc:creator <https://greggkellogg.net/foaf#me>;
|
33
|
+
dc:isPartOf <https://rubygems.org/gems/rdf> .
|
data/spec/test-files/foaf.ttl
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
@prefix earl: <http://www.w3.org/ns/earl#> .
|
2
2
|
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
3
3
|
|
4
|
-
<
|
4
|
+
<https://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor;
|
5
5
|
foaf:name "Gregg Kellogg";
|
6
6
|
foaf:title "Implementor";
|
7
|
-
foaf:homepage <
|
7
|
+
foaf:homepage <https://greggkellogg.net/> .
|
@@ -7,10 +7,10 @@
|
|
7
7
|
@prefix ex: <http://example.org/> .
|
8
8
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
9
9
|
|
10
|
-
<
|
10
|
+
<https://rubygems.org/gems/rdf-turtle> a doap:Project, earl:TestSubject, earl:Software ;
|
11
11
|
doap:name "RDF::Turtle" ;
|
12
12
|
doap:homepage <http://ruby-rdf.github.com/rdf-turtle> ;
|
13
|
-
doap:license <http://creativecommons.org/
|
13
|
+
doap:license <http://creativecommons.org/publicdomain/zero/1.0/> ;
|
14
14
|
doap:shortdesc "Turtle reader/writer for Ruby."@en ;
|
15
15
|
doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
16
16
|
doap:created "2011-08-29"^^xsd:date;
|
@@ -18,28 +18,28 @@
|
|
18
18
|
doap:implements <http://www.w3.org/TR/turtle/> ;
|
19
19
|
doap:category <http://dbpedia.org/resource/Resource_Description_Framework>,
|
20
20
|
<http://dbpedia.org/resource/Ruby_(programming_language)> ;
|
21
|
-
doap:download-page <
|
21
|
+
doap:download-page <https://rubygems.org/gems/rdf-turtle> ;
|
22
22
|
doap:mailing-list <http://lists.w3.org/Archives/Public/public-rdf-ruby/> ;
|
23
|
-
doap:bug-database <
|
24
|
-
doap:blog <
|
25
|
-
doap:developer <
|
26
|
-
doap:maintainer <
|
27
|
-
doap:documenter <
|
28
|
-
foaf:maker <
|
23
|
+
doap:bug-database <https://github.com/ruby-rdf/rdf-turtle/issues> ;
|
24
|
+
doap:blog <https://greggkellogg.net/> ;
|
25
|
+
doap:developer <https://greggkellogg.net/foaf#me> ;
|
26
|
+
doap:maintainer <https://greggkellogg.net/foaf#me> ;
|
27
|
+
doap:documenter <https://greggkellogg.net/foaf#me> ;
|
28
|
+
foaf:maker <https://greggkellogg.net/foaf#me> ;
|
29
29
|
dc:title "RDF::Turtle" ;
|
30
30
|
dc:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
31
31
|
dc:date "2011-08-29"^^xsd:date;
|
32
|
-
dc:creator <
|
33
|
-
dc:isPartOf <
|
32
|
+
dc:creator <https://greggkellogg.net/foaf#me>;
|
33
|
+
dc:isPartOf <https://rubygems.org/gems/rdf> .
|
34
34
|
|
35
|
-
<
|
35
|
+
<https://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor;
|
36
36
|
foaf:name "Gregg Kellogg";
|
37
37
|
foaf:title "Implementor";
|
38
|
-
foaf:homepage <
|
38
|
+
foaf:homepage <https://greggkellogg.net/> .
|
39
39
|
|
40
40
|
[ a earl:Assertion;
|
41
|
-
earl:assertedBy <
|
42
|
-
earl:subject <
|
41
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
42
|
+
earl:subject <https://rubygems.org/gems/rdf-turtle>;
|
43
43
|
earl:test <http://example/manifest.ttl#testeval00>;
|
44
44
|
earl:result [
|
45
45
|
a earl:TestResult;
|
@@ -7,14 +7,14 @@
|
|
7
7
|
@prefix ex: <http://example.org/> .
|
8
8
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
9
9
|
|
10
|
-
<
|
10
|
+
<https://greggkellogg.net/foaf#me> a foaf:Person, earl:Assertor;
|
11
11
|
foaf:name "Gregg Kellogg";
|
12
12
|
foaf:title "Implementor";
|
13
|
-
foaf:homepage <
|
13
|
+
foaf:homepage <https://greggkellogg.net/> .
|
14
14
|
|
15
15
|
[ a earl:Assertion;
|
16
|
-
earl:assertedBy <
|
17
|
-
earl:subject <
|
16
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
17
|
+
earl:subject <https://rubygems.org/gems/rdf-turtle>;
|
18
18
|
earl:test <http://example/manifest.ttl#testeval00>;
|
19
19
|
earl:result [
|
20
20
|
a earl:TestResult;
|
@@ -7,10 +7,10 @@
|
|
7
7
|
@prefix ex: <http://example.org/> .
|
8
8
|
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
9
9
|
|
10
|
-
<
|
10
|
+
<https://rubygems.org/gems/rdf-turtle> a doap:Project, earl:TestSubject, earl:Software ;
|
11
11
|
doap:name "RDF::Turtle" ;
|
12
12
|
doap:homepage <http://ruby-rdf.github.com/rdf-turtle> ;
|
13
|
-
doap:license <http://creativecommons.org/
|
13
|
+
doap:license <http://creativecommons.org/publicdomain/zero/1.0/> ;
|
14
14
|
doap:shortdesc "Turtle reader/writer for Ruby."@en ;
|
15
15
|
doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
16
16
|
doap:created "2011-08-29"^^xsd:date;
|
@@ -18,25 +18,25 @@
|
|
18
18
|
doap:implements <http://www.w3.org/TR/turtle/> ;
|
19
19
|
doap:category <http://dbpedia.org/resource/Resource_Description_Framework>,
|
20
20
|
<http://dbpedia.org/resource/Ruby_(programming_language)> ;
|
21
|
-
doap:download-page <
|
21
|
+
doap:download-page <https://rubygems.org/gems/rdf-turtle> ;
|
22
22
|
doap:mailing-list <http://lists.w3.org/Archives/Public/public-rdf-ruby/> ;
|
23
|
-
doap:bug-database <
|
24
|
-
doap:blog <
|
25
|
-
doap:developer <
|
26
|
-
doap:maintainer <
|
27
|
-
doap:documenter <
|
28
|
-
foaf:maker <
|
23
|
+
doap:bug-database <https://github.com/ruby-rdf/rdf-turtle/issues> ;
|
24
|
+
doap:blog <https://greggkellogg.net/> ;
|
25
|
+
doap:developer <https://greggkellogg.net/foaf#me> ;
|
26
|
+
doap:maintainer <https://greggkellogg.net/foaf#me> ;
|
27
|
+
doap:documenter <https://greggkellogg.net/foaf#me> ;
|
28
|
+
foaf:maker <https://greggkellogg.net/foaf#me> ;
|
29
29
|
dc:title "RDF::Turtle" ;
|
30
30
|
dc:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en ;
|
31
31
|
dc:date "2011-08-29"^^xsd:date;
|
32
|
-
dc:creator <
|
33
|
-
dc:isPartOf <
|
32
|
+
dc:creator <https://greggkellogg.net/foaf#me>;
|
33
|
+
dc:isPartOf <https://rubygems.org/gems/rdf> .
|
34
34
|
|
35
|
-
<
|
35
|
+
<https://greggkellogg.net/foaf#me> a earl:Assertor .
|
36
36
|
|
37
37
|
[ a earl:Assertion;
|
38
|
-
earl:assertedBy <
|
39
|
-
earl:subject <
|
38
|
+
earl:assertedBy <https://greggkellogg.net/foaf#me>;
|
39
|
+
earl:subject <https://rubygems.org/gems/rdf-turtle>;
|
40
40
|
earl:test <http://example/manifest.ttl#testeval00>;
|
41
41
|
earl:result [
|
42
42
|
a earl:TestResult;
|
@@ -73,12 +73,12 @@ Implementation Report
|
|
73
73
|
<h2 id='w3c-document-28-october-2015'>
|
74
74
|
<abbr title='World Wide Web Consortium'>W3C</abbr>
|
75
75
|
Document
|
76
|
-
<time class='dt-published' datetime='
|
77
|
-
|
76
|
+
<time class='dt-published' datetime='2021-03-18' property='dc:issued'>
|
77
|
+
18 March 2021
|
78
78
|
</time>
|
79
79
|
</h2>
|
80
80
|
<dl>
|
81
|
-
<dt>Editor:</dt><dd class='p-author h-card vcard' inlist='inlist' property='bibo:editor'><span property='rdf:first' typeof='foaf:Person'><meta content='Gregg Kellogg' property='foaf:name' /><a class='url fn u-url p-name' href='
|
81
|
+
<dt>Editor:</dt><dd class='p-author h-card vcard' inlist='inlist' property='bibo:editor'><span property='rdf:first' typeof='foaf:Person'><meta content='Gregg Kellogg' property='foaf:name' /><a class='url fn u-url p-name' href='https://greggkellogg.net/' property='foaf:homepage'>Gregg Kellogg</a></span></dd></dl>
|
82
82
|
<p>
|
83
83
|
This document is also available in these non-normative formats:
|
84
84
|
<a href='earl.ttl' re='alternate'></a>
|
@@ -105,7 +105,7 @@ rules apply.
|
|
105
105
|
</p>
|
106
106
|
<hr />
|
107
107
|
</div>
|
108
|
-
<section about='' id='abstract' typeof='
|
108
|
+
<section about='' id='abstract' typeof='doap:Project Software'>
|
109
109
|
<h2>Abstract</h2>
|
110
110
|
<p>
|
111
111
|
This document report test subject conformance for and related specifications for
|
@@ -212,18 +212,18 @@ Report Generation Software
|
|
212
212
|
for each test, referencing the test resource from the associated manifest
|
213
213
|
and the test subject being reported upon. An example test entry is be the following:</p>
|
214
214
|
|
215
|
-
<pre><code> [ a earl:Assertion;
 earl:assertedBy <
|
215
|
+
<pre><code> [ a earl:Assertion;
 earl:assertedBy <https://greggkellogg.net/foaf#me>;
 earl:subject <--your-software-identifier-->;
 earl:test <--uri-of-test-from-manifest>;
 earl:result [
 a earl:TestResult;
 earl:outcome earl:passed;
 dc:date "2016-12-26T10:18:04-08:00"^^xsd:dateTime];
 earl:mode earl:automatic ] .
</code></pre>
|
216
216
|
|
217
217
|
<p>The Test Subject should be defined as a <code>doap:Project</code>, including the name,
|
218
218
|
homepage and developer(s) of the software (see <a href="https://github.com/edumbill/doap/wiki">DOAP</a>). Optionally, including the
|
219
219
|
project description and programming language. An example test subject description is the following:</p>
|
220
220
|
|
221
|
-
<pre><code> <> foaf:primaryTopic <--your-software-identifier--> ;
 dc:issued "2016-12-26T10:18:04-08:00"^^xsd:dateTime ;
 foaf:maker <
|
221
|
+
<pre><code> <> foaf:primaryTopic <--your-software-identifier--> ;
 dc:issued "2016-12-26T10:18:04-08:00"^^xsd:dateTime ;
 foaf:maker <https://greggkellogg.net/foaf#me> .

 <--your-software-identifier--> a doap:Project, earl:TestSubject, earl:Software ;
 doap:name "Gregg Kellogg" ;
 doap:homepage <--your-software-homepace--> ;
 doap:license <--license-for-your-software--> ;
 doap:shortdesc "--your-short-project-description--"@en ;
 doap:description "--your-project-description--"@en ;
 doap:created "2016-12-09"^^xsd:date ;
 doap:programming-language "--your-implementation-language--" ;
 doap:implements <--specification-uri--> ;
 doap:category <--category-uris-for-specification-framework-and-implementation-language--> ;
 doap:download-page <--your-project-repository--> ;
 doap:mailing-list <--specification-public-mailing-list--@w3.org> ;
 doap:bug-database <--your-project-repository--/issues> ;
 doap:blog <--your-blog--> ;
 doap:developer <https://greggkellogg.net/foaf#me> ;
 foaf:maker <https://greggkellogg.net/foaf#me> ;
 dc:title "--your-project-name--" ;
 dc:description "--your-project-description--"@en ;
 dc:date "2016-12-09"^^xsd:date ;
 dc:creator <https://greggkellogg.net/foaf#me> ;
 dc:isPartOf <--your-implementation-framework--> .
</code></pre>
|
222
222
|
|
223
223
|
<p>The software developer, either an organization or one or more individuals SHOULD be
|
224
224
|
referenced from <code>doap:developer</code> using <a href="http://xmlns.com/foaf/spec">FOAF</a>. For example:</p>
|
225
225
|
|
226
|
-
<pre><code> <--your-software-identifier--> a foaf:Person, earl:Assertor;
 foaf:name "Gregg Kellogg";
 foaf:title "Implementor";
 foaf:homepage <
|
226
|
+
<pre><code> <--your-software-identifier--> a foaf:Person, earl:Assertor;
 foaf:name "Gregg Kellogg";
 foaf:title "Implementor";
 foaf:homepage <https://greggkellogg.net/foaf#me> .
</code></pre>
|
227
227
|
|
228
228
|
</section>
|
229
229
|
<section id='test-manifests'>
|
@@ -245,14 +245,14 @@ Test
|
|
245
245
|
<a href='#subj_0'>RDF::Turtle</a>
|
246
246
|
</th>
|
247
247
|
</tr>
|
248
|
-
<tr inlist='inlist' rel='mf:entries' resource='http://example/manifest.ttl#testeval00' typeof='
|
248
|
+
<tr inlist='inlist' rel='mf:entries' resource='http://example/manifest.ttl#testeval00' typeof='http://www.w3.org/ns/rdftest#TestTurtleEval TestCriterion TestCase'>
|
249
249
|
<td>
|
250
250
|
<a href='#test_1fdd82ac4caf30510cabfdb0a5987ddd'>subm-test-00</a>
|
251
251
|
</td>
|
252
252
|
<td class='PASS' property='earl:assertions' typeof='Assertion'>
|
253
|
-
<link href='
|
253
|
+
<link href='https://greggkellogg.net/foaf#me' property='earl:assertedBy' />
|
254
254
|
<link href='http://example/manifest.ttl#testeval00' property='earl:test' />
|
255
|
-
<link href='
|
255
|
+
<link href='https://rubygems.org/gems/rdf-turtle' property='earl:subject' />
|
256
256
|
<link href='earl:automatic' property='earl:mode' />
|
257
257
|
<span property='earl:result' typeof='TestResult'>
|
258
258
|
<span property='earl:outcome' resource='earl:passed'>
|
@@ -261,13 +261,12 @@ PASS
|
|
261
261
|
</span>
|
262
262
|
</td>
|
263
263
|
</tr>
|
264
|
-
<tr inlist='inlist' rel='mf:entries' resource='_:
|
264
|
+
<tr inlist='inlist' rel='mf:entries' resource='_:b0' typeof='http://www.w3.org/ns/rdftest#TestTurtleEval TestCriterion TestCase'>
|
265
265
|
<td>
|
266
|
-
<a href='#
|
266
|
+
<a href='#test_9616fad74c7bf0cfba5d70f087ed0a96'>subm-test-01</a>
|
267
267
|
</td>
|
268
268
|
<td class='UNTESTED' property='earl:assertions' typeof='Assertion'>
|
269
|
-
<link href='
|
270
|
-
<link href='http://rubygems.org/gems/rdf-turtle' property='earl:subject' />
|
269
|
+
<link href='https://rubygems.org/gems/rdf-turtle' property='earl:subject' />
|
271
270
|
<span property='earl:result' typeof='TestResult'>
|
272
271
|
<span property='earl:outcome' resource='earl:untested'>
|
273
272
|
UNTESTED
|
@@ -297,11 +296,11 @@ This report was tested using the following test subjects:
|
|
297
296
|
<dl>
|
298
297
|
<dt id='subj_0'>
|
299
298
|
<span class='secno'>A.1</span>
|
300
|
-
<a href='
|
301
|
-
<span about='
|
299
|
+
<a href='https://rubygems.org/gems/rdf-turtle'>
|
300
|
+
<span about='https://rubygems.org/gems/rdf-turtle' property='doap:name'>RDF::Turtle</span>
|
302
301
|
</a>
|
303
302
|
</dt>
|
304
|
-
<dd property='earl:testSubjects' resource='
|
303
|
+
<dd property='earl:testSubjects' resource='https://rubygems.org/gems/rdf-turtle' typeof='doap:Project Software TestSubject'>
|
305
304
|
<dl>
|
306
305
|
<dt>Description</dt>
|
307
306
|
<dd lang='en' property='doap:description'>RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.</dd>
|
@@ -317,12 +316,12 @@ http://ruby-rdf.github.com/rdf-turtle
|
|
317
316
|
</dd>
|
318
317
|
<dt>Developer</dt>
|
319
318
|
<dd rel='doap:developer'>
|
320
|
-
<div resource='
|
321
|
-
<a href='
|
319
|
+
<div resource='https://greggkellogg.net/foaf#me' typeof='foaf:Person Assertor'>
|
320
|
+
<a href='https://greggkellogg.net/foaf#me'>
|
322
321
|
<span property='foaf:name'>Gregg Kellogg</span>
|
323
322
|
</a>
|
324
|
-
<a href='
|
325
|
-
|
323
|
+
<a href='https://greggkellogg.net/' property='foaf:homepage'>
|
324
|
+
https://greggkellogg.net/
|
326
325
|
</a>
|
327
326
|
</div>
|
328
327
|
</dd>
|
@@ -377,11 +376,11 @@ Test
|
|
377
376
|
<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>
|
378
377
|
<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>
|
379
378
|
</dd>
|
380
|
-
<dt id='
|
379
|
+
<dt id='test_9616fad74c7bf0cfba5d70f087ed0a96' resource='_:b0'>
|
381
380
|
Test
|
382
381
|
<span property='dc:title mf:name'>subm-test-01</span>
|
383
382
|
</dt>
|
384
|
-
<dd resource='_:
|
383
|
+
<dd resource='_:b0'>
|
385
384
|
<p property='dc:description rdfs:comment'></p>
|
386
385
|
<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>
|
387
386
|
<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>
|
@@ -389,21 +388,20 @@ Test
|
|
389
388
|
</div>
|
390
389
|
</dl>
|
391
390
|
</section>
|
392
|
-
<section class='appendix' id='report-generation-software' property='earl:generatedBy' resource='
|
391
|
+
<section class='appendix' id='report-generation-software' property='earl:generatedBy' resource='https://rubygems.org/gems/earl-report' typeof='doap:Project Software'>
|
393
392
|
<h2>
|
394
393
|
<span class='secno'>D.</span>
|
395
394
|
Report Generation Software
|
396
395
|
</h2>
|
397
396
|
<p>
|
398
397
|
This report generated by
|
399
|
-
<span property='doap:name'><a href='
|
398
|
+
<span property='doap:name'><a href='https://rubygems.org/gems/earl-report'>earl-report</a></span>
|
400
399
|
<meta content='Earl Report summary generator' property='doap:shortdesc' />
|
401
400
|
<meta content='EarlReport generates HTML+RDFa rollups of multiple EARL reports' property='doap:description' />
|
402
401
|
version
|
403
|
-
<span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.
|
404
|
-
<span property='doap:revision'>0.
|
405
|
-
<meta content='earl-report-0.
|
406
|
-
<meta datatype='xsd:date' property='doap:created' />
|
402
|
+
<span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.5.2' typeof='doap:Version'>
|
403
|
+
<span property='doap:revision'>0.5.2</span>
|
404
|
+
<meta content='earl-report-0.5.2' property='doap:name' />
|
407
405
|
</span>
|
408
406
|
an
|
409
407
|
<a href='http://unlicense.org' property='doap:license'>Unlicensed</a>
|
@@ -412,9 +410,9 @@ application. More information is available at
|
|
412
410
|
<a href='https://github.com/gkellogg/earl-report' property='doap:homepage'>https://github.com/gkellogg/earl-report</a>
|
413
411
|
.
|
414
412
|
</p>
|
415
|
-
<p property='doap:developer' resource='
|
413
|
+
<p property='doap:developer' resource='https://greggkellogg.net/foaf#me' typeof='foaf:Person'>
|
416
414
|
This software is provided by
|
417
|
-
<a href='
|
415
|
+
<a href='https://greggkellogg.net/' property='foaf:homepage'><span about='https://greggkellogg.net/foaf#me' property='foaf:name'>Gregg Kellogg</span></a>
|
418
416
|
in hopes that it might make the lives of conformance testers easier.
|
419
417
|
</p>
|
420
418
|
</section>
|