+ David Robillard's tests <http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21>
--- a/rdf-turtle/tests-ttl/manifest.ttl Tue Mar 26 11:05:54 2013 -0400
+++ b/rdf-turtle/tests-ttl/manifest.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -302,10 +302,28 @@
<#turtle-eval-bad-03>
<#turtle-eval-bad-04>
+ # tests from Dave Beckett
+ # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28
<#LITERAL_LONG2_with_REVERSE_SOLIDUS>
<#turtle-syntax-bad-LITERAL2_with_langtag_and_datatype>
<#two_LITERAL_LONG2s>
<#langtagged_LONG_with_subtag>
+
+ # tests from David Robillard
+ # http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21
+ <#turtle-syntax-bad-blank-label-dot-end>
+ <#turtle-syntax-bad-ln-dash-start>
+ <#turtle-syntax-bad-ln-escape-start>
+ <#turtle-syntax-bad-ln-escape>
+ <#turtle-syntax-bad-missing-ns-dot-end>
+ <#turtle-syntax-bad-missing-ns-dot-start>
+ <#turtle-syntax-bad-ns-dot-end>
+ <#turtle-syntax-bad-ns-dot-start>
+ <#turtle-syntax-bad-number-dot-in-anon>
+ <#turtle-syntax-blank-label>
+ <#turtle-syntax-ln-colons>
+ <#turtle-syntax-ln-dots>
+ <#turtle-syntax-ns-dots>
) .
# atomic tests
@@ -2062,7 +2080,8 @@
mf:action <turtle-eval-bad-04.ttl> ;
.
-# Dave Beckett's contributions <http://www.w3.org/alpine.DEB.2.02.1303231530340.12417@xyzzy.dajobe.org>
+# tests from Dave Beckett
+# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c28
<#LITERAL_LONG2_with_REVERSE_SOLIDUS> rdf:type rdft:TestTurtleEval ;
mf:name "LITERAL_LONG2_with_REVERSE_SOLIDUS" ;
rdfs:comment "REVERSE SOLIDUS at end of LITERAL_LONG2" ;
@@ -2090,3 +2109,82 @@
mf:result <langtagged_LONG_with_subtag.nt> ;
.
+# tests from David Robillard
+# http://www.w3.org/2011/rdf-wg/wiki/Turtle_Candidate_Recommendation_Comments#c21
+<#turtle-syntax-bad-blank-label-dot-end>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Blank node label must not end in dot" ;
+ mf:name "turtle-syntax-bad-blank-label-dot-end" ;
+ mf:action <turtle-syntax-bad-blank-label-dot-end.ttl> .
+
+<#turtle-syntax-bad-number-dot-in-anon>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Dot delimeter may not appear in anonymous nodes" ;
+ mf:name "turtle-syntax-bad-number-dot-in-anon" ;
+ mf:action <turtle-syntax-bad-number-dot-in-anon.ttl> .
+
+<#turtle-syntax-bad-ln-dash-start>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Local name must not begin with dash" ;
+ mf:name "turtle-syntax-bad-ln-dash-start" ;
+ mf:action <turtle-syntax-bad-ln-dash-start.ttl> .
+
+<#turtle-syntax-bad-ln-escape>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Bad hex escape in local name" ;
+ mf:name "turtle-syntax-bad-ln-escape" ;
+ mf:action <turtle-syntax-bad-ln-escape.ttl> .
+
+<#turtle-syntax-bad-ln-escape-start>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Bad hex escape at start of local name" ;
+ mf:name "turtle-syntax-bad-ln-escape-start" ;
+ mf:action <turtle-syntax-bad-ln-escape-start.ttl> .
+
+<#turtle-syntax-bad-ns-dot-end>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Prefix must not end in dot" ;
+ mf:name "turtle-syntax-bad-ns-dot-end" ;
+ mf:action <turtle-syntax-bad-ns-dot-end.ttl> .
+
+<#turtle-syntax-bad-ns-dot-start>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Prefix must not start with dot" ;
+ mf:name "turtle-syntax-bad-ns-dot-start" ;
+ mf:action <turtle-syntax-bad-ns-dot-start.ttl> .
+
+<#turtle-syntax-bad-missing-ns-dot-end>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Prefix must not end in dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)" ;
+ mf:name "turtle-syntax-bad-missing-ns-dot-end" ;
+ mf:action <turtle-syntax-bad-missing-ns-dot-end.ttl> .
+
+<#turtle-syntax-bad-missing-ns-dot-start>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ rdfs:comment "Prefix must not start with dot (error in triple, not prefix directive like turtle-syntax-bad-ns-dot-end)" ;
+ mf:name "turtle-syntax-bad-missing-ns-dot-start" ;
+ mf:action <turtle-syntax-bad-missing-ns-dot-start.ttl> .
+
+<#turtle-syntax-ln-dots>
+ rdf:type rdft:TestTurtlePositiveSyntax ;
+ rdfs:comment "Dots in pname local names" ;
+ mf:name "turtle-syntax-ln-dots" ;
+ mf:action <turtle-syntax-ln-dots.ttl> .
+
+<#turtle-syntax-ln-colons>
+ rdf:type rdft:TestTurtlePositiveSyntax ;
+ rdfs:comment "Colons in pname local names" ;
+ mf:name "turtle-syntax-ln-colons" ;
+ mf:action <turtle-syntax-ln-colons.ttl> .
+
+<#turtle-syntax-ns-dots>
+ rdf:type rdft:TestTurtlePositiveSyntax ;
+ rdfs:comment "Dots in namespace names" ;
+ mf:name "turtle-syntax-ns-dots" ;
+ mf:action <turtle-syntax-ns-dots.ttl> .
+
+<#turtle-syntax-blank-label>
+ rdf:type rdft:TestTurtlePositiveSyntax ;
+ rdfs:comment "Characters allowed in blank node labels" ;
+ mf:name "turtle-syntax-blank-label" ;
+ mf:action <turtle-syntax-blank-label.ttl> .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-bad-blank-label-dot-end.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+_:b1. :p :o .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-bad-ln-dash-start.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+:s :p :-o .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-bad-ln-escape-start.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+:s :p :%2o .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-bad-ln-escape.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,2 @@
+@prefix : <http://example/> .
+:s :p :o%2 .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-bad-missing-ns-dot-end.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,1 @@
+valid:s valid:p invalid.:o .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-bad-missing-ns-dot-start.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,1 @@
+.undefined:s .undefined:p .undefined:o .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-bad-ns-dot-end.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,2 @@
+@prefix eg. : <http://example/> .
+eg.:s eg.:p eg.:o .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-bad-ns-dot-start.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,2 @@
+@prefix .eg : <http://example/> .
+.eg:s .eg:p .eg:o .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-bad-number-dot-in-anon.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,6 @@
+@prefix : <http://example/> .
+
+:s
+ :p [
+ :p1 27.
+ ] .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-blank-label.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,4 @@
+@prefix : <http://example/> .
+_:0b :p :o . # Starts with digit
+_:_b :p :o . # Starts with underscore
+_:b.0 :p :o . # Contains dot, ends with digit
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-ln-colons.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,6 @@
+@prefix : <http://example/> .
+:s:1 :p:1 :o:1 .
+:s::2 :p::2 :o::2 .
+:3:s :3:p :3 .
+::s ::p ::o .
+::s: ::p: ::o: .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-ln-dots.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,4 @@
+@prefix : <http://example/> .
+:s.1 :p.1 :o.1 .
+:s..2 :p..2 :o..2.
+:3.s :3.p :3.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rdf-turtle/tests-ttl/turtle-syntax-ns-dots.ttl Tue Mar 26 11:09:40 2013 -0400
@@ -0,0 +1,2 @@
+@prefix e.g: <http://example/> .
+e.g:s e.g:p e.g:o .