Github user rvesse commented on a diff in the pull request:
https://github.com/apache/jena/pull/440#discussion_r198489213
--- Diff:
jena-arq/src/test/java/org/apache/jena/sparql/syntax/TestSSE_Builder.java ---
@@ -233,4 +247,54 @@ public void testBuildExpr_14() {
"(!= ?x ?y)") ;
}
+ @Test
+ public void testBuildTable_01() {
+ Op expected = OpTable.unit();
+ Op actual = SSE.parseOp("(table unit)");
+ assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testBuildTable_02() {
+ Op expected = OpTable.empty();
+ Op actual = SSE.parseOp("(table empty)");
+ assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testBuildTable_03() {
+ Op expected = OpTable.create(TableFactory.create(Var.alloc("x"),
NodeConst.nodeTrue));
+ Op actual = SSE.parseOp("(table (vars ?x) (row (?x true)))");
+ assertEquals(expected, actual);
+ }
+
+ @Test
+ public void testBuildTableBad_01() {
+ try {
+ SSE.parseOp("(table (vars ?x) (row (?x (table unit))))");
+ Assert.fail("Parsing should fail");
+ } catch (ExprBuildException e) {
+ // OK
--- End diff --
I get the following when using the preferred form:
```
[-1,-1]: Not a node: (table ...)
[1,27]: Only concrete nodes as table values: ANY: _
[ERROR] Tests run: 139, Failures: 0, Errors: 2, Skipped: 0, Time elapsed:
0.036 s <<< FAILURE! - in org.apache.jena.sparql.syntax.TS_SSE
[ERROR] testBuildTableBad_01(org.apache.jena.sparql.syntax.TestSSE_Builder)
Time elapsed: 0.006 s <<< ERROR!
org.apache.jena.sparql.sse.builders.ExprBuildException: [-1,-1]: Not a node
at
org.apache.jena.sparql.syntax.TestSSE_Builder.testBuildTableBad_01(TestSSE_Builder.java:282)
[ERROR] testBuildTableBad_02(org.apache.jena.sparql.syntax.TestSSE_Builder)
Time elapsed: 0 s <<< ERROR!
org.apache.jena.sparql.sse.builders.ExprBuildException: [1,27]: Only
concrete nodes as table values: ANY
at
org.apache.jena.sparql.syntax.TestSSE_Builder.testBuildTableBad_02(TestSSE_Builder.java:288)
```
Any idea why?
---