earl-report 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
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