[tracker/wip/carlosg/sparql1.1: 186/201] tests: Add rdf:List tests
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/sparql1.1: 186/201] tests: Add rdf:List tests
- Date: Mon, 9 Sep 2019 22:34:27 +0000 (UTC)
commit 87113e9eab33066e73ed277e8720bc60e99982ce
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun Jul 21 01:31:38 2019 +0200
tests: Add rdf:List tests
tests/libtracker-data/lists/data-list-in-object.rq | 8 ++++++++
tests/libtracker-data/lists/data-list-in-select.rq | 8 ++++++++
tests/libtracker-data/lists/data-list-in-subject.rq | 6 ++++++
tests/libtracker-data/lists/data-list-nested.rq | 17 +++++++++++++++++
tests/libtracker-data/lists/list-in-object.out | 4 ++++
tests/libtracker-data/lists/list-in-object.rq | 2 ++
tests/libtracker-data/lists/list-in-select.out | 1 +
tests/libtracker-data/lists/list-in-select.rq | 4 ++++
tests/libtracker-data/lists/list-in-subject.out | 4 ++++
tests/libtracker-data/lists/list-in-subject.rq | 2 ++
tests/libtracker-data/lists/list-nested.out | 10 ++++++++++
tests/libtracker-data/lists/list-nested.rq | 1 +
tests/libtracker-data/lists/test.ontology | 19 +++++++++++++++++++
tests/libtracker-data/tracker-sparql-test.c | 4 ++++
14 files changed, 90 insertions(+)
---
diff --git a/tests/libtracker-data/lists/data-list-in-object.rq
b/tests/libtracker-data/lists/data-list-in-object.rq
new file mode 100644
index 000000000..c033f459e
--- /dev/null
+++ b/tests/libtracker-data/lists/data-list-in-object.rq
@@ -0,0 +1,8 @@
+INSERT {
+ <a> a example:A ;
+ example:label "root" ;
+ example:list ( [ a example:A ; example:label "elem1" ]
+ [ a example:A ; example:label "elem2" ]
+ [ a example:A ; example:label "elem3" ]
+ [ a example:A ; example:label "elem4" ] ) .
+}
diff --git a/tests/libtracker-data/lists/data-list-in-select.rq
b/tests/libtracker-data/lists/data-list-in-select.rq
new file mode 100644
index 000000000..c033f459e
--- /dev/null
+++ b/tests/libtracker-data/lists/data-list-in-select.rq
@@ -0,0 +1,8 @@
+INSERT {
+ <a> a example:A ;
+ example:label "root" ;
+ example:list ( [ a example:A ; example:label "elem1" ]
+ [ a example:A ; example:label "elem2" ]
+ [ a example:A ; example:label "elem3" ]
+ [ a example:A ; example:label "elem4" ] ) .
+}
diff --git a/tests/libtracker-data/lists/data-list-in-subject.rq
b/tests/libtracker-data/lists/data-list-in-subject.rq
new file mode 100644
index 000000000..acb407f93
--- /dev/null
+++ b/tests/libtracker-data/lists/data-list-in-subject.rq
@@ -0,0 +1,6 @@
+INSERT {
+ ([ a example:A ; example:label "elem1" ]
+ [ a example:A ; example:label "elem2" ]
+ [ a example:A ; example:label "elem3" ]
+ [ a example:A ; example:label "elem4" ] ) a example:A ; example:label 'root' .
+}
\ No newline at end of file
diff --git a/tests/libtracker-data/lists/data-list-nested.rq b/tests/libtracker-data/lists/data-list-nested.rq
new file mode 100644
index 000000000..3528c527a
--- /dev/null
+++ b/tests/libtracker-data/lists/data-list-nested.rq
@@ -0,0 +1,17 @@
+INSERT {
+ ([ a example:A ; example:label "elem1" ;
+ example:list ([ a example:A ; example:label "elem1-1" ]) ]
+ [ a example:A ; example:label "elem2" ;
+ example:list ([ a example:A ; example:label "elem2-1" ]
+ [ a example:A ; example:label "elem2-2" ]) ]
+ [ a example:A ; example:label "elem3" ;
+ example:list ([ a example:A ; example:label "elem3-1" ]
+ [ a example:A ; example:label "elem3-2" ]
+ [ a example:A ; example:label "elem3-3" ]) ]
+ [ a example:A ; example:label "elem4" ;
+ example:list ([ a example:A ; example:label "elem4-1" ]
+ [ a example:A ; example:label "elem4-2" ]
+ [ a example:A ; example:label "elem4-3" ]
+ [ a example:A ; example:label "elem4-4" ]) ]
+ ) a example:A ; example:label 'root' .
+}
diff --git a/tests/libtracker-data/lists/list-in-object.out b/tests/libtracker-data/lists/list-in-object.out
new file mode 100644
index 000000000..a5887b21c
--- /dev/null
+++ b/tests/libtracker-data/lists/list-in-object.out
@@ -0,0 +1,4 @@
+"elem1"
+"elem2"
+"elem3"
+"elem4"
diff --git a/tests/libtracker-data/lists/list-in-object.rq b/tests/libtracker-data/lists/list-in-object.rq
new file mode 100644
index 000000000..6c840fcf5
--- /dev/null
+++ b/tests/libtracker-data/lists/list-in-object.rq
@@ -0,0 +1,2 @@
+SELECT example:label(?e) { ?u example:label 'root' ; example:list ?l .
+ ?l rdf:rest*/rdf:first ?e }
diff --git a/tests/libtracker-data/lists/list-in-select.out b/tests/libtracker-data/lists/list-in-select.out
new file mode 100644
index 000000000..f7a095b0a
--- /dev/null
+++ b/tests/libtracker-data/lists/list-in-select.out
@@ -0,0 +1 @@
+"root"
diff --git a/tests/libtracker-data/lists/list-in-select.rq b/tests/libtracker-data/lists/list-in-select.rq
new file mode 100644
index 000000000..503952d17
--- /dev/null
+++ b/tests/libtracker-data/lists/list-in-select.rq
@@ -0,0 +1,4 @@
+SELECT example:label(?u) { ?u example:list ( [ example:label 'elem1' ]
+ [ example:label 'elem2' ]
+ [ example:label 'elem3' ]
+ [ example:label 'elem4' ] ) }
diff --git a/tests/libtracker-data/lists/list-in-subject.out b/tests/libtracker-data/lists/list-in-subject.out
new file mode 100644
index 000000000..a5887b21c
--- /dev/null
+++ b/tests/libtracker-data/lists/list-in-subject.out
@@ -0,0 +1,4 @@
+"elem1"
+"elem2"
+"elem3"
+"elem4"
diff --git a/tests/libtracker-data/lists/list-in-subject.rq b/tests/libtracker-data/lists/list-in-subject.rq
new file mode 100644
index 000000000..1300e7cfc
--- /dev/null
+++ b/tests/libtracker-data/lists/list-in-subject.rq
@@ -0,0 +1,2 @@
+SELECT example:label(?e) { ?u example:label 'root' .
+ ?u rdf:rest*/rdf:first ?e }
diff --git a/tests/libtracker-data/lists/list-nested.out b/tests/libtracker-data/lists/list-nested.out
new file mode 100644
index 000000000..c4503b7e5
--- /dev/null
+++ b/tests/libtracker-data/lists/list-nested.out
@@ -0,0 +1,10 @@
+"elem1" "elem1-1"
+"elem2" "elem2-1"
+"elem2" "elem2-2"
+"elem3" "elem3-1"
+"elem3" "elem3-2"
+"elem3" "elem3-3"
+"elem4" "elem4-1"
+"elem4" "elem4-2"
+"elem4" "elem4-3"
+"elem4" "elem4-4"
diff --git a/tests/libtracker-data/lists/list-nested.rq b/tests/libtracker-data/lists/list-nested.rq
new file mode 100644
index 000000000..24d97c6d7
--- /dev/null
+++ b/tests/libtracker-data/lists/list-nested.rq
@@ -0,0 +1 @@
+SELECT ?r ?l { ?u example:label ?r ; example:list/rdf:rest*/rdf:first/example:label ?l } order by ?r ?l
diff --git a/tests/libtracker-data/lists/test.ontology b/tests/libtracker-data/lists/test.ontology
new file mode 100644
index 000000000..d541030cb
--- /dev/null
+++ b/tests/libtracker-data/lists/test.ontology
@@ -0,0 +1,19 @@
+@prefix example: <http://example/> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+example: a tracker:Namespace ;
+ tracker:prefix "example" .
+
+example:A a rdfs:Class ;
+ rdfs:subClassOf rdfs:Resource .
+
+example:list a rdf:Property ;
+ rdfs:domain example:A ;
+ rdfs:range rdf:List .
+
+example:label a rdf:Property ;
+ rdfs:domain example:A ;
+ rdfs:range xsd:string .
diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c
index b865f19c0..1b0ff46de 100644
--- a/tests/libtracker-data/tracker-sparql-test.c
+++ b/tests/libtracker-data/tracker-sparql-test.c
@@ -158,6 +158,10 @@ const TestInfo tests[] = {
{ "langstring/match-non-langstring", "langstring/data", FALSE },
{ "langstring/langmatches", "langstring/data", FALSE },
{ "langstring/strlang", "langstring/data", FALSE },
+ { "lists/list-in-object", "lists/data-list-in-object", FALSE },
+ { "lists/list-in-subject", "lists/data-list-in-subject", FALSE },
+ { "lists/list-in-select", "lists/data-list-in-select", FALSE },
+ { "lists/list-nested", "lists/data-list-nested", FALSE },
{ "optional/q-opt-complex-1", "optional/complex-data-1", FALSE },
{ "optional/simple-optional-triple", "optional/simple-optional-triple", FALSE },
{ "regex/regex-query-001", "regex/regex-data-01", FALSE },
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]