earl-report 0.4.2 → 0.4.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2293e978b124f359dd97d99b831bcbb4b0b10fc7
4
- data.tar.gz: 48ac8820551c61ec4c9d7772558814b291e85370
3
+ metadata.gz: 1119b1b46c38387b9565ad9eefe96bcea4c05cd8
4
+ data.tar.gz: cee2b030f2a72dacc021d027aa98b253bf48c4b7
5
5
  SHA512:
6
- metadata.gz: 5a6f6a1717f91e35ca32dee612e6f24ecaf8562e224b0ab69d0aedac34a36ad5b85026c6941c0d1ff7a209154ab990f12c7bb6eed9556e036c7fbd3d9c917cfd
7
- data.tar.gz: 7ded92c978e26feae7828bb9a0917d0ce01919d4596c4b96346bb69ce849f03b2351814b2128c1250879972bb6a740e5b0fdf270b1cfb940014d375223cc853d
6
+ metadata.gz: bc5068bdd7e743385e67a7b76090aa88365c59b3fa98e1b5fb1e14167798b79ce4e4ae73a953ba3860071d7f304444f70cb61723343a3cb81d31f727da8aacb6
7
+ data.tar.gz: 4cc8561f19460e2570f6d0fe9e1b29a38e274e7289563e47516cb3e5c0555eec80bd541db93c80ac70fd63904c78cfba69400e4001f2382ea5c3f364b74dbedb
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.2
1
+ 0.4.3
@@ -1,7 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rubygems'
3
- $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", 'lib')))
4
-
3
+ $:.unshift(File.expand_path("../../lib", __FILE__))
4
+ begin
5
+ require "bundler/setup"
6
+ rescue LoadError
7
+ #skip
8
+ end
5
9
  require 'earl_report'
6
10
  require 'getoptlong'
7
11
  require 'yaml'
@@ -112,30 +112,36 @@ class EarlReport
112
112
  "testSubjects" => {"@type" => "@id", "@container" => "@set"},
113
113
  "xsd" => {"@id" => "http://www.w3.org/2001/XMLSchema#"}
114
114
  },
115
+ "@requireAll" => true,
116
+ "@embed" => "@always",
115
117
  "assertions" => {},
116
118
  "bibRef" => {},
117
119
  "generatedBy" => {
118
120
  "@embed" => "@always",
119
- "developer" => {},
120
- "release" => {
121
- "@embed" => "@always"
122
- }
121
+ "developer" => {"@embed" => "@always"},
122
+ "release" => {"@embed" => "@always"}
123
123
  },
124
124
  "testSubjects" => {
125
125
  "@embed" => "@always",
126
126
  "@type" => "earl:TestSubject",
127
127
  "developer" => {"@embed" => "@always"},
128
- "homepage" => {"@embed" => false}
128
+ "homepage" => {"@embed" => "@never"}
129
129
  },
130
130
  "entries" => [{
131
+ "@embed" => "@always",
131
132
  "@type" => "mf:Manifest",
132
133
  "entries" => [{
134
+ "@embed" => "@always",
133
135
  "@type" => "earl:TestCase",
134
136
  "assertions" => {
137
+ "@embed" => "@always",
135
138
  "@type" => "earl:Assertion",
136
- "assertedBy" => {"@embed" => false},
137
- "result" => {"@type" => "earl:TestResult"},
138
- "subject" => {"@embed" => false}
139
+ "assertedBy" => {"@embed" => "@never"},
140
+ "result" => {
141
+ "@embed" => "@always",
142
+ "@type" => "earl:TestResult"
143
+ },
144
+ "subject" => {"@embed" => "@never"}
139
145
  }
140
146
  }]
141
147
  }]
@@ -306,7 +312,7 @@ class EarlReport
306
312
  next
307
313
  end
308
314
  unless subjects[subject]
309
- $stderr.puts "No test result subject found for #{subject}: #{solution.inspect}"
315
+ $stderr.puts "No test result subject found for #{subject}: in #{subjects.keys.join(', ')}"
310
316
  next
311
317
  end
312
318
  found_solutions[subject] = true
@@ -461,10 +467,10 @@ class EarlReport
461
467
  @json_hash ||= begin
462
468
  # Customized JSON-LD output
463
469
  r = JSON::LD::API.fromRDF(graph) do |expanded|
464
- JSON::LD::API.frame(expanded, TEST_FRAME, expanded: true)
470
+ JSON::LD::API.frame(expanded, TEST_FRAME, expanded: true, embed: '@never')
465
471
  end
466
472
  unless r.is_a?(Hash) && r.has_key?('@graph') && Array(r["@graph"]).length == 1
467
- raise "Expected JSON result to have a single entry"
473
+ raise "Expected JSON result to have a single entry, it had #{Array(r["@graph"]).length rescue 'unknown'} entries"
468
474
  end
469
475
  {"@context" => r["@context"]}.merge(r["@graph"].first)
470
476
  end
@@ -40,86 +40,22 @@
40
40
  -# }
41
41
  - require 'cgi'
42
42
  - require 'digest'
43
+ - editors = [{ name: "Gregg Kellogg", url: "http://greggkellogg.net/"}]
44
+ - foaf = {name: "Gregg Kellogg", url: "http://greggkellogg.net/foaf#me" }
43
45
 
44
46
  !!! 5
45
- %html{prefix: "earl: http://www.w3.org/ns/earl# doap: http://usefulinc.com/ns/doap# mf: http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#"}
46
- - subjects = tests['testSubjects']
47
+ %html
48
+ - subjects = tests['testSubjects'].sort_by {|s| s['name'].to_s.downcase}
47
49
  %head
48
50
  %meta{"http-equiv" => "Content-Type", content: "text/html;charset=utf-8"}
49
51
  %link{rel: "alternate", href: "earl.ttl"}
50
52
  %link{rel: "alternate", href: "earl.jsonld"}
53
+ %link{rel: "stylesheet", href: "https://www.w3.org/StyleSheets/TR/base"}
51
54
  - tests['assertions'].each do |file|
52
55
  %link{rel: "related", href: file}
53
56
  %title
54
57
  = tests['name']
55
- %script.remove{type: "text/javascript", src: "http://www.w3.org/Tools/respec/respec-w3c-common"}
56
- :javascript
57
- var respecConfig = {
58
- // extend the bibliography entries
59
- localBiblio: {
60
- TURTLE: "Eric Prud'hommeaux, Gavin Carothers. <cite><a href=\"http://www.w3.org/TR/2011/WD-turtle-20110809/\">Turtle: Terse RDF Triple Language.</a></cite> 09 August 2011. W3C Working Draft. URL: <a href=\"http://www.w3.org/TR/2011/WD-turtle-20110809/\">http://www.w3.org/TR/2011/WD-turtle-20110809/</a>",
61
- DOAP: "Ed Dumbill. <cite><a href=\"https://github.com/edumbill/doap/wiki\">Turtle: Terse RDF Triple Language.</a></cite> Community Specification. URL: <a href=\"https://github.com/edumbill/doap/wiki\">https://github.com/edumbill/doap/wiki</a>",
62
- },
63
-
64
- // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
65
- specStatus: "unofficial",
66
- copyrightStart: "2010",
67
- doRDFa: "1.1",
68
-
69
- // the specification's short name, as in http://www.w3.org/TR/short-name/
70
- shortName: "turtle-earl",
71
- subtitle: "Turtle Implementation Conformance Report",
72
- // if you wish the publication date to be other than today, set this
73
- publishDate: "#{Time.now.strftime("%Y/%m/%d")}",
74
-
75
- // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
76
- // and its maturity status
77
- //previousPublishDate: "2011-10-23",
78
- //previousMaturity: "ED",
79
- //previousDiffURI: "http://json-ld.org/spec/ED/json-ld-syntax/20111023/index.html",
80
- //diffTool: "http://www.aptest.com/standards/htmldiff/htmldiff.pl",
81
-
82
- // if there a publicly available Editor's Draft, this is the link
83
- //edDraftURI: "",
84
-
85
- // if this is a LCWD, uncomment and set the end of its review period
86
- // lcEnd: "2009-08-05",
87
-
88
- // editors, add as many as you like
89
- // only "name" is required
90
- editors: [
91
- { name: "Gregg Kellogg", url: "http://greggkellogg.net/",
92
- company: "Kellogg Associates" },
93
- { name: "Andy Seaborne",
94
- company: "The Apache Software Foundation"}
95
- ],
96
-
97
- // authors, add as many as you like.
98
- // This is optional, uncomment if you have authors as well as editors.
99
- // only "name" is required. Same format as editors.
100
- //authors: [
101
- //RDF Working Group],
102
-
103
- // name of the WG
104
- wg: "RDF Working Group",
105
-
106
- // URI of the public WG page
107
- wgURI: "http://www.w3.org/2011/rdf-wg/",
108
-
109
- // name (with the @w3c.org) of the public mailing to which comments are due
110
- wgPublicList: "public-rdf-comments",
111
-
112
- // URI of the patent status for this WG, for Rec-track documents
113
- // !!!! IMPORTANT !!!!
114
- // This is important for Rec-track documents, do not copy a patent URI from a random
115
- // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
116
- // Team Contact.
117
- wgPatentURI: "http://www.w3.org/2004/01/pp-impl/46168/status",
118
- alternateFormats: [
119
- {uri: "earl.ttl", label: "Turtle"},
120
- {uri: "earl.jsonld", label: "JSON-LD"}
121
- ],
122
- };
58
+ Implementation Report
123
59
  :css
124
60
  span[property='dc:description rdfs:comment'] { display: none; }
125
61
  td.PASS { color: green; }
@@ -152,8 +88,80 @@
152
88
  td.passed-all {color: green;}
153
89
  td.passed-most {color: darkorange;}
154
90
  td.passed-some {color: red;}
155
- %body{prefix: "earl: http://www.w3.org/ns/earl# doap: http://usefulinc.com/ns/doap# mf: http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#", vocab: "http://www.w3.org/ns/earl#"}
91
+ em.rfc2119 {
92
+ text-transform: lowercase;
93
+ font-variant: small-caps;
94
+ font-style: normal;
95
+ color: #900;
96
+ }
97
+ a.testlink {
98
+ color: inherit;
99
+ text-decoration: none;
100
+ }
101
+ a.testlink:hover {
102
+ text-decoration: underline;
103
+ }
104
+ pre > code {
105
+ color: #C83500;
106
+ }
107
+ %body{prefix: "bibo: http://purl.org/ontology/bibo/ earl: http://www.w3.org/ns/earl# doap: http://usefulinc.com/ns/doap# mf: http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#", vocab: "http://www.w3.org/ns/earl#"}
108
+ - test_info = {}
109
+ - test_refs = {}
110
+ - subject_refs = {}
111
+ - tests['entries'].each {|m| m['title'] ||= m['rdfs:label'] || m['description'] || m['rdfs:comment']}
112
+ - subjects.each_with_index do |subject, index|
113
+ - subject_refs[subject['@id']] = "subj_#{index}"
114
+ %div.head{role: :contentinfo}
115
+ %p
116
+ %a{href: "http://www.w3.org/"}
117
+ %img{width: 72, height: 48, src: "https://www.w3.org/Icons/w3c_home", alt: "W3C"}
118
+ %h1.title.p-name#title{property: "dc:title"}=tests['name']
119
+ %h2#w3c-document-28-october-2015
120
+ %abbr{title: "World Wide Web Consortium"}="W3C"
121
+ Document
122
+ %time.dt-published{property: "dc:issued", datetime: Time.now.strftime('%Y-%m-%d')}
123
+ = Time.now.strftime("%d %B %Y")
124
+ %dl
125
+ %dt="Editor:"
126
+ - editors.each do |ed|
127
+ %dd.p-author.h-card.vcard{property: "bibo:editor", inlist: true}<>
128
+ %span{property: "rdf:first", typeof: "foaf:Person"}<>
129
+ %meta{property: "foaf:name", content: ed[:name]}<>
130
+ %a.url.fn.u-url.p-name{property: "foaf:homepage", href: ed[:url]}<>
131
+ = ed[:name]
132
+ %p
133
+ This document is also available in these non-normative formats:
134
+ %a{re: "alternate", href: "earl.ttl"}
135
+ and
136
+ %a{re: "alternate", href: "earl.jsonld"}
137
+ = "."
138
+ %p.copyright
139
+ %a{href: "http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"}
140
+ Copyright
141
+ © 2010-2015
142
+ %a{href: "http://www.w3.org/"}
143
+ %sup="®"
144
+ (
145
+ %a{href: "http://www.csail.mit.edu/"}<>
146
+ %abbr{title: "Massachusetts Institute of Technology"}<>="MIT"
147
+ = ", "
148
+ %a{href: "http://www.ercim.eu/"}<>
149
+ %abbr{title: "European Research Consortium for Informatics and Mathematics"}<>="ERCIM"
150
+ = ", "
151
+ %a{href: "http://www.keio.ac.jp/"}<>="Keio"
152
+ = ", "
153
+ %a{href: "http://ev.buaa.edu.cn/"}<>="Beihang"
154
+ ).
155
+ %abbr{title: "World Wide Web Consortium"}="W3C"
156
+ %a{href: "http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer"}="liability"
157
+ = ","
158
+ %a{href: "http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks"}="trademark"
159
+ and
160
+ %a{rel: "license", href: "http://www.w3.org/Consortium/Legal/copyright-documents"}="document use"
161
+ rules apply.
162
+ %hr
156
163
  %section#abstract{about: tests['@id'], typeof: Array(tests['@type']).join(" ")}
164
+ %h2="Abstract"
157
165
  %p
158
166
  This document report test subject conformance for and related specifications for
159
167
  %span{property: "doap:name"}<=tests['name']
@@ -168,16 +176,130 @@
168
176
  %a{rel: "xhv:alternate", href: "earl.jsonld"}
169
177
  JSON-LD
170
178
  %section#sodt
171
- %section
172
- - test_info = {}
173
- - test_refs = {}
174
- - subject_refs = {}
179
+ %h2#h-sotd{resource: "#h-sotd"}
180
+ %span{property: "xhv:role", resource: "xhv:heading"}
181
+ Status of This Document
182
+ %p
183
+ This document is merely a
184
+ %abbr{title: "World Wide Web Consortium"}<>="W3C"
185
+ ="-internal document."
186
+ It has no official standing of any kind and does not represent consensus of the
187
+ %abbr{title: "World Wide Web Consortium"}="W3C"
188
+ Membership.
189
+ %p
190
+ This report describes the state of implementation conformance at the time of publication.
191
+ %section#toc
192
+ %h2.introductory#h-toc{resource: "#h-toc"}
193
+ %span{property: "xhv:role", resource: "xhv:heading"}
194
+ Table of Contents
195
+ %ul.toc#respecContents{role: "directory"}
196
+ %li.tocline
197
+ %a.tocxref{href: "#instructions-for-submitting-implementation-reports"}
198
+ %span.secno="1."
199
+ Instructions for submitting implementation reports
200
+ %li.tocline
201
+ %a.tocxref{href: "#test-manifests"}
202
+ %span.secno="2."
203
+ Test Manifests
204
+ %ul.toc
205
+ - tests['entries'].sort_by {|m| m['title'].to_s.downcase}.each_with_index do |manifest, ndx|
206
+ %li.tocline
207
+ %span.secno="2.#{ndx+1}"
208
+ %a.tocxref{href: "##{manifest['rdfs:comment'].gsub(' ', '-')}"}
209
+ ~ manifest['rdfs:comment']
210
+ %li.tocline
211
+ %a.tocxref{href: "#test-subjects"}
212
+ %span.secno="A."
213
+ Test Subjects
214
+ %ul.toc
215
+ - subjects.each_with_index do |subject, ndx|
216
+ %li.tocline
217
+ %span.secno="A.#{ndx+1}"
218
+ %a.tocxref{href: "#" + subject_refs[subject['@id']]}= subject['name']
219
+ %li.tocline
220
+ %a.tocxref{href: "#individual-test-results"}
221
+ %span.secno="B."
222
+ Individual Test Results
223
+ %li.tocline
224
+ %a.tocxref{href: "#test-definitions"}
225
+ %span.secno="C."
226
+ Test Definitions
227
+ %li.tocline
228
+ %a.tocxref{href: "#report-generation-software"}
229
+ %span.secno="D."
230
+ Report Generation Software
231
+ %section#instructions-for-submitting-implementation-reports
232
+ :markdown
233
+ ## Instructions for submitting implementation reports
234
+
235
+ Tests should be run using the test manifests defined in the
236
+ [Test Manifests](#test-manifests) Section.
237
+
238
+ The assumed base URI for the tests is `<http://example/base/>` if needed.
239
+
240
+ Reports should be submitted in Turtle format to [xxx](xxx)
241
+ and include an `earl:Assertion`
242
+ for each test, referencing the test resource from the associated manifest
243
+ and the test subject being reported upon. An example test entry is be the following:
244
+
245
+ [ a earl:Assertion;
246
+ earl:assertedBy <#{foaf[:url]}>;
247
+ earl:subject <--your-software-identifier-->;
248
+ earl:test <--uri-of-test-from-manifest>;
249
+ earl:result [
250
+ a earl:TestResult;
251
+ earl:outcome earl:passed;
252
+ dc:date "2016-12-26T10:18:04-08:00"^^xsd:dateTime];
253
+ earl:mode earl:automatic ] .
254
+
255
+ The Test Subject should be defined as a `doap:Project`, including the name,
256
+ homepage and developer(s) of the software (see [DOAP](https://github.com/edumbill/doap/wiki)). Optionally, including the
257
+ project description and programming language. An example test subject description is the following:
258
+
259
+ <> foaf:primaryTopic <--your-software-identifier--> ;
260
+ dc:issued "2016-12-26T10:18:04-08:00"^^xsd:dateTime ;
261
+ foaf:maker <#{foaf[:url]}> .
262
+
263
+ <--your-software-identifier--> a doap:Project, earl:TestSubject, earl:Software ;
264
+ doap:name "#{foaf[:name]}" ;
265
+ doap:homepage <--your-software-homepace--> ;
266
+ doap:license <--license-for-your-software--> ;
267
+ doap:shortdesc "--your-short-project-description--"@en ;
268
+ doap:description "--your-project-description--"@en ;
269
+ doap:created "2016-12-09"^^xsd:date ;
270
+ doap:programming-language "--your-implementation-language--" ;
271
+ doap:implements <--specification-uri--> ;
272
+ doap:category <--category-uris-for-specification-framework-and-implementation-language--> ;
273
+ doap:download-page <--your-project-repository--> ;
274
+ doap:mailing-list <--specification-public-mailing-list--@w3.org> ;
275
+ doap:bug-database <--your-project-repository--/issues> ;
276
+ doap:blog <--your-blog--> ;
277
+ doap:developer <#{foaf[:url]}> ;
278
+ foaf:maker <#{foaf[:url]}> ;
279
+ dc:title "--your-project-name--" ;
280
+ dc:description "--your-project-description--"@en ;
281
+ dc:date "2016-12-09"^^xsd:date ;
282
+ dc:creator <#{foaf[:url]}> ;
283
+ dc:isPartOf <--your-implementation-framework--> .
284
+
285
+ The software developer, either an organization or one or more individuals SHOULD be
286
+ referenced from `doap:developer` using [FOAF](http://xmlns.com/foaf/spec). For example:
287
+
288
+ <--your-software-identifier--> a foaf:Person, earl:Assertor;
289
+ foaf:name "#{foaf[:name]}";
290
+ foaf:title "Implementor";
291
+ foaf:homepage <#{foaf[:url]}> .
292
+ %section#test-manifests
175
293
  %h2
294
+ %span.secno="2."
176
295
  Test Manifests
177
- - tests['entries'].each do |manifest|
296
+ - tests['entries'].each_with_index do |manifest, ndx2|
178
297
  - test_cases = manifest['entries']
179
- %section{typeof: manifest['@type'].join(" "), resource: manifest['@id']}
180
- %h2{property: "dc:title mf:name"}<=manifest['title'] || 'Test Manifest'
298
+ %section{id: manifest['rdfs:comment'].gsub(' ', '-'), typeof: manifest['@type'].join(" "), resource: manifest['@id']}
299
+ %h2
300
+ %span.secno="2.#{ndx2+1}"
301
+ %span{property: "dc:title mf:name"}<
302
+ = manifest['title'] || 'Test Manifest'
181
303
  - Array(manifest['description']).each do |desc|
182
304
  - desc = desc['@value'] if desc.is_a?(Hash)
183
305
  %p{property: "rdfs:comment", lang: 'en'}<
@@ -189,13 +311,14 @@
189
311
  %th
190
312
  Test
191
313
  - subjects.each_with_index do |subject, index|
192
- - subject_refs[subject['@id']] = "subj_#{index}"
193
314
  -# If subject is untested for every test in this manifest, skip it
194
315
  - skip_subject[subject['@id']] = manifest['entries'].all? {|t| t['assertions'][index]['result']['outcome'] == 'earl:untested'}
195
316
  - unless skip_subject[subject['@id']]
196
317
  %th
197
318
  %a{href: '#' + subject_refs[subject['@id']]}<=subject['name']
198
319
  - test_cases.each do |test|
320
+ - test['title'] ||= test['rdfs:label']
321
+ - test['title'] = Array(test['title']).first
199
322
  - tid = "test_#{Digest::MD5.hexdigest(test['@id'])}"
200
323
  - (test_info[tid] ||= []) << test
201
324
  - test_refs[test['@id']] = tid
@@ -225,14 +348,16 @@
225
348
  - pct = (r * 100.0) / manifest['entries'].length
226
349
  %td{class: (pct == 100.0 ? 'passed-all' : (pct >= 95.0 ? 'passed-most' : 'passed-some'))}
227
350
  = "#{'%.1f' % pct}%"
228
- %section.appendix
351
+ %section.appendix#test-subjects
229
352
  %h2
353
+ %span.secno="A."
230
354
  Test Subjects
231
355
  %p
232
356
  This report was tested using the following test subjects:
233
357
  %dl
234
358
  - subjects.each_with_index do |subject, index|
235
359
  %dt{id: subject_refs[subject['@id']]}
360
+ %span.secno="A.#{index+1}"
236
361
  %a{href: subject['@id']}
237
362
  %span{about: subject['@id'], property: "doap:name"}<= subject['name']
238
363
  %dd{property: "earl:testSubjects", resource: subject['@id'], typeof: Array(subject['@type']).join(" ")}
@@ -249,8 +374,8 @@
249
374
  ~ CGI.escapeHTML subject['language'].to_s
250
375
  - if subject['homepage']
251
376
  %dt= "Home Page"
252
- %dd{property: "doap:homepage"}
253
- %a{href: subject['homepage']}
377
+ %dd
378
+ %a{property: "doap:homepage", href: subject['homepage']}
254
379
  ~ CGI.escapeHTML subject['homepage'].to_s
255
380
  - if subject['developer']
256
381
  %dt= "Developer"
@@ -282,8 +407,9 @@
282
407
  %td{class: (pct == 100.0 ? 'passed-all' : (pct >= 85.0 ? 'passed-most' : 'passed-some'))}
283
408
  = "#{passed}/#{total} (#{'%.1f' % pct}%)"
284
409
  - unless tests['assertions'].empty?
285
- %section.appendix{rel: "xhv:related earl:assertions"}
410
+ %section.appendix#individual-test-results{rel: "xhv:related earl:assertions"}
286
411
  %h2
412
+ %span.secno="B."
287
413
  Individual Test Results
288
414
  %p
289
415
  Individual test results used to construct this report are available here:
@@ -291,8 +417,9 @@
291
417
  - tests['assertions'].each do |file|
292
418
  %li
293
419
  %a.source{href: file}<= file
294
- %section.appendix
420
+ %section.appendix#test-definitions
295
421
  %h2
422
+ %span.secno="C."
296
423
  Test Definitions
297
424
  %dl
298
425
  - tests['entries'].each do |manifest|
@@ -311,8 +438,9 @@
311
438
  - if test['testResult']
312
439
  %pre{class: "example resultDoc", property: "mf:result", resource: test['testResult'], title: "#{test['title']} Result"}<
313
440
  ~ Kernel.open(test['testResult']) {|f| f.set_encoding(Encoding::UTF_8); CGI.escapeHTML(f.read).gsub(/\n/, '<br/>')} rescue "#{test['testResult']} not loaded"
314
- %section#appendix{property: "earl:generatedBy", resource: tests['generatedBy']['@id'], typeof: Array(tests['generatedBy']['@type']).join(' ')}
441
+ %section.appendix#report-generation-software{property: "earl:generatedBy", resource: tests['generatedBy']['@id'], typeof: tests['generatedBy']['@type'].join(' ')}
315
442
  %h2
443
+ %span.secno="D."
316
444
  Report Generation Software
317
445
  - doap = tests['generatedBy']
318
446
  - rel = doap['release']
@@ -165,7 +165,7 @@ describe EarlReport do
165
165
  describe "#json_hash" do
166
166
  let(:json) {earl.send(:json_hash)}
167
167
  subject {json}
168
- it {should be_a(Hash)}
168
+ it {is_expected.to be_a(Hash)}
169
169
  {
170
170
  "@id" => "",
171
171
  "@type" => ["Software", "doap:Project"],
@@ -180,7 +180,7 @@ describe EarlReport do
180
180
  end
181
181
 
182
182
  %w(assertions generatedBy testSubjects entries).each do |key|
183
- its(:keys) {should include(key)}
183
+ its(:keys) {is_expected.to include(key)}
184
184
  end
185
185
 
186
186
  context "parsing to RDF" do
@@ -240,29 +240,31 @@ 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 {should match(/@prefix #{pfx}: </)}
243
+ specify {is_expected.to match(/@prefix #{pfx}: </)}
244
244
  end
245
245
  end
246
246
 
247
247
  context "earl:Software" do
248
- specify {should match(%r{<> a [^;]*earl:Software[^;]*;$}m)}
249
- specify {should match(%r{<> a [^;]*doap:Project[^;]*;$}m)}
250
- specify {should match(/ doap:name "#{json_hash['name']}"\s*[;\.]$/)}
248
+ specify {is_expected.to match(%r{<> a [^;]*earl:Software[^;]*;$}m)}
249
+ specify {is_expected.to match(%r{<> a [^;]*doap:Project[^;]*;$}m)}
250
+ specify {is_expected.to match(/ doap:name "#{json_hash['name']}"\s*[;\.]$/)}
251
251
  end
252
252
 
253
253
  context "Subject Definitions" do
254
- specify {should match(%r{<#{ts['@id']}> a [^;]*doap:Project[^;]*;$}m)}
255
- specify {should match(%r{<#{ts['@id']}> a [^;]*earl:TestSubject[^;]*;$}m)}
256
- specify {should match(%r{<#{ts['@id']}> a [^;]*earl:Software[^;]*;$}m)}
254
+ specify {is_expected.to match(%r{<#{ts['@id']}> a [^;]*doap:Project[^;]*;$}m)}
255
+ specify {is_expected.to match(%r{<#{ts['@id']}> a [^;]*earl:TestSubject[^;]*;$}m)}
256
+ specify {is_expected.to match(%r{<#{ts['@id']}> a [^;]*earl:Software[^;]*;$}m)}
257
257
  end
258
258
 
259
259
  context "Manifest Definitions" do
260
- specify {should match(%r{<#{tm['@id']}> a [^;]*mf:Manifest[^;]*;$}m)}
261
- specify {should match(%r{<#{tm['@id']}> a [^;]*earl:Report[^;]*;$}m)}
260
+ specify {
261
+ json_hash
262
+ is_expected.to match(%r{<#{tm['@id']}> a [^;]*mf:Manifest[^;]*;$}m)}
263
+ specify {is_expected.to match(%r{<#{tm['@id']}> a [^;]*earl:Report[^;]*;$}m)}
262
264
  end
263
265
 
264
266
  context "Assertion" do
265
- specify {should match(/\sa earl:Assertion;$/)}
267
+ specify {is_expected.to match(/\sa earl:Assertion;$/)}
266
268
  end
267
269
 
268
270
  context "parsing to RDF" do
@@ -1,84 +1,15 @@
1
1
  <!DOCTYPE html>
2
- <html prefix='earl: http://www.w3.org/ns/earl# doap: http://usefulinc.com/ns/doap# mf: http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#'>
2
+ <html>
3
3
  <head>
4
4
  <meta content='text/html;charset=utf-8' http-equiv='Content-Type' />
5
5
  <link href='earl.ttl' rel='alternate' />
6
6
  <link href='earl.jsonld' rel='alternate' />
7
+ <link href='https://www.w3.org/StyleSheets/TR/base' rel='stylesheet' />
7
8
  <link href='/Users/gregg/Projects/earl-report/spec/test-files/report-complete.ttl' rel='related' />
8
9
  <title>
9
10
  Turtle Test Results
11
+ Implementation Report
10
12
  </title>
11
- <script class='remove' src='http://www.w3.org/Tools/respec/respec-w3c-common' type='text/javascript'></script>
12
- <script type='text/javascript'>
13
- //<![CDATA[
14
- var respecConfig = {
15
- // extend the bibliography entries
16
- localBiblio: {
17
- TURTLE: "Eric Prud'hommeaux, Gavin Carothers. <cite><a href=\"http://www.w3.org/TR/2011/WD-turtle-20110809/\">Turtle: Terse RDF Triple Language.</a></cite> 09 August 2011. W3C Working Draft. URL: <a href=\"http://www.w3.org/TR/2011/WD-turtle-20110809/\">http://www.w3.org/TR/2011/WD-turtle-20110809/</a>",
18
- DOAP: "Ed Dumbill. <cite><a href=\"https://github.com/edumbill/doap/wiki\">Turtle: Terse RDF Triple Language.</a></cite> Community Specification. URL: <a href=\"https://github.com/edumbill/doap/wiki\">https://github.com/edumbill/doap/wiki</a>",
19
- },
20
-
21
- // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
22
- specStatus: "unofficial",
23
- copyrightStart: "2010",
24
- doRDFa: "1.1",
25
-
26
- // the specification's short name, as in http://www.w3.org/TR/short-name/
27
- shortName: "turtle-earl",
28
- subtitle: "Turtle Implementation Conformance Report",
29
- // if you wish the publication date to be other than today, set this
30
- publishDate: "2016/06/30",
31
-
32
- // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
33
- // and its maturity status
34
- //previousPublishDate: "2011-10-23",
35
- //previousMaturity: "ED",
36
- //previousDiffURI: "http://json-ld.org/spec/ED/json-ld-syntax/20111023/index.html",
37
- //diffTool: "http://www.aptest.com/standards/htmldiff/htmldiff.pl",
38
-
39
- // if there a publicly available Editor's Draft, this is the link
40
- //edDraftURI: "",
41
-
42
- // if this is a LCWD, uncomment and set the end of its review period
43
- // lcEnd: "2009-08-05",
44
-
45
- // editors, add as many as you like
46
- // only "name" is required
47
- editors: [
48
- { name: "Gregg Kellogg", url: "http://greggkellogg.net/",
49
- company: "Kellogg Associates" },
50
- { name: "Andy Seaborne",
51
- company: "The Apache Software Foundation"}
52
- ],
53
-
54
- // authors, add as many as you like.
55
- // This is optional, uncomment if you have authors as well as editors.
56
- // only "name" is required. Same format as editors.
57
- //authors: [
58
- //RDF Working Group],
59
-
60
- // name of the WG
61
- wg: "RDF Working Group",
62
-
63
- // URI of the public WG page
64
- wgURI: "http://www.w3.org/2011/rdf-wg/",
65
-
66
- // name (with the @w3c.org) of the public mailing to which comments are due
67
- wgPublicList: "public-rdf-comments",
68
-
69
- // URI of the patent status for this WG, for Rec-track documents
70
- // !!!! IMPORTANT !!!!
71
- // This is important for Rec-track documents, do not copy a patent URI from a random
72
- // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
73
- // Team Contact.
74
- wgPatentURI: "http://www.w3.org/2004/01/pp-impl/46168/status",
75
- alternateFormats: [
76
- {uri: "earl.ttl", label: "Turtle"},
77
- {uri: "earl.jsonld", label: "JSON-LD"}
78
- ],
79
- };
80
- //]]>
81
- </script>
82
13
  <style type='text/css'>
83
14
  /*<![CDATA[*/
84
15
  span[property='dc:description rdfs:comment'] { display: none; }
@@ -112,11 +43,70 @@
112
43
  td.passed-all {color: green;}
113
44
  td.passed-most {color: darkorange;}
114
45
  td.passed-some {color: red;}
46
+ em.rfc2119 {
47
+ text-transform: lowercase;
48
+ font-variant: small-caps;
49
+ font-style: normal;
50
+ color: #900;
51
+ }
52
+ a.testlink {
53
+ color: inherit;
54
+ text-decoration: none;
55
+ }
56
+ a.testlink:hover {
57
+ text-decoration: underline;
58
+ }
59
+ pre > code {
60
+ color: #C83500;
61
+ }
115
62
  /*]]>*/
116
63
  </style>
117
64
  </head>
118
- <body prefix='earl: http://www.w3.org/ns/earl# doap: http://usefulinc.com/ns/doap# mf: http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#' vocab='http://www.w3.org/ns/earl#'>
65
+ <body prefix='bibo: http://purl.org/ontology/bibo/ earl: http://www.w3.org/ns/earl# doap: http://usefulinc.com/ns/doap# mf: http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#' vocab='http://www.w3.org/ns/earl#'>
66
+ <div class='head' role='contentinfo'>
67
+ <p>
68
+ <a href='http://www.w3.org/'>
69
+ <img alt='W3C' height='48' src='https://www.w3.org/Icons/w3c_home' width='72' />
70
+ </a>
71
+ </p>
72
+ <h1 class='title p-name' id='title' property='dc:title'>Turtle Test Results</h1>
73
+ <h2 id='w3c-document-28-october-2015'>
74
+ <abbr title='World Wide Web Consortium'>W3C</abbr>
75
+ Document
76
+ <time class='dt-published' datetime='2016-12-28' property='dc:issued'>
77
+ 28 December 2016
78
+ </time>
79
+ </h2>
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='http://greggkellogg.net/' property='foaf:homepage'>Gregg Kellogg</a></span></dd></dl>
82
+ <p>
83
+ This document is also available in these non-normative formats:
84
+ <a href='earl.ttl' re='alternate'></a>
85
+ and
86
+ <a href='earl.jsonld' re='alternate'></a>
87
+ .
88
+ </p>
89
+ <p class='copyright'>
90
+ <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'>
91
+ Copyright
92
+ </a>
93
+ © 2010-2015
94
+ <a href='http://www.w3.org/'>
95
+ <sup>®</sup>
96
+ </a>
97
+ (<a href='http://www.csail.mit.edu/'><abbr title='Massachusetts Institute of Technology'>MIT</abbr></a>,<a href='http://www.ercim.eu/'><abbr title='European Research Consortium for Informatics and Mathematics'>ERCIM</abbr></a>,<a href='http://www.keio.ac.jp/'>Keio</a>,<a href='http://ev.buaa.edu.cn/'>Beihang</a>).
98
+ <abbr title='World Wide Web Consortium'>W3C</abbr>
99
+ <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer'>liability</a>
100
+ ,
101
+ <a href='http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks'>trademark</a>
102
+ and
103
+ <a href='http://www.w3.org/Consortium/Legal/copyright-documents' rel='license'>document use</a>
104
+ rules apply.
105
+ </p>
106
+ <hr />
107
+ </div>
119
108
  <section about='' id='abstract' typeof='Software doap:Project'>
109
+ <h2>Abstract</h2>
120
110
  <p>
121
111
  This document report test subject conformance for and related specifications for
122
112
  <span property='doap:name'>Turtle Test Results</span>
@@ -134,13 +124,117 @@
134
124
  </a>
135
125
  </p>
136
126
  </section>
137
- <section id='sodt'></section>
138
- <section>
127
+ <section id='sodt'>
128
+ <h2 id='h-sotd' resource='#h-sotd'>
129
+ <span property='xhv:role' resource='xhv:heading'>
130
+ Status of This Document
131
+ </span>
132
+ </h2>
133
+ <p>
134
+ This document is merely a<abbr title='World Wide Web Consortium'>W3C</abbr>-internal document.
135
+ It has no official standing of any kind and does not represent consensus of the
136
+ <abbr title='World Wide Web Consortium'>W3C</abbr>
137
+ Membership.
138
+ </p>
139
+ <p>
140
+ This report describes the state of implementation conformance at the time of publication.
141
+ </p>
142
+ </section>
143
+ <section id='toc'>
144
+ <h2 class='introductory' id='h-toc' resource='#h-toc'>
145
+ <span property='xhv:role' resource='xhv:heading'>
146
+ Table of Contents
147
+ </span>
148
+ </h2>
149
+ <ul class='toc' id='respecContents' role='directory'>
150
+ <li class='tocline'>
151
+ <a class='tocxref' href='#instructions-for-submitting-implementation-reports'>
152
+ <span class='secno'>1.</span>
153
+ Instructions for submitting implementation reports
154
+ </a>
155
+ </li>
156
+ <li class='tocline'>
157
+ <a class='tocxref' href='#test-manifests'>
158
+ <span class='secno'>2.</span>
159
+ Test Manifests
160
+ </a>
161
+ <ul class='toc'>
162
+ <li class='tocline'>
163
+ <span class='secno'>2.1</span>
164
+ <a class='tocxref' href='#Description-for-Example-Test-Cases'>
165
+ Description for Example Test Cases
166
+ </a>
167
+ </li>
168
+ </ul>
169
+ </li>
170
+ <li class='tocline'>
171
+ <a class='tocxref' href='#test-subjects'>
172
+ <span class='secno'>A.</span>
173
+ Test Subjects
174
+ </a>
175
+ <ul class='toc'>
176
+ <li class='tocline'>
177
+ <span class='secno'>A.1</span>
178
+ <a class='tocxref' href='#subj_0'>RDF::Turtle</a>
179
+ </li>
180
+ </ul>
181
+ </li>
182
+ <li class='tocline'>
183
+ <a class='tocxref' href='#individual-test-results'>
184
+ <span class='secno'>B.</span>
185
+ Individual Test Results
186
+ </a>
187
+ </li>
188
+ <li class='tocline'>
189
+ <a class='tocxref' href='#test-definitions'>
190
+ <span class='secno'>C.</span>
191
+ Test Definitions
192
+ </a>
193
+ </li>
194
+ <li class='tocline'>
195
+ <a class='tocxref' href='#report-generation-software'>
196
+ <span class='secno'>D.</span>
197
+ Report Generation Software
198
+ </a>
199
+ </li>
200
+ </ul>
201
+ </section>
202
+ <section id='instructions-for-submitting-implementation-reports'>
203
+ <h2>Instructions for submitting implementation reports</h2>
204
+
205
+ <p>Tests should be run using the test manifests defined in the
206
+ <a href="#test-manifests">Test Manifests</a> Section.</p>
207
+
208
+ <p>The assumed base URI for the tests is <code>&lt;http://example/base/&gt;</code> if needed.</p>
209
+
210
+ <p>Reports should be submitted in Turtle format to <a href="xxx">xxx</a>
211
+ and include an <code>earl:Assertion</code>
212
+ for each test, referencing the test resource from the associated manifest
213
+ and the test subject being reported upon. An example test entry is be the following:</p>
214
+
215
+ <pre><code> [ a earl:Assertion;&#x000A; earl:assertedBy &lt;http://greggkellogg.net/foaf#me&gt;;&#x000A; earl:subject &lt;--your-software-identifier--&gt;;&#x000A; earl:test &lt;--uri-of-test-from-manifest&gt;;&#x000A; earl:result [&#x000A; a earl:TestResult;&#x000A; earl:outcome earl:passed;&#x000A; dc:date &quot;2016-12-26T10:18:04-08:00&quot;^^xsd:dateTime];&#x000A; earl:mode earl:automatic ] .&#x000A;</code></pre>
216
+
217
+ <p>The Test Subject should be defined as a <code>doap:Project</code>, including the name,
218
+ homepage and developer(s) of the software (see <a href="https://github.com/edumbill/doap/wiki">DOAP</a>). Optionally, including the
219
+ project description and programming language. An example test subject description is the following:</p>
220
+
221
+ <pre><code> &lt;&gt; foaf:primaryTopic &lt;--your-software-identifier--&gt; ;&#x000A; dc:issued &quot;2016-12-26T10:18:04-08:00&quot;^^xsd:dateTime ;&#x000A; foaf:maker &lt;http://greggkellogg.net/foaf#me&gt; .&#x000A;&#x000A; &lt;--your-software-identifier--&gt; a doap:Project, earl:TestSubject, earl:Software ;&#x000A; doap:name &quot;Gregg Kellogg&quot; ;&#x000A; doap:homepage &lt;--your-software-homepace--&gt; ;&#x000A; doap:license &lt;--license-for-your-software--&gt; ;&#x000A; doap:shortdesc &quot;--your-short-project-description--&quot;@en ;&#x000A; doap:description &quot;--your-project-description--&quot;@en ;&#x000A; doap:created &quot;2016-12-09&quot;^^xsd:date ;&#x000A; doap:programming-language &quot;--your-implementation-language--&quot; ;&#x000A; doap:implements &lt;--specification-uri--&gt; ;&#x000A; doap:category &lt;--category-uris-for-specification-framework-and-implementation-language--&gt; ;&#x000A; doap:download-page &lt;--your-project-repository--&gt; ;&#x000A; doap:mailing-list &lt;--specification-public-mailing-list--@w3.org&gt; ;&#x000A; doap:bug-database &lt;--your-project-repository--/issues&gt; ;&#x000A; doap:blog &lt;--your-blog--&gt; ;&#x000A; doap:developer &lt;http://greggkellogg.net/foaf#me&gt; ;&#x000A; foaf:maker &lt;http://greggkellogg.net/foaf#me&gt; ;&#x000A; dc:title &quot;--your-project-name--&quot; ;&#x000A; dc:description &quot;--your-project-description--&quot;@en ;&#x000A; dc:date &quot;2016-12-09&quot;^^xsd:date ;&#x000A; dc:creator &lt;http://greggkellogg.net/foaf#me&gt; ;&#x000A; dc:isPartOf &lt;--your-implementation-framework--&gt; .&#x000A;</code></pre>
222
+
223
+ <p>The software developer, either an organization or one or more individuals SHOULD be
224
+ referenced from <code>doap:developer</code> using <a href="http://xmlns.com/foaf/spec">FOAF</a>. For example:</p>
225
+
226
+ <pre><code> &lt;--your-software-identifier--&gt; a foaf:Person, earl:Assertor;&#x000A; foaf:name &quot;Gregg Kellogg&quot;;&#x000A; foaf:title &quot;Implementor&quot;;&#x000A; foaf:homepage &lt;http://greggkellogg.net/foaf#me&gt; .&#x000A;</code></pre>
227
+ </section>
228
+ <section id='test-manifests'>
139
229
  <h2>
230
+ <span class='secno'>2.</span>
140
231
  Test Manifests
141
232
  </h2>
142
- <section resource='http://example/manifest.ttl' typeof='mf:Manifest Report'>
143
- <h2 property='dc:title mf:name'>Example Test Cases</h2>
233
+ <section id='Description-for-Example-Test-Cases' resource='http://example/manifest.ttl' typeof='mf:Manifest Report'>
234
+ <h2>
235
+ <span class='secno'>2.1</span>
236
+ <span property='dc:title mf:name'>Example Test Cases</span>
237
+ </h2>
144
238
  <table class='report'>
145
239
  <tr>
146
240
  <th>
@@ -150,7 +244,7 @@
150
244
  <a href='#subj_0'>RDF::Turtle</a>
151
245
  </th>
152
246
  </tr>
153
- <tr inlist='inlist' rel='mf:entries' resource='http://example/manifest.ttl#testeval00' typeof='TestCriterion TestCase http://www.w3.org/ns/rdftest#TestTurtleEval'>
247
+ <tr inlist='inlist' rel='mf:entries' resource='http://example/manifest.ttl#testeval00' typeof='TestCase TestCriterion http://www.w3.org/ns/rdftest#TestTurtleEval'>
154
248
  <td>
155
249
  <a href='#test_1fdd82ac4caf30510cabfdb0a5987ddd'>subm-test-00</a>
156
250
  </td>
@@ -166,7 +260,7 @@
166
260
  </span>
167
261
  </td>
168
262
  </tr>
169
- <tr inlist='inlist' rel='mf:entries' resource='_:b0' typeof='TestCriterion TestCase http://www.w3.org/ns/rdftest#TestTurtleEval'>
263
+ <tr inlist='inlist' rel='mf:entries' resource='_:b0' typeof='TestCase TestCriterion http://www.w3.org/ns/rdftest#TestTurtleEval'>
170
264
  <td>
171
265
  <a href='#test_9616fad74c7bf0cfba5d70f087ed0a96'>subm-test-01</a>
172
266
  </td>
@@ -191,8 +285,9 @@
191
285
  </table>
192
286
  </section>
193
287
  </section>
194
- <section class='appendix'>
288
+ <section class='appendix' id='test-subjects'>
195
289
  <h2>
290
+ <span class='secno'>A.</span>
196
291
  Test Subjects
197
292
  </h2>
198
293
  <p>
@@ -200,6 +295,7 @@
200
295
  </p>
201
296
  <dl>
202
297
  <dt id='subj_0'>
298
+ <span class='secno'>A.1</span>
203
299
  <a href='http://rubygems.org/gems/rdf-turtle'>
204
300
  <span about='http://rubygems.org/gems/rdf-turtle' property='doap:name'>RDF::Turtle</span>
205
301
  </a>
@@ -211,8 +307,8 @@
211
307
  <dt>Programming Language</dt>
212
308
  <dd property='doap:programming-language'>Ruby</dd>
213
309
  <dt>Home Page</dt>
214
- <dd property='doap:homepage'>
215
- <a href='http://ruby-rdf.github.com/rdf-turtle'>
310
+ <dd>
311
+ <a href='http://ruby-rdf.github.com/rdf-turtle' property='doap:homepage'>
216
312
  http://ruby-rdf.github.com/rdf-turtle
217
313
  </a>
218
314
  </dd>
@@ -248,8 +344,9 @@
248
344
  </dd>
249
345
  </dl>
250
346
  </section>
251
- <section class='appendix' rel='xhv:related earl:assertions'>
347
+ <section class='appendix' id='individual-test-results' rel='xhv:related earl:assertions'>
252
348
  <h2>
349
+ <span class='secno'>B.</span>
253
350
  Individual Test Results
254
351
  </h2>
255
352
  <p>
@@ -261,8 +358,9 @@
261
358
  </li>
262
359
  </ul>
263
360
  </section>
264
- <section class='appendix'>
361
+ <section class='appendix' id='test-definitions'>
265
362
  <h2>
363
+ <span class='secno'>C.</span>
266
364
  Test Definitions
267
365
  </h2>
268
366
  <dl>
@@ -288,8 +386,9 @@
288
386
  </div>
289
387
  </dl>
290
388
  </section>
291
- <section id='appendix' property='earl:generatedBy' resource='http://rubygems.org/gems/earl-report' typeof='Software doap:Project'>
389
+ <section class='appendix' id='report-generation-software' property='earl:generatedBy' resource='http://rubygems.org/gems/earl-report' typeof='Software doap:Project'>
292
390
  <h2>
391
+ <span class='secno'>D.</span>
293
392
  Report Generation Software
294
393
  </h2>
295
394
  <p>
@@ -298,10 +397,10 @@
298
397
  <meta content='Earl Report summary generator' property='doap:shortdesc' />
299
398
  <meta content='EarlReport generates HTML+RDFa rollups of multiple EARL reports' property='doap:description' />
300
399
  version
301
- <span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.4.2' typeof='doap:Version'>
302
- <span property='doap:revision'>0.4.2</span>
303
- <meta content='earl-report-0.4.2' property='doap:name' />
304
- <meta content='2016-06-30' datatype='xsd:date' property='doap:created' />
400
+ <span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.4.3' typeof='doap:Version'>
401
+ <span property='doap:revision'>0.4.3</span>
402
+ <meta content='earl-report-0.4.3' property='doap:name' />
403
+ <meta content='2016-12-26' datatype='xsd:date' property='doap:created' />
305
404
  </span>
306
405
  an
307
406
  <a href='http://unlicense.org' property='doap:license'>Unlicensed</a>
@@ -103,8 +103,8 @@
103
103
  },
104
104
  "@id": "",
105
105
  "@type": [
106
- "doap:Project",
107
- "Software"
106
+ "Software",
107
+ "doap:Project"
108
108
  ],
109
109
  "assertions": [
110
110
  "/Users/gregg/Projects/earl-report/spec/test-files/report-complete.ttl"
@@ -121,18 +121,18 @@
121
121
  {
122
122
  "@id": "http://example/manifest.ttl#testeval00",
123
123
  "@type": [
124
- "TestCriterion",
125
124
  "TestCase",
125
+ "TestCriterion",
126
126
  "http://www.w3.org/ns/rdftest#TestTurtleEval"
127
127
  ],
128
128
  "assertions": [
129
129
  {
130
- "@id": "_:b3",
130
+ "@id": "_:b0",
131
131
  "@type": "Assertion",
132
132
  "assertedBy": "http://greggkellogg.net/foaf#me",
133
133
  "mode": "earl:automatic",
134
134
  "result": {
135
- "@id": "_:b4",
135
+ "@id": "_:b1",
136
136
  "@type": "TestResult",
137
137
  "outcome": "earl:passed"
138
138
  },
@@ -148,17 +148,17 @@
148
148
  {
149
149
  "@id": "_:b2",
150
150
  "@type": [
151
- "TestCriterion",
152
151
  "TestCase",
152
+ "TestCriterion",
153
153
  "http://www.w3.org/ns/rdftest#TestTurtleEval"
154
154
  ],
155
155
  "assertions": [
156
156
  {
157
- "@id": "_:b1",
157
+ "@id": "_:b3",
158
158
  "@type": "Assertion",
159
159
  "assertedBy": null,
160
160
  "result": {
161
- "@id": "_:b0",
161
+ "@id": "_:b4",
162
162
  "@type": "TestResult",
163
163
  "outcome": "earl:untested"
164
164
  },
@@ -179,15 +179,15 @@
179
179
  "generatedBy": {
180
180
  "@id": "http://rubygems.org/gems/earl-report",
181
181
  "@type": [
182
- "doap:Project",
183
- "Software"
182
+ "Software",
183
+ "doap:Project"
184
184
  ],
185
185
  "developer": [
186
186
  {
187
187
  "@id": "http://greggkellogg.net/foaf#me",
188
188
  "@type": [
189
- "Assertor",
190
- "foaf:Person"
189
+ "foaf:Person",
190
+ "Assertor"
191
191
  ],
192
192
  "foaf:homepage": "http://greggkellogg.net/",
193
193
  "foaf:name": "Gregg Kellogg"
@@ -199,11 +199,11 @@
199
199
  "license": "http://unlicense.org",
200
200
  "name": "earl-report",
201
201
  "release": {
202
- "@id": "https://github.com/gkellogg/earl-report/tree/0.4.2",
202
+ "@id": "https://github.com/gkellogg/earl-report/tree/0.4.3",
203
203
  "@type": "doap:Version",
204
- "created": "2016-06-30",
205
- "name": "earl-report-0.4.2",
206
- "revision": "0.4.2"
204
+ "created": "2016-12-26",
205
+ "name": "earl-report-0.4.3",
206
+ "revision": "0.4.3"
207
207
  },
208
208
  "shortdesc": "Earl Report summary generator"
209
209
  },
@@ -212,16 +212,16 @@
212
212
  {
213
213
  "@id": "http://rubygems.org/gems/rdf-turtle",
214
214
  "@type": [
215
- "doap:Project",
216
215
  "Software",
216
+ "doap:Project",
217
217
  "TestSubject"
218
218
  ],
219
219
  "developer": [
220
220
  {
221
221
  "@id": "http://greggkellogg.net/foaf#me",
222
222
  "@type": [
223
- "Assertor",
224
- "foaf:Person"
223
+ "foaf:Person",
224
+ "Assertor"
225
225
  ],
226
226
  "foaf:homepage": "http://greggkellogg.net/",
227
227
  "foaf:name": "Gregg Kellogg"
@@ -21,12 +21,12 @@
21
21
  <http://example/manifest.ttl> a mf:Manifest,
22
22
  earl:Report;
23
23
  rdfs:comment "Description for Example Test Cases";
24
- mf:entries (<http://example/manifest.ttl#testeval00> _:g70356570213340);
24
+ mf:entries (<http://example/manifest.ttl#testeval00> _:g70287090109560);
25
25
  mf:name "Example Test Cases" .
26
26
 
27
27
  <http://example/manifest.ttl#testeval00> a earl:TestCase,
28
- <http://www.w3.org/ns/rdftest#TestTurtleEval>,
29
- earl:TestCriterion;
28
+ earl:TestCriterion,
29
+ <http://www.w3.org/ns/rdftest#TestTurtleEval>;
30
30
  rdfs:comment "Blank subject";
31
31
  mf:action <http://example/test-00.ttl>;
32
32
  mf:name "subm-test-00";
@@ -43,9 +43,9 @@
43
43
  earl:test <http://example/manifest.ttl#testeval00>
44
44
  ] .
45
45
 
46
- _:g70356570213340 a earl:TestCase,
47
- <http://www.w3.org/ns/rdftest#TestTurtleEval>,
48
- earl:TestCriterion;
46
+ _:g70287090109560 a earl:TestCase,
47
+ earl:TestCriterion,
48
+ <http://www.w3.org/ns/rdftest#TestTurtleEval>;
49
49
  rdfs:comment "@prefix and qnames";
50
50
  mf:action <http://example/test-01.ttl>;
51
51
  mf:name "subm-test-01";
@@ -57,22 +57,22 @@ _:g70356570213340 a earl:TestCase,
57
57
  earl:outcome earl:untested
58
58
  ];
59
59
  earl:subject <http://rubygems.org/gems/rdf-turtle>;
60
- earl:test _:g70356570213340
60
+ earl:test _:g70287090109560
61
61
  ] .
62
62
 
63
63
  # Test Subjects
64
64
 
65
- <http://rubygems.org/gems/rdf-turtle> a earl:TestSubject,
66
- earl:Software,
67
- doap:Project;
65
+ <http://rubygems.org/gems/rdf-turtle> a earl:Software,
66
+ doap:Project,
67
+ earl:TestSubject;
68
68
  doap:description "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite."@en;
69
69
  doap:developer <http://greggkellogg.net/foaf#me>;
70
70
  doap:homepage <http://ruby-rdf.github.com/rdf-turtle>;
71
71
  doap:name "RDF::Turtle";
72
72
  doap:programming-language "Ruby" .
73
73
 
74
- <http://greggkellogg.net/foaf#me> a earl:Assertor,
75
- foaf:Person;
74
+ <http://greggkellogg.net/foaf#me> a foaf:Person,
75
+ earl:Assertor;
76
76
  foaf:homepage <http://greggkellogg.net/>;
77
77
  foaf:name "Gregg Kellogg" .
78
78
 
@@ -86,10 +86,10 @@ _:g70356570213340 a earl:TestCase,
86
86
  doap:license <http://unlicense.org>;
87
87
  doap:name "earl-report";
88
88
  doap:programming-language "Ruby";
89
- doap:release <https://github.com/gkellogg/earl-report/tree/0.4.2>;
89
+ doap:release <https://github.com/gkellogg/earl-report/tree/0.4.3>;
90
90
  doap:shortdesc "Earl Report summary generator"@en .
91
91
 
92
- <https://github.com/gkellogg/earl-report/tree/0.4.2> a doap:Version;
93
- doap:created "2016-06-30"^^xsd:date;
94
- doap:name "earl-report-0.4.2";
95
- doap:revision "0.4.2" .
92
+ <https://github.com/gkellogg/earl-report/tree/0.4.3> a doap:Version;
93
+ doap:created "2016-12-26"^^xsd:date;
94
+ doap:name "earl-report-0.4.3";
95
+ doap:revision "0.4.3" .
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.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregg Kellogg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-30 00:00:00.000000000 Z
11
+ date: 2016-12-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: linkeddata
@@ -52,6 +52,26 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: json-ld
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.1'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 2.1.1
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '2.1'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 2.1.1
55
75
  - !ruby/object:Gem::Dependency
56
76
  name: redcarpet
57
77
  requirement: !ruby/object:Gem::Requirement
@@ -196,7 +216,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
216
  version: '0'
197
217
  requirements: []
198
218
  rubyforge_project:
199
- rubygems_version: 2.5.1
219
+ rubygems_version: 2.6.8
200
220
  signing_key:
201
221
  specification_version: 4
202
222
  summary: Earl Report summary generator
@@ -214,4 +234,3 @@ test_files:
214
234
  - spec/test-files/results.ttl
215
235
  - spec/test-files/test-00.out
216
236
  - spec/test-files/test-00.ttl
217
- has_rdoc: false