private void doTestUnaliasedProductQuery(final String query) { Collector hcc = new Collector(); List visible = getVisibleEntityNames(query.toCharArray()); cc.getMatchingProperties(cc.getCanonicalPath(visible, "owner"), "f", hcc); HQLCompletionProposal[] completionProposals = hcc.getCompletionProposals(); // assertEquals(1, completionProposals.length); assertEquals("firstName", completionProposals[0].getSimpleName()); // hcc.clear(); cc.getMatchingProperties(cc.getCanonicalPath(visible, "owner"), "l", hcc); completionProposals = hcc.getCompletionProposals(); assertEquals(1, completionProposals.length); assertEquals("lastName", completionProposals[0].getSimpleName()); // hcc.clear(); cc.getMatchingProperties(cc.getCanonicalPath(visible, "owner"), "", hcc); // firstname, lastname, owner assertEquals(3, hcc.getCompletionProposals().length); // hcc.clear(); cc.getMatchingProperties(cc.getCanonicalPath(visible, "owner"), "g", hcc); assertEquals(0, hcc.getCompletionProposals().length); }
public void testComponentPropertyNames() { Collector c = new Collector(); IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); String query = "from Product as p where p.owner.|"; int caretPosition = getCaretPosition(query); hqlEval.codeComplete(getCleanQuery(query), caretPosition, c); HQLCompletionProposal[] completionProposals = c.getCompletionProposals(); assertEquals(3, completionProposals.length); assertNotNull(completionProposals[0]); c.clear(); query = "from Product as p where p.owner.address."; caretPosition = getCaretPosition(query); hqlEval.codeComplete(getCleanQuery(query), caretPosition, c); completionProposals = c.getCompletionProposals(); assertEquals(3, completionProposals.length); c.clear(); query = "from Product as p join p.otherOwners o where o."; caretPosition = getCaretPosition(query); hqlEval.codeComplete(getCleanQuery(query), caretPosition, c); completionProposals = c.getCompletionProposals(); assertEquals(3, completionProposals.length); }
public void testKeywordFunction() { Collector hcc = new Collector(); cc.getMatchingKeywords("f", 2, hcc); HQLCompletionProposal[] completionProposals = hcc.getCompletionProposals(); assertEquals(4, completionProposals.length); assertEquals("alse", completionProposals[0].getCompletion()); hcc.clear(); cc.getMatchingFunctions("ma", 2, hcc); completionProposals = hcc.getCompletionProposals(); assertEquals(1, completionProposals.length); assertEquals("x", completionProposals[0].getCompletion()); hcc.clear(); cc.getMatchingKeywords("FR", 3, hcc); completionProposals = hcc.getCompletionProposals(); assertEquals(1, completionProposals.length); hcc.clear(); cc.getMatchingFunctions("MA", 2, hcc); completionProposals = hcc.getCompletionProposals(); assertEquals(1, completionProposals.length); }
public void testGetStoreFields() { Collector hcc = new Collector(); cc.getMatchingProperties("Store", "", hcc); doTestFields(hcc.getCompletionProposals(), new String[] {"city", "id", "name", "name2"}); hcc.clear(); cc.getMatchingProperties("Store", "name", hcc); doTestFields(hcc.getCompletionProposals(), new String[] {"name", "name2"}); hcc.clear(); cc.getMatchingProperties("Store", "name2", hcc); doTestFields(hcc.getCompletionProposals(), new String[] {"name2"}); hcc.clear(); }
public void testProductOwnerAddress() { String query = "select p from Product p where p.owner."; List visible = getVisibleEntityNames(query.toCharArray()); Collector hcc = new Collector(); cc.getMatchingProperties(cc.getCanonicalPath(visible, "p.owner"), "", hcc); doTestFields(hcc.getCompletionProposals(), new String[] {"address", "firstName", "lastName"}); hcc.clear(); query = "select p from Product p where p.owner.address."; visible = getVisibleEntityNames(query.toCharArray()); cc.getMatchingProperties(cc.getCanonicalPath(visible, "p.owner.address"), "", hcc); doTestFields(hcc.getCompletionProposals(), new String[] {"id", "number", "street"}); }
public void testGetMappedClasses() { Collector hcc = new Collector(); cc.getMatchingImports("", hcc); assertEquals("Invalid entity names count", 9, hcc.getCompletionProposals().length); hcc.clear(); cc.getMatchingImports(" ", hcc); assertTrue("Space prefix should have no classes", hcc.getCompletionProposals().length == 0); hcc.clear(); cc.getMatchingImports("pro", hcc); assertTrue("Completion should not be case sensitive", hcc.getCompletionProposals().length == 2); hcc.clear(); cc.getMatchingImports("StoreC", hcc); assertEquals("Invalid entity names count", 1, hcc.getCompletionProposals().length); assertEquals( "StoreCity should have been found", "StoreCity", hcc.getCompletionProposals()[0].getSimpleName()); hcc.clear(); cc.getMatchingImports("NotThere", hcc); assertTrue(hcc.getCompletionProposals().length == 0); hcc.clear(); cc.getMatchingImports("Uni", hcc); assertEquals("Universe", hcc.getCompletionProposals()[0].getSimpleName()); }
public void testStoreCity() { String query = "select p from Product p join p.stores store where store"; List visible = getVisibleEntityNames(query.toCharArray()); Collector hcc = new Collector(); String canonicalPath = cc.getCanonicalPath(visible, "store.city"); cc.getMatchingProperties(canonicalPath, "", hcc); doTestFields(hcc.getCompletionProposals(), new String[] {"id", "name"}); }
public void testBadInputAfterCursor() { Collector c = new Collector(); IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); String query = "from org.hibernate.t| ;"; int caretPosition = getCaretPosition(query); hqlEval.codeComplete(query, caretPosition, c); HQLCompletionProposal[] completionProposals = c.getCompletionProposals(); assertEquals(4, completionProposals.length); }
public void testGetProductFields() { Collector hcc = new Collector(); cc.getMatchingProperties("Product", "", hcc); doTestFields( hcc.getCompletionProposals(), new String[] {"id", "otherOwners", "owner", "price", "stores", "version", "weight"}); hcc.clear(); cc.getMatchingProperties("Product", " ", hcc); doTestFields(hcc.getCompletionProposals(), new String[] {}); hcc.clear(); cc.getMatchingProperties("Product", "v", hcc); doTestFields(hcc.getCompletionProposals(), new String[] {"version"}); hcc.clear(); cc.getMatchingProperties("Product", "V", hcc); doTestFields(hcc.getCompletionProposals(), new String[] {"version"}); hcc.clear(); cc.getMatchingProperties("Product", "X", hcc); doTestFields(hcc.getCompletionProposals(), new String[0]); }
public void testInFromAfterEntityAlias() { Collector c = new Collector(); IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); String query = "from Product as p, | where p.v"; int caretPosition = getCaretPosition(query); hqlEval.codeComplete(getCleanQuery(query), caretPosition, c); HQLCompletionProposal[] completionProposals = c.getCompletionProposals(); assertEquals(9, completionProposals.length); HQLCompletionProposal proposal = completionProposals[0]; assertEquals(HQLCompletionProposal.ENTITY_NAME, proposal.getCompletionKind()); assertEquals(caretPosition, proposal.getCompletionLocation()); assertEquals(caretPosition, proposal.getReplaceStart()); assertEquals(caretPosition, proposal.getReplaceEnd()); }
public void testAliasRef() { Collector c = new Collector(); IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); String query = "from Product as pr_od where pr_|"; int caretPosition = getCaretPosition(query); hqlEval.codeComplete(getCleanQuery(query), caretPosition, c); HQLCompletionProposal[] completionProposals = c.getCompletionProposals(); assertEquals(1, completionProposals.length); HQLCompletionProposal proposal = completionProposals[0]; assertEquals("od", proposal.getCompletion()); assertEquals(HQLCompletionProposal.ALIAS_REF, proposal.getCompletionKind()); assertEquals(caretPosition, proposal.getCompletionLocation()); assertEquals(caretPosition, proposal.getReplaceStart()); assertEquals(caretPosition, proposal.getReplaceEnd()); assertEquals("org.hibernate.tool.ide.completion.Product", proposal.getEntityName()); }
public void testDottedFromPartialEntityName() { Collector c = new Collector(); IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); String query = "from org.hibernate.t| "; int caretPosition = getCaretPosition(query); hqlEval.codeComplete(query, caretPosition, c); HQLCompletionProposal[] completionProposals = c.getCompletionProposals(); assertEquals(4, completionProposals.length); for (int i = 0; i < completionProposals.length; i++) { HQLCompletionProposal proposal = completionProposals[i]; assertEquals(HQLCompletionProposal.ENTITY_NAME, proposal.getCompletionKind()); assertEquals(caretPosition, proposal.getCompletionLocation()); assertEquals(caretPosition, proposal.getReplaceStart()); assertEquals(caretPosition, proposal.getReplaceEnd()); assertTrue(proposal.getCompletion().startsWith("ool.ide.completion")); } }
public void testKeywordsFunctions() { Collector c = new Collector(); IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); String query = ""; int caretPosition = getCaretPosition(query); hqlEval.codeComplete(getCleanQuery(query), caretPosition, c); HQLCompletionProposal[] completionProposals = c.getCompletionProposals(); assertTrue(completionProposals.length > 0); for (int i = 0; i < completionProposals.length; i++) { HQLCompletionProposal proposal = completionProposals[i]; assertTrue( HQLCompletionProposal.KEYWORD == proposal.getCompletionKind() || HQLCompletionProposal.FUNCTION == proposal.getCompletionKind()); assertEquals(caretPosition, proposal.getCompletionLocation()); assertEquals(caretPosition, proposal.getReplaceStart()); assertEquals(caretPosition, proposal.getReplaceEnd()); } }
public void testBasicFrom() { Collector c = new Collector(); IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); String query = "from | "; int caretPosition = getCaretPosition(query); hqlEval.codeComplete(query, caretPosition, c); HQLCompletionProposal[] completionProposals = c.getCompletionProposals(); assertEquals(9, completionProposals.length); for (int i = 0; i < completionProposals.length; i++) { HQLCompletionProposal proposal = completionProposals[i]; assertEquals(HQLCompletionProposal.ENTITY_NAME, proposal.getCompletionKind()); assertEquals(caretPosition, proposal.getCompletionLocation()); assertEquals(caretPosition, proposal.getReplaceStart()); assertEquals(proposal.getReplaceStart(), proposal.getReplaceEnd()); // nothing to replace assertNotNull(proposal.getShortEntityName()); assertNotNull(proposal.getEntityName()); // assertNotNull(proposal.getShortEntityName()); } }
public void testBasicPropertyNames() { Collector c = new Collector(); IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); String query = "from Product as p where p.v|"; // TODO: is non-aliased references allowed ? int caretPosition = getCaretPosition(query); hqlEval.codeComplete(getCleanQuery(query), caretPosition, c); HQLCompletionProposal[] completionProposals = c.getCompletionProposals(); assertEquals(1, completionProposals.length); HQLCompletionProposal proposal = completionProposals[0]; assertEquals("ersion", proposal.getCompletion()); assertEquals(HQLCompletionProposal.PROPERTY, proposal.getCompletionKind()); assertEquals(caretPosition, proposal.getCompletionLocation()); assertEquals(caretPosition, proposal.getReplaceStart()); assertEquals(caretPosition, proposal.getReplaceEnd()); // TODO: keep a path/context assertEquals("Product", proposal.getShortEntityName()); assertEquals("org.hibernate.tool.ide.completion.Product", proposal.getEntityName()); assertEquals("version", proposal.getPropertyName()); assertNotNull(proposal.getProperty()); assertEquals(proposal.getPropertyName(), proposal.getProperty().getName()); }
public void testBasicFromPartialDifferentCaseEntityName() { Collector c = new Collector(); IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); String query = "from pro| "; int caretPosition = getCaretPosition(query); hqlEval.codeComplete(query, caretPosition, c); HQLCompletionProposal[] completionProposals = c.getCompletionProposals(); assertEquals(2, completionProposals.length); assertEquals("Product", completionProposals[0].getSimpleName()); assertEquals("Product", completionProposals[0].getCompletion()); assertEquals("ProductOwnerAddress", completionProposals[1].getSimpleName()); assertEquals("ProductOwnerAddress", completionProposals[1].getCompletion()); for (int i = 0; i < completionProposals.length; i++) { HQLCompletionProposal proposal = completionProposals[i]; assertEquals(HQLCompletionProposal.ENTITY_NAME, proposal.getCompletionKind()); assertEquals(caretPosition, proposal.getCompletionLocation()); assertEquals(caretPosition - 3, proposal.getReplaceStart()); assertEquals(caretPosition, proposal.getReplaceEnd()); } }
public void testUnmappedClassFields() { Collector hcc = new Collector(); cc.getMatchingProperties("UnmappedClass", "", hcc); doTestFields(hcc.getCompletionProposals(), new String[0]); }