[tracker/wip/carlosg/property-path-fixes: 4/4] tests: Add some more tests around property paths
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/property-path-fixes: 4/4] tests: Add some more tests around property paths
- Date: Mon, 18 May 2020 19:36:52 +0000 (UTC)
commit 3663ccf7955373b5228492dc4b5866f2bf9dc6a1
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun May 17 15:35:27 2020 +0200
tests: Add some more tests around property paths
Test some (literal) edge cases in */+/?
tests/libtracker-data/property-paths/data-2.ttl | 21 +++++++++++++++++++++
.../mixed-optional-and-sequence-1.out | 2 ++
.../property-paths/mixed-optional-and-sequence-1.rq | 1 +
.../mixed-optional-and-sequence-2.out | 1 +
.../property-paths/mixed-optional-and-sequence-2.rq | 1 +
.../mixed-recursive-and-sequence-2.out | 4 ++++
.../mixed-recursive-and-sequence-2.rq | 1 +
.../mixed-recursive-and-sequence-3.out | 1 +
.../mixed-recursive-and-sequence-3.rq | 1 +
.../mixed-recursive-and-sequence-4.out | 3 +++
.../mixed-recursive-and-sequence-4.rq | 1 +
.../mixed-recursive-and-sequence-5.out | 0
.../mixed-recursive-and-sequence-5.rq | 1 +
tests/libtracker-data/property-paths/test.ontology | 17 +++++++++++++++++
tests/libtracker-data/tracker-sparql-test.c | 6 ++++++
15 files changed, 61 insertions(+)
---
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
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 },
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]