[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2296) @DataModelSelection makes tests impossible
by Christian Bauer (JIRA)
@DataModelSelection makes tests impossible
------------------------------------------
Key: JBSEAM-2296
URL: http://jira.jboss.com/jira/browse/JBSEAM-2296
Project: JBoss Seam
Issue Type: Bug
Components: Test Harness
Reporter: Christian Bauer
@Name("testBean")
@Scope(ScopeType.CONVERSATION)
@AutoCreate
public class TestBean {
@DataModel
private List<String> names;
public List<String> getNames() {
return names;
}
public void setNames(List<String> names) {
this.names = names;
}
@DataModelSelection
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void init() {
this.names = new ArrayList<String>();
this.names.add("A");
this.names.add("B");
this.names.add("C");
}
}
The test:
@Test
public void test() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
TestBean testBean = (TestBean)getInstance("testBean");
testBean.init();
testBean.setName("B");
System.out.println("#### NAME IS: " + testBean.getName());
assert testBean.getName().equals("B");
}
}.run();
}
This test fails and prints the selected name as "A". If you remove @DataModelSelection, it prints the correct "B".
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 4 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2292) Resources from resource servlet can't be re-rendered
by Christian Bauer (JIRA)
Resources from resource servlet can't be re-rendered
----------------------------------------------------
Key: JBSEAM-2292
URL: http://jira.jboss.com/jira/browse/JBSEAM-2292
Project: JBoss Seam
Issue Type: Bug
Components: JSF
Reporter: Christian Bauer
Found this after using the captcha:
<div class="input">
<a:region>
<s:validateAll>
<h:graphicImage value="/seam/resource/captcha" style="vertical-align:text-bottom;"/>
<h:inputText tabindex="1" size="6" maxlength="6" required="true" id="verifyCaptcha" value="#{captcha.response}">
<a:support status="#{statusId}" event="onblur" reRender="verifyCaptchaEntry"/>
</h:inputText>
</s:validateAll>
</a:region>
</div>
This is a re-rendered s:decorate form field, so that onblur we get a new challenge (if the captcha repsonse was wrong). However, the graphicImage is not reloaded from the server, the browser caches it. To prevent browser caching, this is a quick hack:
<div class="input">
<a:region>
<s:validateAll>
<h:graphicImage value="/seam/resource/captcha?nocache=#{wiki:generateRandomNumber()}" style="vertical-align:text-bottom;"/>
<h:inputText tabindex="1" size="6" maxlength="6" required="true" id="verifyCaptcha" value="#{captcha.response}">
<a:support status="#{statusId}" event="onblur" reRender="verifyCaptchaEntry"/>
</h:inputText>
</s:validateAll>
</a:region>
</div>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 5 months