HtmlPage page = environment.getPage("/calendarTest.jsf");
HtmlImage calendarPopupButton = (HtmlImage) page.getElementById("form:calendarPopupButton");
assertNotNull(calendarPopupButton);
page = (HtmlPage) calendarPopupButton.click();
HtmlElement calendarHeaderElement = page.getHtmlElementById("form:calendarHeader");
assertNotNull("form:calendarHeader element missed.", calendarHeaderElement);
HtmlTableDataCell nextTD = null;
List<?> tds = calendarHeaderElement.getByXPath("table/tbody/tr/td");
for (Object td : tds) {
HtmlTableDataCell htdc = (HtmlTableDataCell) td;
if (">".equals(htdc.asText())) {
nextTD = htdc;
}
}
assertNotNull(nextTD);
HtmlElement div = (HtmlElement) nextTD.getChildElements().iterator().next();
// Before click
Calendar calendar = Calendar.getInstance();
calendar.set(CalendarBean.CURRENT_YEAR, CalendarBean.CURRENT_MONTH, CalendarBean.CURRENT_DAY);
String month = calendar.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.US);
assertTrue(calendarHeaderElement.asText().indexOf(month) > -1);
page = div.click();
// After click
calendar.add(Calendar.MONTH, 1);
month = calendar.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.US);
assertTrue(calendarHeaderElement.asText().indexOf(month) > -1);