[tracker/wip/carlosg/photos-fixes: 6/6] tests: Add tests for inline data




commit a9e67e1c9457471d7e403228f4087903c6fefef6
Author: Carlos Garnacho <carlosg gnome org>
Date:   Fri Aug 21 15:16:02 2020 +0200

    tests: Add tests for inline data
    
    VALUES clauses in all allowed places are now tested.

 tests/libtracker-data/inline/data.ttl       |  5 +++++
 tests/libtracker-data/inline/inline-1.out   |  7 +++++++
 tests/libtracker-data/inline/inline-1.rq    |  3 +++
 tests/libtracker-data/inline/inline-2.out   |  4 ++++
 tests/libtracker-data/inline/inline-2.rq    |  8 ++++++++
 tests/libtracker-data/inline/inline-3.out   |  1 +
 tests/libtracker-data/inline/inline-3.rq    |  4 ++++
 tests/libtracker-data/inline/inline-4.out   |  1 +
 tests/libtracker-data/inline/inline-4.rq    |  4 ++++
 tests/libtracker-data/inline/inline-5.out   |  1 +
 tests/libtracker-data/inline/inline-5.rq    |  4 ++++
 tests/libtracker-data/inline/inline-6.out   |  9 +++++++++
 tests/libtracker-data/inline/inline-6.rq    |  5 +++++
 tests/libtracker-data/inline/inline-7.out   |  1 +
 tests/libtracker-data/inline/inline-7.rq    |  5 +++++
 tests/libtracker-data/inline/inline-8.out   |  1 +
 tests/libtracker-data/inline/inline-8.rq    |  5 +++++
 tests/libtracker-data/inline/inline-9.out   |  1 +
 tests/libtracker-data/inline/inline-9.rq    |  6 ++++++
 tests/libtracker-data/inline/test.ontology  | 11 +++++++++++
 tests/libtracker-data/inline/values-1.out   |  1 +
 tests/libtracker-data/inline/values-1.rq    |  4 ++++
 tests/libtracker-data/inline/values-2.out   |  1 +
 tests/libtracker-data/inline/values-2.rq    |  4 ++++
 tests/libtracker-data/inline/values-3.out   |  1 +
 tests/libtracker-data/inline/values-3.rq    |  9 +++++++++
 tests/libtracker-data/inline/values-4.out   |  1 +
 tests/libtracker-data/inline/values-4.rq    |  7 +++++++
 tests/libtracker-data/tracker-sparql-test.c | 14 ++++++++++++++
 29 files changed, 128 insertions(+)
---
diff --git a/tests/libtracker-data/inline/data.ttl b/tests/libtracker-data/inline/data.ttl
new file mode 100644
index 000000000..d12c5cc9c
--- /dev/null
+++ b/tests/libtracker-data/inline/data.ttl
@@ -0,0 +1,5 @@
+@prefix :   <http://example/> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+:x a :A ;
+   rdfs:label 'foo' .
diff --git a/tests/libtracker-data/inline/inline-1.out b/tests/libtracker-data/inline/inline-1.out
new file mode 100644
index 000000000..6001f99c9
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-1.out
@@ -0,0 +1,7 @@
+"1"
+"2"
+"3"
+"a"
+"b"
+"c"
+"4.2"
diff --git a/tests/libtracker-data/inline/inline-1.rq b/tests/libtracker-data/inline/inline-1.rq
new file mode 100644
index 000000000..d50daa6af
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-1.rq
@@ -0,0 +1,3 @@
+SELECT ?v {
+  VALUES ?v { 1 2 3 'a' 'b' 'c' 4.2 }
+}
diff --git a/tests/libtracker-data/inline/inline-2.out b/tests/libtracker-data/inline/inline-2.out
new file mode 100644
index 000000000..8eb71a852
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-2.out
@@ -0,0 +1,4 @@
+"1"    "a"
+"b"    "2"
+"3"    "c"
+       "4.2"
diff --git a/tests/libtracker-data/inline/inline-2.rq b/tests/libtracker-data/inline/inline-2.rq
new file mode 100644
index 000000000..187a00049
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-2.rq
@@ -0,0 +1,8 @@
+SELECT ?a ?b {
+  VALUES (?a ?b) {
+    ( 1 'a' )
+    ( 'b' 2 )
+    ( 3 'c' )
+    ( UNDEF 4.2 )
+  }
+}
diff --git a/tests/libtracker-data/inline/inline-3.out b/tests/libtracker-data/inline/inline-3.out
new file mode 100644
index 000000000..9ca97713b
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-3.out
@@ -0,0 +1 @@
+"http://example/A";
diff --git a/tests/libtracker-data/inline/inline-3.rq b/tests/libtracker-data/inline/inline-3.rq
new file mode 100644
index 000000000..e1ea7031b
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-3.rq
@@ -0,0 +1,4 @@
+SELECT ?u {
+  ?u a rdfs:Class .
+  VALUES ?u { example:A }
+}
diff --git a/tests/libtracker-data/inline/inline-4.out b/tests/libtracker-data/inline/inline-4.out
new file mode 100644
index 000000000..9ca97713b
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-4.out
@@ -0,0 +1 @@
+"http://example/A";
diff --git a/tests/libtracker-data/inline/inline-4.rq b/tests/libtracker-data/inline/inline-4.rq
new file mode 100644
index 000000000..e7a523bcf
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-4.rq
@@ -0,0 +1,4 @@
+SELECT ?u {
+  VALUES ?u { example:A } .
+  ?u a rdfs:Class
+}
diff --git a/tests/libtracker-data/inline/inline-5.out b/tests/libtracker-data/inline/inline-5.out
new file mode 100644
index 000000000..65330b1c9
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-5.out
@@ -0,0 +1 @@
+"http://example/x";
diff --git a/tests/libtracker-data/inline/inline-5.rq b/tests/libtracker-data/inline/inline-5.rq
new file mode 100644
index 000000000..eed09606f
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-5.rq
@@ -0,0 +1,4 @@
+SELECT ?u {
+  VALUES ?t { example:A } .
+  ?u a ?t
+}
diff --git a/tests/libtracker-data/inline/inline-6.out b/tests/libtracker-data/inline/inline-6.out
new file mode 100644
index 000000000..4f8a72a79
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-6.out
@@ -0,0 +1,9 @@
+"1"    "a"
+"1"    "b"
+"1"    "c"
+"2"    "a"
+"2"    "b"
+"2"    "c"
+"3"    "a"
+"3"    "b"
+"3"    "c"
diff --git a/tests/libtracker-data/inline/inline-6.rq b/tests/libtracker-data/inline/inline-6.rq
new file mode 100644
index 000000000..be0c31ce9
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-6.rq
@@ -0,0 +1,5 @@
+SELECT ?a ?b {
+  VALUES ?a { 1 2 3 }
+  VALUES ?b { 'a' 'b' 'c' }
+}
+ORDER BY ?a ?b
diff --git a/tests/libtracker-data/inline/inline-7.out b/tests/libtracker-data/inline/inline-7.out
new file mode 100644
index 000000000..f27b76c59
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-7.out
@@ -0,0 +1 @@
+"1"
diff --git a/tests/libtracker-data/inline/inline-7.rq b/tests/libtracker-data/inline/inline-7.rq
new file mode 100644
index 000000000..5630175d6
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-7.rq
@@ -0,0 +1,5 @@
+SELECT ?u {
+  SELECT ?u {
+    VALUES ?u { 1 }
+  }
+}
diff --git a/tests/libtracker-data/inline/inline-8.out b/tests/libtracker-data/inline/inline-8.out
new file mode 100644
index 000000000..f27b76c59
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-8.out
@@ -0,0 +1 @@
+"1"
diff --git a/tests/libtracker-data/inline/inline-8.rq b/tests/libtracker-data/inline/inline-8.rq
new file mode 100644
index 000000000..0bad9e9d7
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-8.rq
@@ -0,0 +1,5 @@
+SELECT ?u {
+  SELECT ?u ?f {
+    VALUES (?u ?f) { (1 2) }
+  }
+}
diff --git a/tests/libtracker-data/inline/inline-9.out b/tests/libtracker-data/inline/inline-9.out
new file mode 100644
index 000000000..192548e94
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-9.out
@@ -0,0 +1 @@
+"42"
diff --git a/tests/libtracker-data/inline/inline-9.rq b/tests/libtracker-data/inline/inline-9.rq
new file mode 100644
index 000000000..b7417690b
--- /dev/null
+++ b/tests/libtracker-data/inline/inline-9.rq
@@ -0,0 +1,6 @@
+SELECT ?f {
+  SELECT ?f {
+    VALUES (?u ?f) { (example:x 42) }
+    ?u a example:A .
+  }
+}
diff --git a/tests/libtracker-data/inline/test.ontology b/tests/libtracker-data/inline/test.ontology
new file mode 100644
index 000000000..edd6eee78
--- /dev/null
+++ b/tests/libtracker-data/inline/test.ontology
@@ -0,0 +1,11 @@
+@prefix example: <http://example/> .
+@prefix nrl: <http://tracker.api.gnome.org/ontology/v3/nrl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+example: a nrl:Namespace ;
+       nrl:prefix "example" .
+
+example:A a rdfs:Class ;
+       rdfs:subClassOf rdfs:Resource .
diff --git a/tests/libtracker-data/inline/values-1.out b/tests/libtracker-data/inline/values-1.out
new file mode 100644
index 000000000..9ca97713b
--- /dev/null
+++ b/tests/libtracker-data/inline/values-1.out
@@ -0,0 +1 @@
+"http://example/A";
diff --git a/tests/libtracker-data/inline/values-1.rq b/tests/libtracker-data/inline/values-1.rq
new file mode 100644
index 000000000..d43d31403
--- /dev/null
+++ b/tests/libtracker-data/inline/values-1.rq
@@ -0,0 +1,4 @@
+SELECT ?t {
+  ?t a rdfs:Resource
+}
+VALUES ?t { example:A }
diff --git a/tests/libtracker-data/inline/values-2.out b/tests/libtracker-data/inline/values-2.out
new file mode 100644
index 000000000..a96f8c188
--- /dev/null
+++ b/tests/libtracker-data/inline/values-2.out
@@ -0,0 +1 @@
+"http://example/A";     "http://www.w3.org/2000/01/rdf-schema#Resource";
diff --git a/tests/libtracker-data/inline/values-2.rq b/tests/libtracker-data/inline/values-2.rq
new file mode 100644
index 000000000..1130e1fda
--- /dev/null
+++ b/tests/libtracker-data/inline/values-2.rq
@@ -0,0 +1,4 @@
+SELECT ?u ?t {
+  ?u a ?t
+}
+VALUES (?u ?t) { (example:A rdfs:Resource) }
diff --git a/tests/libtracker-data/inline/values-3.out b/tests/libtracker-data/inline/values-3.out
new file mode 100644
index 000000000..9ca97713b
--- /dev/null
+++ b/tests/libtracker-data/inline/values-3.out
@@ -0,0 +1 @@
+"http://example/A";
diff --git a/tests/libtracker-data/inline/values-3.rq b/tests/libtracker-data/inline/values-3.rq
new file mode 100644
index 000000000..0ab85b543
--- /dev/null
+++ b/tests/libtracker-data/inline/values-3.rq
@@ -0,0 +1,9 @@
+SELECT ?t
+{
+  {
+    SELECT ?t {
+      ?t a rdfs:Resource
+    }
+    VALUES ?t { example:A }
+  }
+}
diff --git a/tests/libtracker-data/inline/values-4.out b/tests/libtracker-data/inline/values-4.out
new file mode 100644
index 000000000..810c96eee
--- /dev/null
+++ b/tests/libtracker-data/inline/values-4.out
@@ -0,0 +1 @@
+"foo"
diff --git a/tests/libtracker-data/inline/values-4.rq b/tests/libtracker-data/inline/values-4.rq
new file mode 100644
index 000000000..88be6e31a
--- /dev/null
+++ b/tests/libtracker-data/inline/values-4.rq
@@ -0,0 +1,7 @@
+SELECT ?l {
+  SELECT ?u ?t ?l {
+    ?u a ?t ;
+       rdfs:label ?l
+  }
+  VALUES (?u ?t) { (example:x example:A) }
+}
diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c
index b3c49ff8f..ca2fd3dea 100644
--- a/tests/libtracker-data/tracker-sparql-test.c
+++ b/tests/libtracker-data/tracker-sparql-test.c
@@ -277,6 +277,20 @@ const TestInfo tests[] = {
        { "constraint/coexisting-2", "constraint/data", FALSE, FALSE },
        { "constraint/coexisting-3", "constraint/data", FALSE, FALSE },
        { "constraint/coexisting-4", "constraint/data", FALSE, FALSE },
+       /* Inline data */
+       { "inline/inline-1", "inline/data", FALSE, FALSE },
+       { "inline/inline-2", "inline/data", FALSE, FALSE },
+       { "inline/inline-3", "inline/data", FALSE, FALSE },
+       { "inline/inline-4", "inline/data", FALSE, FALSE },
+       { "inline/inline-5", "inline/data", FALSE, FALSE },
+       { "inline/inline-6", "inline/data", FALSE, FALSE },
+       { "inline/inline-7", "inline/data", FALSE, FALSE },
+       { "inline/inline-8", "inline/data", FALSE, FALSE },
+       { "inline/inline-9", "inline/data", FALSE, FALSE },
+       { "inline/values-1", "inline/data", FALSE, FALSE },
+       { "inline/values-2", "inline/data", FALSE, FALSE },
+       { "inline/values-3", "inline/data", FALSE, FALSE },
+       { "inline/values-4", "inline/data", FALSE, FALSE },
        { NULL }
 };
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]