diff options
Diffstat (limited to 'test/pretty')
25 files changed, 439 insertions, 0 deletions
diff --git a/test/pretty/README.md b/test/pretty/README.md new file mode 100644 index 00000000..361d9491 --- /dev/null +++ b/test/pretty/README.md @@ -0,0 +1,5 @@ +Pretty Test Suite +================= + +This suite contains single-file tests that can be read and rewritten in the +same syntax, exactly reproducing the input byte-for-byte. diff --git a/test/pretty/abbreviation.ttl b/test/pretty/abbreviation.ttl new file mode 100644 index 00000000..bf46f6d5 --- /dev/null +++ b/test/pretty/abbreviation.ttl @@ -0,0 +1,57 @@ +@prefix eg: <http://example.org/> . + +eg:s1 + eg:b eg:c , + eg:d , + eg:e ; + eg:f eg:g , + eg:h ; + eg:i eg:j ; + eg:k eg:l . + +eg:s2 + a eg:Thing ; + eg:p1 eg:o1 , + [ + a eg:SubThing ; + eg:p2 eg:o2 + ] , [ + a eg:OtherSubThing ; + eg:p3 eg:o3 + ] ; + eg:p4 eg:o4 . + +eg:s3 + eg:resource eg:Blank . + +eg:s4 + eg:anon [] . + +eg:s5 + eg:blank [ + eg:nestedEmptyBlank [] ; + eg:nestedNonEmptyBlanks [ + eg:value 1 + ] , [ + eg:value 2 + ] + ] ; + eg:listOfNumbers ( + 3 + 4 + ) . + +eg:s6 + eg:listOfNumbers ( + 5 + 6 + ) . + +eg:s7 + eg:listOfResources ( + [ + eg:value 7 + ] [ + eg:value 8 + ] + ) . diff --git a/test/pretty/anonymous-in-list-object.ttl b/test/pretty/anonymous-in-list-object.ttl new file mode 100644 index 00000000..4f135e29 --- /dev/null +++ b/test/pretty/anonymous-in-list-object.ttl @@ -0,0 +1,10 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p ( + [ + a eg:Spy + ] [ + a eg:Ninja + ] + ) . diff --git a/test/pretty/anonymous-object.ttl b/test/pretty/anonymous-object.ttl new file mode 100644 index 00000000..f592fed1 --- /dev/null +++ b/test/pretty/anonymous-object.ttl @@ -0,0 +1,10 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p1 [ + eg:p2 eg:o2 ; + eg:p3 eg:o3 + ] , [ + eg:p4 eg:o4 ; + eg:p5 eg:o5 + ] . diff --git a/test/pretty/anonymous-subject-and-object.ttl b/test/pretty/anonymous-subject-and-object.ttl new file mode 100644 index 00000000..8904cca6 --- /dev/null +++ b/test/pretty/anonymous-subject-and-object.ttl @@ -0,0 +1,4 @@ +@prefix eg: <http://example.org/> . + +[] + eg:p [] . diff --git a/test/pretty/anonymous-subject.ttl b/test/pretty/anonymous-subject.ttl new file mode 100644 index 00000000..e0e467e2 --- /dev/null +++ b/test/pretty/anonymous-subject.ttl @@ -0,0 +1,4 @@ +@prefix eg: <http://example.org/> . + +[] + eg:p eg:o . diff --git a/test/pretty/datatypes.ttl b/test/pretty/datatypes.ttl new file mode 100644 index 00000000..721dfe4d --- /dev/null +++ b/test/pretty/datatypes.ttl @@ -0,0 +1,15 @@ +@prefix eg: <http://example.org/> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +eg:s + eg:p -1.2 , + "-3."^^xsd:decimal , + -4 , + 0 , + 1 , + 2.3 , + "4."^^xsd:decimal , + false , + true , + "x"^^eg:datatype , + "y"^^<http://пример.испытание> . diff --git a/test/pretty/empty-anonymous-object.ttl b/test/pretty/empty-anonymous-object.ttl new file mode 100644 index 00000000..f3b8d7f7 --- /dev/null +++ b/test/pretty/empty-anonymous-object.ttl @@ -0,0 +1,4 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p [] . diff --git a/test/pretty/empty-list-object.ttl b/test/pretty/empty-list-object.ttl new file mode 100644 index 00000000..b4045ec0 --- /dev/null +++ b/test/pretty/empty-list-object.ttl @@ -0,0 +1,4 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:list () . diff --git a/test/pretty/empty-list-subject-and-object.ttl b/test/pretty/empty-list-subject-and-object.ttl new file mode 100644 index 00000000..3b84980e --- /dev/null +++ b/test/pretty/empty-list-subject-and-object.ttl @@ -0,0 +1,4 @@ +@prefix eg: <http://example.org/> . + +() + eg:list () . diff --git a/test/pretty/empty-list-subject.ttl b/test/pretty/empty-list-subject.ttl new file mode 100644 index 00000000..0610eb07 --- /dev/null +++ b/test/pretty/empty-list-subject.ttl @@ -0,0 +1,4 @@ +@prefix eg: <http://example.org/> . + +() + a eg:ExampleList . diff --git a/test/pretty/ext-named-blank.ttl b/test/pretty/ext-named-blank.ttl new file mode 100644 index 00000000..807d6313 --- /dev/null +++ b/test/pretty/ext-named-blank.ttl @@ -0,0 +1,11 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p1 [ + == <http://example.com/vocab#SomeClass> ; + eg:name "object" + ] ; + eg:p2 [ + == eg:o ; + eg:name "o" + ] . diff --git a/test/pretty/graph-abbreviation.trig b/test/pretty/graph-abbreviation.trig new file mode 100644 index 00000000..8ec75f6e --- /dev/null +++ b/test/pretty/graph-abbreviation.trig @@ -0,0 +1,65 @@ +@prefix : <http://example.org/> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . + +:graph { + :a + :b :c , + :d , + :e ; + :f :g , + :h ; + :i :j ; + :k :l . + + :s + a :Thing ; + :p1 :o1 , + [ + a :SubThing ; + :p2 :o2 + ] , [ + a :OtherSubThing ; + :p3 :o3 + ] ; + :p4 :o4 . + + [] + :isA :Blank . + + [] + :sameAs [] . + + [] + :blank [ + :nestedEmptyBlank [] ; + :nestedNonEmptyBlanks [ + rdf:value 1 + ] , [ + rdf:value 2 + ] + ] ; + :lists ( + 3 + 4 + ) . + + [] + :lists ( + 5 + 6 + ) . + + [] + :lists ( + [ + rdf:value 7 + ] [ + rdf:value 8 + ] + ) . +} + +:separateGraph { + :m + a :OtherThing . +} diff --git a/test/pretty/langtags.ttl b/test/pretty/langtags.ttl new file mode 100644 index 00000000..29d7e2d4 --- /dev/null +++ b/test/pretty/langtags.ttl @@ -0,0 +1,5 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p "eh?"@en-ca , + "hä?"@de . diff --git a/test/pretty/list-in-object.ttl b/test/pretty/list-in-object.ttl new file mode 100644 index 00000000..ce887157 --- /dev/null +++ b/test/pretty/list-in-object.ttl @@ -0,0 +1,10 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p [ + eg:list ( + "apple" + "banana" + "cherry" + ) + ] . diff --git a/test/pretty/list-object.ttl b/test/pretty/list-object.ttl new file mode 100644 index 00000000..735d9df6 --- /dev/null +++ b/test/pretty/list-object.ttl @@ -0,0 +1,8 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:list ( + "apple" + "banana" + "cherry" + ) . diff --git a/test/pretty/local-name-escapes.ttl b/test/pretty/local-name-escapes.ttl new file mode 100644 index 00000000..91c3905d --- /dev/null +++ b/test/pretty/local-name-escapes.ttl @@ -0,0 +1,4 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p eg:local\'\!\#\$\%\&\(\)\*\+\,\/\;\=\?\@\~ . diff --git a/test/pretty/long-string-escapes.ttl b/test/pretty/long-string-escapes.ttl new file mode 100644 index 00000000..435e3d1a --- /dev/null +++ b/test/pretty/long-string-escapes.ttl @@ -0,0 +1,4 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p """\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b \u000B\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F"'\\\u007F""" . diff --git a/test/pretty/long-string-quotes.ttl b/test/pretty/long-string-quotes.ttl new file mode 100644 index 00000000..aceaecda --- /dev/null +++ b/test/pretty/long-string-quotes.ttl @@ -0,0 +1,5 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p1 """Unescaped "quotes" within""" ; + eg:p2 """Trickier ""\"case""\"""" . diff --git a/test/pretty/manifest.ttl b/test/pretty/manifest.ttl new file mode 100644 index 00000000..a78aa943 --- /dev/null +++ b/test/pretty/manifest.ttl @@ -0,0 +1,171 @@ +@prefix mf: <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix rdft: <http://www.w3.org/ns/rdftest#> . +@prefix serd: <http://drobilla.net/ns/serd#> . + +<> + a mf:Manifest ; + rdfs:comment "Serd pretty-printing test suite" ; + mf:entries ( + <#abbreviation> + <#anonymous-in-list-object> + <#anonymous-object> + <#anonymous-subject> + <#anonymous-subject-and-object> + <#datatypes> + <#empty-anonymous-object> + <#empty-list-object> + <#empty-list-subject> + <#empty-list-subject-and-object> + <#ext-named-blank> + <#graph-abbreviation> + <#langtags> + <#list-in-object> + <#list-object> + <#local-name-escapes> + <#long-string-escapes> + <#long-string-quotes> + <#many-objects> + <#named-graph> + <#nested-list-object> + <#short-string-escapes> + <#uri-escapes> + ) . + +<#abbreviation> + a rdft:TestTurtleEval ; + mf:action <abbreviation.ttl> ; + mf:name "abbreviation" ; + mf:result <abbreviation.ttl> . + +<#anonymous-in-list-object> + a rdft:TestTurtleEval ; + mf:action <anonymous-in-list-object.ttl> ; + mf:name "anonymous-in-list-object" ; + mf:result <anonymous-in-list-object.ttl> . + +<#anonymous-object> + a rdft:TestTurtleEval ; + mf:action <anonymous-object.ttl> ; + mf:name "anonymous-object" ; + mf:result <anonymous-object.ttl> . + +<#anonymous-subject> + a rdft:TestTurtleEval ; + mf:action <anonymous-subject.ttl> ; + mf:name "anonymous-subject" ; + mf:result <anonymous-subject.ttl> . + +<#anonymous-subject-and-object> + a rdft:TestTurtleEval ; + mf:action <anonymous-subject-and-object.ttl> ; + mf:name "anonymous-subject-and-object" ; + mf:result <anonymous-subject-and-object.ttl> . + +<#datatypes> + a rdft:TestTurtleEval ; + mf:action <datatypes.ttl> ; + mf:name "datatypes" ; + mf:result <datatypes.ttl> . + +<#empty-anonymous-object> + a rdft:TestTurtleEval ; + mf:action <empty-anonymous-object.ttl> ; + mf:name "empty-anonymous-object" ; + mf:result <empty-anonymous-object.ttl> . + +<#empty-list-object> + a rdft:TestTurtleEval ; + mf:action <empty-list-object.ttl> ; + mf:name "empty-list-object" ; + mf:result <empty-list-object.ttl> . + +<#empty-list-subject> + a rdft:TestTurtleEval ; + mf:action <empty-list-subject.ttl> ; + mf:name "empty-list-subject" ; + mf:result <empty-list-subject.ttl> . + +<#empty-list-subject-and-object> + a rdft:TestTurtleEval ; + mf:action <empty-list-subject-and-object.ttl> ; + mf:name "empty-list-subject-and-object" ; + mf:result <empty-list-subject-and-object.ttl> . + +<#ext-named-blank> + a rdft:TestTurtleEval ; + mf:action <ext-named-blank.ttl> ; + mf:name "ext-named-blank" ; + mf:result <ext-named-blank.ttl> . + +<#graph-abbreviation> + a rdft:TestTrigEval ; + mf:action <graph-abbreviation.trig> ; + mf:name "graph-abbreviation" ; + mf:result <graph-abbreviation.trig> . + +<#langtags> + a rdft:TestTurtleEval ; + mf:action <langtags.ttl> ; + mf:name "langtags" ; + mf:result <langtags.ttl> . + +<#list-in-object> + a rdft:TestTurtleEval ; + mf:action <list-in-object.ttl> ; + mf:name "list-in-object" ; + mf:result <list-in-object.ttl> . + +<#list-object> + a rdft:TestTurtleEval ; + mf:action <list-object.ttl> ; + mf:name "list-object" ; + mf:result <list-object.ttl> . + +<#local-name-escapes> + a rdft:TestTurtleEval ; + mf:action <local-name-escapes.ttl> ; + mf:name "local-name-escapes" ; + mf:result <local-name-escapes.ttl> . + +<#long-string-escapes> + a rdft:TestTurtleEval ; + mf:action <long-string-escapes.ttl> ; + mf:name "long-string-escapes" ; + mf:result <long-string-escapes.ttl> . + +<#long-string-quotes> + a rdft:TestTurtleEval ; + mf:action <long-string-quotes.ttl> ; + mf:name "long-string-quotes" ; + mf:result <long-string-quotes.ttl> . + +<#many-objects> + a rdft:TestTurtleEval ; + mf:action <many-objects.ttl> ; + mf:name "many-objects" ; + mf:result <many-objects.ttl> . + +<#named-graph> + a rdft:TestTrigEval ; + mf:action <named-graph.trig> ; + mf:name "named-graph" ; + mf:result <named-graph.trig> . + +<#nested-list-object> + a rdft:TestTurtleEval ; + mf:action <nested-list-object.ttl> ; + mf:name "nested-list-object" ; + mf:result <nested-list-object.ttl> . + +<#short-string-escapes> + a rdft:TestTurtleEval ; + mf:action <short-string-escapes.ttl> ; + mf:name "short-string-escapes" ; + mf:result <short-string-escapes.ttl> . + +<#uri-escapes> + a rdft:TestTurtleEval ; + mf:action <uri-escapes.ttl> ; + mf:name "uri-escapes" ; + mf:result <uri-escapes.ttl> . diff --git a/test/pretty/many-objects.ttl b/test/pretty/many-objects.ttl new file mode 100644 index 00000000..534741dd --- /dev/null +++ b/test/pretty/many-objects.ttl @@ -0,0 +1,9 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p1 "apple" , + "banana" , + "cherry" ; + eg:p2 "asparagus" , + "beet" , + "carrot" . diff --git a/test/pretty/named-graph.trig b/test/pretty/named-graph.trig new file mode 100644 index 00000000..5cd12f3b --- /dev/null +++ b/test/pretty/named-graph.trig @@ -0,0 +1,8 @@ +@prefix eg: <http://example.org/> . + +eg:g { + eg:s + eg:p [ + a eg:Object + ] . +} diff --git a/test/pretty/nested-list-object.ttl b/test/pretty/nested-list-object.ttl new file mode 100644 index 00000000..d2177ba3 --- /dev/null +++ b/test/pretty/nested-list-object.ttl @@ -0,0 +1,12 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:list ( + ( + eg:l1e1 + eg:l1e2 + ) ( + eg:l2e1 + eg:l2e2 + ) + ) . diff --git a/test/pretty/short-string-escapes.ttl b/test/pretty/short-string-escapes.ttl new file mode 100644 index 00000000..0665e814 --- /dev/null +++ b/test/pretty/short-string-escapes.ttl @@ -0,0 +1,4 @@ +@prefix eg: <http://example.org/> . + +eg:s + eg:p "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\u000B\f\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F\\\u007F" . diff --git a/test/pretty/uri-escapes.ttl b/test/pretty/uri-escapes.ttl new file mode 100644 index 00000000..09ced38a --- /dev/null +++ b/test/pretty/uri-escapes.ttl @@ -0,0 +1,2 @@ +<http://example.org/s> + <http://example.org/p> <http://example.org/\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000A\u000B\u000C\u000D\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F!\u0022#$%&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\u005C]\u005E_\u0060abcdefghijklmnopqrstuvwxyz\u007B\u007C\u007D~\u007F> . |