diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-05-17 15:35:27 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2020-05-18 21:35:34 +0200 |
commit | 3663ccf7955373b5228492dc4b5866f2bf9dc6a1 (patch) | |
tree | c61519038615532fefef7bfb1658b517be97005e /tests | |
parent | c631637827f374fe0644fce14b34bbbaac35ffa5 (diff) | |
download | tracker-3663ccf7955373b5228492dc4b5866f2bf9dc6a1.tar.gz |
tests: Add some more tests around property paths
Test some (literal) edge cases in */+/?
Diffstat (limited to 'tests')
15 files changed, 61 insertions, 0 deletions
diff --git a/tests/libtracker-data/property-paths/data-2.ttl b/tests/libtracker-data/property-paths/data-2.ttl new file mode 100644 index 000000000..15bafa93a --- /dev/null +++ b/tests/libtracker-data/property-paths/data-2.ttl @@ -0,0 +1,21 @@ +@prefix foaf: <http://xmlns.com/foaf/0.1/> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix ex: <http://example.com/#> . + +_:d rdf:type ex:InformationElement ; + ex:isStoredAs <file:///a/b/c/d> . +_:c rdf:type ex:InformationElement ; + ex:isStoredAs <file:///a/b/c> . +_:b rdf:type ex:InformationElement ; + ex:isStoredAs <file:///a/b> . +_:a rdf:type ex:InformationElement ; + ex:isStoredAs <file:///a> . + +<file:///a/b/c/d> rdf:type ex:DataObject ; + ex:belongsToContainer _:c . +<file:///a/b/c> rdf:type ex:DataObject ; + ex:belongsToContainer _:b . +<file:///a/b> rdf:type ex:DataObject ; + ex:belongsToContainer _:a . +<file:///a> rdf:type ex:DataObject . diff --git a/tests/libtracker-data/property-paths/mixed-optional-and-sequence-1.out b/tests/libtracker-data/property-paths/mixed-optional-and-sequence-1.out new file mode 100644 index 000000000..772f7c8d3 --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-optional-and-sequence-1.out @@ -0,0 +1,2 @@ +"file:///a/b/c/d" +"file:///a/b/c" diff --git a/tests/libtracker-data/property-paths/mixed-optional-and-sequence-1.rq b/tests/libtracker-data/property-paths/mixed-optional-and-sequence-1.rq new file mode 100644 index 000000000..2f348958b --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-optional-and-sequence-1.rq @@ -0,0 +1 @@ +select ?u { <file:///a/b/c/d> (ex:belongsToContainer/ex:isStoredAs)? ?u } order by desc str(?u) diff --git a/tests/libtracker-data/property-paths/mixed-optional-and-sequence-2.out b/tests/libtracker-data/property-paths/mixed-optional-and-sequence-2.out new file mode 100644 index 000000000..ac07aa7ac --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-optional-and-sequence-2.out @@ -0,0 +1 @@ +"file:///a" diff --git a/tests/libtracker-data/property-paths/mixed-optional-and-sequence-2.rq b/tests/libtracker-data/property-paths/mixed-optional-and-sequence-2.rq new file mode 100644 index 000000000..0b3cf1142 --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-optional-and-sequence-2.rq @@ -0,0 +1 @@ +select ?u { <file:///a> (ex:belongsToContainer/ex:isStoredAs)? ?u } order by desc str(?u) diff --git a/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-2.out b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-2.out new file mode 100644 index 000000000..6161c70c4 --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-2.out @@ -0,0 +1,4 @@ +"file:///a/b/c/d" +"file:///a/b/c" +"file:///a/b" +"file:///a" diff --git a/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-2.rq b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-2.rq new file mode 100644 index 000000000..befe48c02 --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-2.rq @@ -0,0 +1 @@ +select ?u { <file:///a/b/c/d> (ex:belongsToContainer/ex:isStoredAs)* ?u } order by desc str(?u) diff --git a/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-3.out b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-3.out new file mode 100644 index 000000000..ac07aa7ac --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-3.out @@ -0,0 +1 @@ +"file:///a" diff --git a/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-3.rq b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-3.rq new file mode 100644 index 000000000..82770626b --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-3.rq @@ -0,0 +1 @@ +select ?u { <file:///a> (ex:belongsToContainer/ex:isStoredAs)* ?u } order by STR(?u) diff --git a/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-4.out b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-4.out new file mode 100644 index 000000000..69f7287b8 --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-4.out @@ -0,0 +1,3 @@ +"file:///a/b/c" +"file:///a/b" +"file:///a" diff --git a/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-4.rq b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-4.rq new file mode 100644 index 000000000..e709761e4 --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-4.rq @@ -0,0 +1 @@ +select ?u { <file:///a/b/c/d> (ex:belongsToContainer/ex:isStoredAs)+ ?u } order by desc str(?u) diff --git a/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-5.out b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-5.out new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-5.out diff --git a/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-5.rq b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-5.rq new file mode 100644 index 000000000..f10a3ac5b --- /dev/null +++ b/tests/libtracker-data/property-paths/mixed-recursive-and-sequence-5.rq @@ -0,0 +1 @@ +select ?u { <file:///a> (ex:belongsToContainer/ex:isStoredAs)+ ?u } order by desc str(?u) diff --git a/tests/libtracker-data/property-paths/test.ontology b/tests/libtracker-data/property-paths/test.ontology index 000185060..3d3ebdb08 100644 --- a/tests/libtracker-data/property-paths/test.ontology +++ b/tests/libtracker-data/property-paths/test.ontology @@ -3,6 +3,7 @@ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix tracker: <http://tracker.api.gnome.org/ontology/v3/tracker#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix ex: <http://example.com/#> . foaf: a tracker:Namespace ; tracker:prefix "foaf" . @@ -32,3 +33,19 @@ foaf:member a rdf:Property ; rdfs:domain foaf:Person ; rdfs:range foaf:Group . +ex: a tracker:Namespace ; + tracker:prefix "ex" . + +ex:DataObject a rdfs:Class ; + rdfs:subClassOf rdfs:Resource . + +ex:InformationElement a rdfs:Class ; + rdfs:subClassOf rdfs:Resource . + +ex:belongsToContainer a rdf:Property ; + rdfs:domain ex:DataObject ; + rdfs:range ex:InformationElement . + +ex:isStoredAs a rdf:Property ; + rdfs:domain ex:InformationElement ; + rdfs:range ex:DataObject . diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c index a378e9e94..331048ad2 100644 --- a/tests/libtracker-data/tracker-sparql-test.c +++ b/tests/libtracker-data/tracker-sparql-test.c @@ -233,11 +233,17 @@ const TestInfo tests[] = { { "property-paths/mixed-inverse-and-sequence-2", "property-paths/data", FALSE }, { "property-paths/mixed-inverse-and-sequence-3", "property-paths/data", FALSE }, { "property-paths/mixed-recursive-and-sequence-1", "property-paths/data", FALSE }, + { "property-paths/mixed-recursive-and-sequence-2", "property-paths/data-2", FALSE }, + { "property-paths/mixed-recursive-and-sequence-3", "property-paths/data-2", FALSE }, + { "property-paths/mixed-recursive-and-sequence-4", "property-paths/data-2", FALSE }, + { "property-paths/mixed-recursive-and-sequence-5", "property-paths/data-2", FALSE }, { "property-paths/mixed-recursive-and-alternative-1", "property-paths/data", FALSE }, { "property-paths/mixed-recursive-and-alternative-2", "property-paths/data", FALSE }, { "property-paths/mixed-recursive-and-inverse-1", "property-paths/data", FALSE }, { "property-paths/mixed-recursive-and-inverse-2", "property-paths/data", FALSE }, { "property-paths/mixed-recursive-and-inverse-3", "property-paths/data", FALSE }, + { "property-paths/mixed-optional-and-sequence-1", "property-paths/data-2", FALSE }, + { "property-paths/mixed-optional-and-sequence-2", "property-paths/data-2", FALSE }, /* Update tests */ { "update/insert-data-query-1", "update/insert-data-1", FALSE, FALSE }, { "update/insert-data-query-2", "update/insert-data-2", FALSE, TRUE }, |