package org.jboss.tools.jsf.jsp.ca.test;
import org.jboss.tools.jst.jsp.test.ca.ContentAssistantTestCase;
import org.jboss.tools.test.util.TestProjectProvider;
public class CAForJSF2BeansTest extends ContentAssistantTestCase {
TestProjectProvider provider = null;
boolean makeCopy = true;
private static final String PROJECT_NAME = "JSF2Beans";
private static final String PAGE_NAME = "/src/test/beans/inputname.xhtml";
private static final String JAVA_NAME = "/src/test/beans/Bean1.java";
public void setUp() throws Exception {
provider = new TestProjectProvider("org.jboss.tools.jsf.base.test",
null, PROJECT_NAME, makeCopy);
project = provider.getProject();
}
protected void tearDown() throws Exception {
if (provider != null) {
provider.dispose();
}
}
/**
* JBIDE-5941
*/
public void testCAForJSF2Beans() {
String[] proposals = { "mybean1", "mybean2" };
checkProposals(PAGE_NAME, "#{myb}", 5, proposals, false);
}
public void testCAForMethodParameters() {
String[] beans = {"testA", "testB"};
String[] methodA = {"testB.addA()"};
String[] methodB = {"testA.addB()"};
String text = "#{testA.addB(test";
checkProposals(PAGE_NAME, text, text.length(), beans, false);
text = "#{testA.addB(testB.add";
checkProposals(PAGE_NAME, text, text.length(), methodA, false);
text = "testA.addB(testB.addA(test";
checkProposals(PAGE_NAME, text, text.length(), beans, false);
text = "testA.addB(testB.addA(testA.add";
checkProposals(PAGE_NAME, text, text.length(), methodB, false);
text = "testA.addB(testB.addA(testA.addB(test";
checkProposals(PAGE_NAME, text, text.length(), beans, false);
}
public void testCAForPropertiesInBrakets() {
String[] properties = {"mybean2['100", "mybean2['101"};
String text1 = "#{mybean2['10']}";
checkProposals(PAGE_NAME, text1, 13, properties, false);
String text2 = "#{mybean2[]}";
checkProposals(PAGE_NAME, text2, 10, properties, false);
properties = new String[]{"mybean2['100'].charAt()"};
String text3 = "#{mybean2['100'].ch}";
checkProposals(PAGE_NAME, text3, 19, properties, false);
checkProposals(JAVA_NAME, text3, 19, properties, false);
}
}