Skip to content
Snippets Groups Projects
Commit d6efccea authored by Daniel Hornung's avatar Daniel Hornung
Browse files

TEST: Test for issue #31 (file path is split by query keyword).

parent e571639d
Branches
Tags
No related merge requests found
......@@ -216,6 +216,7 @@ public class TestCQL {
String query56b = "FIND RECORD WHICH REFERENCES AN ename2";
String query56c = "FIND RECORD WHICH REFERENCES atom";
String query56d = "FIND RECORD WHICH REFERENCES A tom";
String queryIssue31 = "FIND FILE WHICH IS STORED AT /data/in0.foo";
// File paths ///////////////////////////////////////////////////////////////
String filepath_verb01 = "/foo/";
......@@ -6269,4 +6270,29 @@ public class TestCQL {
EntityFilterInterface pov = sfq.filter;
assertEquals("POV(prop,=,)", pov.toString());
}
/** String queryIssue31 = "FIND FILE WHICH IS STORED AT /data/in0.foo"; */
@Test
public void testIssue31() {
CQLLexer lexer;
lexer = new CQLLexer(CharStreams.fromString(this.queryIssue31));
final CommonTokenStream tokens = new CommonTokenStream(lexer);
final CQLParser parser = new CQLParser(tokens);
final CqContext sfq = parser.cq();
System.out.println(sfq.toStringTree(parser));
// 4 children: FIND, role, WHICHCLAUSE, EOF
assertEquals(4, sfq.getChildCount());
assertEquals("WHICHIS STORED AT/data/in0.foo", sfq.getChild(2).getText());
assertEquals("FILE", sfq.r.toString());
assertNull(sfq.e);
assertEquals("StoredAt", sfq.filter.getClass().getSimpleName());
final ParseTree whichclause = sfq.getChild(2);
final ParseTree transactionFilter = whichclause.getChild(1).getChild(0);
assertEquals("/data/in0.foo", transactionFilter.getChild(1).getText());
final StoredAt storedAt = (StoredAt) sfq.filter;
assertEquals("SAT(/data/in0.foo)", storedAt.toString());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment