diff options
author | David Robillard <d@drobilla.net> | 2024-02-09 11:01:37 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2024-03-08 17:20:00 -0500 |
commit | fb30a102ee544acf21d387fc99a31111262b6209 (patch) | |
tree | f73b5524bd2471a0079f81cf8244aae6efae4db9 | |
parent | 66adb6e1cea6e1231723a41c60f0b9e650e20448 (diff) | |
download | serd-fb30a102ee544acf21d387fc99a31111262b6209.tar.gz serd-fb30a102ee544acf21d387fc99a31111262b6209.tar.bz2 serd-fb30a102ee544acf21d387fc99a31111262b6209.zip |
Add tests with as many rules as possible in a single document
-rw-r--r-- | test/extra/bad/bad-list-close-object.ttl | 1 | ||||
-rw-r--r-- | test/extra/bad/manifest.ttl | 6 | ||||
-rw-r--r-- | test/extra/good/manifest.ttl | 12 | ||||
-rw-r--r-- | test/extra/good/test-nq-syntax-all-rules.nq | 7 | ||||
-rw-r--r-- | test/extra/good/test-nt-syntax-all-rules.nt | 7 | ||||
-rw-r--r-- | test/extra/good/test-trig-syntax-all-rules.trig | 56 | ||||
-rw-r--r-- | test/extra/good/test-ttl-syntax-all-rules.ttl | 26 |
7 files changed, 115 insertions, 0 deletions
diff --git a/test/extra/bad/bad-list-close-object.ttl b/test/extra/bad/bad-list-close-object.ttl new file mode 100644 index 00000000..4d65beb9 --- /dev/null +++ b/test/extra/bad/bad-list-close-object.ttl @@ -0,0 +1 @@ +<http://example.org/s> <http://example.org/p> ) . diff --git a/test/extra/bad/manifest.ttl b/test/extra/bad/manifest.ttl index b2094258..2c985e65 100644 --- a/test/extra/bad/manifest.ttl +++ b/test/extra/bad/manifest.ttl @@ -96,6 +96,7 @@ <#bad-keywords> <#bad-lang> <#bad-list> + <#bad-list-close-object> <#bad-list2> <#bad-long-literal-in-list> <#bad-long-literal-missing-end> @@ -576,6 +577,11 @@ mf:action <bad-list.ttl> ; mf:name "bad-list" . +<#bad-list-close-object> + a rdft:TestTurtleNegativeSyntax ; + mf:action <bad-list-close-object.ttl> ; + mf:name "bad-list-close-object" . + <#bad-list2> a rdft:TestTurtleNegativeSyntax ; mf:action <bad-list2.ttl> ; diff --git a/test/extra/good/manifest.ttl b/test/extra/good/manifest.ttl index efef7f54..befe9451 100644 --- a/test/extra/good/manifest.ttl +++ b/test/extra/good/manifest.ttl @@ -31,12 +31,14 @@ <#test-long-utf8> <#test-no-spaces> <#test-non-curie-uri> + <#test-nq-syntax-all-rules> <#test-nq-syntax-dot-end> <#test-nq-syntax-eof-after-blank-dot> <#test-nq-syntax-eol-cr> <#test-nq-syntax-eol-crlf> <#test-nq-syntax-eol-lf> <#test-nq-syntax-eol-lfcr> + <#test-nt-syntax-all-rules> <#test-nt-syntax-blank-dot> <#test-nt-syntax-dot-end> <#test-nt-syntax-eof-after-blank-dot> @@ -209,6 +211,11 @@ mf:action <test-nq-syntax-eof-after-blank-dot.nq> ; mf:name "test-nq-syntax-eof-after-blank-dot" . +<#test-nq-syntax-all-rules> + a rdft:TestNQuadsPositiveSyntax ; + mf:action <test-nq-syntax-all-rules.nq> ; + mf:name "test-nq-syntax-all-rules" . + <#test-nq-syntax-dot-end> a rdft:TestNQuadsPositiveSyntax ; mf:action <test-nq-syntax-dot-end.nq> ; @@ -234,6 +241,11 @@ mf:action <test-nq-syntax-eol-lfcr.nq> ; mf:name "test-nq-syntax-eol-lfcr" . +<#test-nt-syntax-all-rules> + a rdft:TestNTriplesPositiveSyntax ; + mf:action <test-nt-syntax-all-rules.nt> ; + mf:name "test-nt-syntax-all-rules" . + <#test-nt-syntax-blank-dot> a rdft:TestNTriplesPositiveSyntax ; mf:action <test-nt-syntax-blank-dot.nt> ; diff --git a/test/extra/good/test-nq-syntax-all-rules.nq b/test/extra/good/test-nq-syntax-all-rules.nq new file mode 100644 index 00000000..a8b80b9a --- /dev/null +++ b/test/extra/good/test-nq-syntax-all-rules.nq @@ -0,0 +1,7 @@ +# Cover as many grammar rules/situations as possible in a small document +_:e.u.s <http://example.org/p> _:o. +_:e.u.s <http://example.org/p> "o"@en-gb _:g. + _:s <http://example.org/p> "ob\t\b\n\r\f\\\"\'\u0025\U00015678ject" <http://example.org/g> . +_:s <http://example.org/p> "߿ࠀက쿿퀀�𐀀" <http://example.org/g> . +_:s <http://example.org/p> "o"^^<http://example.org/T> <http://example.org/g> . +_:s <http://example.org/p> "o"@en _:g . diff --git a/test/extra/good/test-nt-syntax-all-rules.nt b/test/extra/good/test-nt-syntax-all-rules.nt new file mode 100644 index 00000000..ed84f410 --- /dev/null +++ b/test/extra/good/test-nt-syntax-all-rules.nt @@ -0,0 +1,7 @@ +# Cover as many grammar rules/situations as possible in a small document +_:s <http://example.org/p> "ob\t\b\n\r\f\\\"\'\u0025\U00015678ject" . +_:s <http://example.org/p> "߿ࠀက쿿퀀�𐀀" . + _:s <http://example.org/p> "o"^^<http://example.org/T> . +_:s <http://example.org/p> "o"@en . +_:e.u.s <http://example.org/p> "o"@en-gb . +_:e.u.s <http://example.org/p> _:o. diff --git a/test/extra/good/test-trig-syntax-all-rules.trig b/test/extra/good/test-trig-syntax-all-rules.trig new file mode 100644 index 00000000..97557b86 --- /dev/null +++ b/test/extra/good/test-trig-syntax-all-rules.trig @@ -0,0 +1,56 @@ +# Cover as many grammar rules/situations as possible in a small document + +@base <> . +@prefix eg: <http://example.org> . +<example:s> <example:p> "ob\t\b\n\r\f\\\"\'\u0025\U00015678ject" . + <example:s> <example:p> """long + ""string""\t\b\n\r\f\'\u0025\U00015678""" . +eg:s eg:p "߿ࠀက쿿퀀�𐀀" . + eg:sub%25ject eg:pr\~d "o"^^eg:T . +eg:sub%25ject eg:pr\~d "o"@en . +_:e.u.s eg:p "o"@en-gb . +_:e.u.s eg:p _:o. +_:e.u.s eg:p‿r⁀d 2. +_:e.u.s eg:prèd 3 . +_:e.u.s eg:pͯ 4.5. +eg:s eg:p 0 , .1 , 2.3 , 4E5, 6e07 . +eg:s eg:p .7e8 , .9E0 , 1.e2 , 3.E4 . +eg:s eg:p .2E3 , .4e5 , 6.7E8 , 9. + [ ] eg:p 0.e1, 2.E3. +[] eg:p (1 -2.3 4e5 +6.E-7 8.e+9 .1 -.2 +.3) . +eg:s eg:p [] . +[ + eg:p1 eg:o1 ; + eg:p2 _:o2 ; + eg:p3 "o3" ; + + ] a eg:S . + +GRAPH eg:g1 { + [ + eg:p1 eg:o1 ; + eg:p2 _:o2 ; + eg:p3 "o3" + ] a eg:S . +} + +GRAPH [ ] { + [ + eg:p1 eg:o1 ; + ] a eg:Anonymous , eg:Subject . +} + +_:g2 { + eg:s2 + eg:p4 [ + eg:op1 "oo1" + ] , + "o4" , + eg:o5 , + _:o.6. +} + +eg:g3 { + _:s3 eg:p5 ( _:o7 "o8" eg:o9 ) . + _:s4 eg:p6 () , [] . +} diff --git a/test/extra/good/test-ttl-syntax-all-rules.ttl b/test/extra/good/test-ttl-syntax-all-rules.ttl new file mode 100644 index 00000000..ead2e8a8 --- /dev/null +++ b/test/extra/good/test-ttl-syntax-all-rules.ttl @@ -0,0 +1,26 @@ +# Cover as many grammar rules/situations as possible in a small document +@base <> . +@prefix eg: <http://example.org> . +<example:s> <example:p> "ob\t\b\n\r\f\\\"\'\u0025\U00015678ject" . + <example:s> <example:p> """long + ""string""\t\b\n\r\f\'\u0025\U00015678""" . +eg:s eg:p "߿ࠀက쿿퀀�𐀀" . + eg:sub%25ject eg:pr\~d "o"^^eg:T . +eg:sub%25ject eg:pr\~d "o"@en . +_:e.u.s eg:p "o"@en-gb . +_:e.u.s eg:p _:o. +_:e.u.s eg:p‿r⁀d 2. +_:e.u.s eg:prèd 3 . +_:e.u.s eg:pͯ 4.5. +eg:s eg:p 0 , .1 , 2.3 , 4E5, 6e07 . +eg:s eg:p .7e8 , .9E0 , 1.e2 , 3.E4 . +eg:s eg:p .2E3 , .4e5 , 6.7E8 , 9. + [ ] eg:p 0.e1, 2.E3. +[] eg:p (1 -2.3 4e5 +6.E-7 8.e+9 .1 -.2 +.3) . +eg:s eg:p [] . +[ + eg:p1 eg:o1 ; + eg:p2 _:o2 ; + eg:p3 "o3" ; + + ] a eg:S . |