aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lax
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-11-25 16:12:23 +0100
committerDavid Robillard <d@drobilla.net>2019-10-27 22:40:23 +0100
commitbbe5313c31386366175222cde3055b63848ebb4c (patch)
treeb5d92f8d7e0b889aadd3528c7e94a99e0a7faa89 /tests/lax
parent433f17a017c3471afe6b09cb74929d0ce76822c4 (diff)
downloadserd-bbe5313c31386366175222cde3055b63848ebb4c.tar.gz
serd-bbe5313c31386366175222cde3055b63848ebb4c.tar.bz2
serd-bbe5313c31386366175222cde3055b63848ebb4c.zip
Fix lax handling of string errors and add separate lax test suite
Diffstat (limited to 'tests/lax')
-rw-r--r--tests/lax/manifest.ttl25
-rw-r--r--tests/lax/test-bad-uri.nt3
-rw-r--r--tests/lax/test-bad-uri.ttl4
-rw-r--r--tests/lax/test-bad-utf8.nt6
-rw-r--r--tests/lax/test-bad-utf8.ttl6
5 files changed, 44 insertions, 0 deletions
diff --git a/tests/lax/manifest.ttl b/tests/lax/manifest.ttl
new file mode 100644
index 00000000..e3b11ff4
--- /dev/null
+++ b/tests/lax/manifest.ttl
@@ -0,0 +1,25 @@
+@prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix rdft: <http://www.w3.org/ns/rdftest#> .
+
+<>
+ rdf:type mf:Manifest ;
+ rdfs:comment "Serd lax syntax test cases" ;
+ mf:entries (
+ <#test-bad-uri>
+ <#test-bad-utf8>
+ ) .
+
+<#test-bad-uri>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ mf:name "test-bad-uri" ;
+ mf:action <test-bad-uri.ttl> ;
+ mf:result <test-bad-uri.nt> .
+
+<#test-bad-utf8>
+ rdf:type rdft:TestTurtleNegativeSyntax ;
+ mf:name "test-bad-utf8" ;
+ mf:action <test-bad-utf8.ttl> ;
+ mf:result <test-bad-utf8.nt> .
+
diff --git a/tests/lax/test-bad-uri.nt b/tests/lax/test-bad-uri.nt
new file mode 100644
index 00000000..7458e12a
--- /dev/null
+++ b/tests/lax/test-bad-uri.nt
@@ -0,0 +1,3 @@
+<http://example.org/s> <http://example.org/p> <http://example.org/goodo1> .
+<http://example.org/s> <http://example.org/p> <http://example.org/\uFFFDbado2> .
+<http://example.org/s> <http://example.org/p> <http://example.org/goodo2> .
diff --git a/tests/lax/test-bad-uri.ttl b/tests/lax/test-bad-uri.ttl
new file mode 100644
index 00000000..8f11b1d7
--- /dev/null
+++ b/tests/lax/test-bad-uri.ttl
@@ -0,0 +1,4 @@
+<http://example.org/s> <http://example.org/p> <http://example.org/ bado1> .
+<http://example.org/s> <http://example.org/p> <http://example.org/goodo1> .
+<http://example.org/s> <http://example.org/p> <http://example.org/ÿÿbado2> .
+<http://example.org/s> <http://example.org/p> <http://example.org/goodo2> .
diff --git a/tests/lax/test-bad-utf8.nt b/tests/lax/test-bad-utf8.nt
new file mode 100644
index 00000000..09200e9d
--- /dev/null
+++ b/tests/lax/test-bad-utf8.nt
@@ -0,0 +1,6 @@
+<http://example.org/thing> <http://example.org/comment> "Impossible bytes: \uFFFD \uFFFD" .
+<http://example.org/thing> <http://example.org/comment> "2 continuation bytes: \uFFFD" .
+<http://example.org/thing> <http://example.org/comment> "Missing continuation: \uFFFD" .
+<http://example.org/thing> <http://example.org/comment> "Impossible bytes: \uFFFD \uFFFD" .
+<http://example.org/thing> <http://example.org/comment> "2 continuation bytes: \uFFFD" .
+<http://example.org/thing> <http://example.org/comment> "Missing continuation: \uFFFD" .
diff --git a/tests/lax/test-bad-utf8.ttl b/tests/lax/test-bad-utf8.ttl
new file mode 100644
index 00000000..526a171f
--- /dev/null
+++ b/tests/lax/test-bad-utf8.ttl
@@ -0,0 +1,6 @@
+<http://example.org/thing> <http://example.org/comment> "Impossible bytes: þ ÿ" .
+<http://example.org/thing> <http://example.org/comment> "2 continuation bytes: €¿" .
+<http://example.org/thing> <http://example.org/comment> "Missing continuation: À" .
+<http://example.org/thing> <http://example.org/comment> """Impossible bytes: þ ÿ""" .
+<http://example.org/thing> <http://example.org/comment> """2 continuation bytes: €¿""" .
+<http://example.org/thing> <http://example.org/comment> """Missing continuation: À""" .