[richfaces-svn-commits] JBoss Rich Faces SVN: r11752 - in trunk/test-applications/seleniumTest/richfaces/src: test/java/org/richfaces/testng and 1 other directory.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Fri Dec 12 14:08:05 EST 2008
Author: andrei_exadel
Date: 2008-12-12 14:08:04 -0500 (Fri, 12 Dec 2008)
New Revision: 11752
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/CalendarDataModel.java
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/CalendarTest.java
Log:
RF-5235
Modified: trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/CalendarDataModel.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/CalendarDataModel.java 2008-12-12 18:56:30 UTC (rev 11751)
+++ trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/CalendarDataModel.java 2008-12-12 19:08:04 UTC (rev 11752)
@@ -43,11 +43,10 @@
Calendar calendar;
public CalendarDataModelItemImpl(Date date) {
- Map<String, String> data = new HashMap<String, String>();
Calendar c = Calendar.getInstance();
c.setTime(date);
day = c.get(Calendar.DAY_OF_MONTH);
- this.data = data;
+ this.data = "data" + day;
this.calendar = c;
}
Modified: trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/CalendarTest.java
===================================================================
--- trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/CalendarTest.java 2008-12-12 18:56:30 UTC (rev 11751)
+++ trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/CalendarTest.java 2008-12-12 19:08:04 UTC (rev 11752)
@@ -36,6 +36,7 @@
import java.util.List;
import java.util.Locale;
+import org.ajax4jsf.javascript.JSLiteral;
import org.ajax4jsf.template.Template;
import org.ajax4jsf.util.DateUtils;
import org.richfaces.AutoTester;
@@ -356,8 +357,176 @@
}
}
}
+
+
+ // Check current date str
+ private void checkCurrentDate(String date, String message) {
+ if (message == null) {
+ message = "";
+ }
+ Calendar c = Calendar.getInstance();
+ if (!date.contains(String.valueOf(c.get(Calendar.YEAR)))) {
+ Assert.fail(message + "Current date is invalid. Date string ["+date+"] does not contain current year");
+ }
+ if (!date.contains(String.valueOf(c.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.US)))) {
+ Assert.fail(message + "Current date is invalid. Date string ["+date+"] does not contain current month");
+ }
+ if (!date.contains(String.valueOf(c.get(Calendar.DATE)))) {
+ Assert.fail(message + "Current date is invalid. Date string ["+date+"] does not contain current day");
+ }
+
+ if (!date.contains(String.valueOf(c.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, Locale.US)))) {
+ Assert.fail(message + "Current date is invalid. Date string ["+date+"] does not contain current day of week");
+ }
+
+
+ }
+
+ private void checkCurrentDate(Calendar c) {
+ String headerDate = getCalendarDate();
+ String expected = c.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.US);
+ if (!headerDate.contains(expected)) {
+ Assert.fail("Calendar displays invalid date. It should contain ["+expected+"]. But was ["+headerDate+"]");
+ }
+
+ expected = String.valueOf(c.get(Calendar.YEAR));
+ if (!headerDate.contains(expected)) {
+ Assert.fail("Calendar displays invalid date. It should contain ["+expected+"]. But was ["+headerDate+"]");
+ }
+ }
+
@Test
+ public void testJSAPI(Template template) {
+ renderPage(template, RESET_METHOD);
+ initIds(getParentId());
+
+ switchToClientMode();
+
+ Calendar c = Calendar.getInstance();
+
+ // Test getSelectedDate
+ String date = invokeFromComponent(calendarId, "getSelectedDate", null);
+ checkCurrentDate(date, "'getSelectedDate' JS API function does not work");
+ checkCurrentDate(c);
+
+ //Test 'getCurrentYear'
+ String year = invokeFromComponent(calendarId, "getCurrentYear", null);
+ String expected = String.valueOf(c.get(Calendar.YEAR));
+ if (!year.equals(expected)) {
+ Assert.fail("'getCurrentYear' JS API function does not. Expected year: ["+expected+"]. But was ["+year+"]");
+ }
+
+ //Test 'getCurrentMonth'
+ String month = invokeFromComponent(calendarId, "getCurrentMonth", null);
+ expected = String.valueOf(c.get(Calendar.MONTH));
+ if (!month.equals(expected)) {
+ Assert.fail("'getCurrentMonth' JS API function does not. Expected month: ["+expected+"]. But was ["+month+"]");
+ }
+
+
+ //Test 'nextMonth'
+ c.set(Calendar.MONTH, c.get(Calendar.MONTH) + 1);
+ invokeFromComponent(calendarId, "nextMonth", null);
+ month = invokeFromComponent(calendarId, "getCurrentMonth", null);
+ expected = String.valueOf(c.get(Calendar.MONTH));
+ if (!month.equals(expected)) {
+ Assert.fail("'nextMonth' JS API function does not. Expected month after 'nextMonth' method is ["+expected+"]. But was ["+month+"]");
+ }
+ checkCurrentDate(c);
+
+ //Test 'nextYear'
+ c = Calendar.getInstance();
+ c.set(c.get(Calendar.YEAR) + 1, c.get(Calendar.MONTH) + 1, c.get(Calendar.DATE));
+ invokeFromComponent(calendarId, "nextYear", null);
+ year = invokeFromComponent(calendarId, "getCurrentYear", null);
+ expected = String.valueOf(c.get(Calendar.YEAR));
+ if (!year.equals(expected)) {
+ Assert.fail("'nextYear' JS API function does not. Expected year after 'nextYear' method is ["+expected+"]. But was ["+year+"]");
+ }
+ checkCurrentDate(c);
+
+
+ //Test 'selectDate(date)'
+ c = Calendar.getInstance();
+ invokeFromComponent(calendarId, "selectDate", new JSLiteral("new Date()"));
+ date = invokeFromComponent(calendarId, "getSelectedDate", null);
+ checkCurrentDate(date, "'selectDate' JS API function does not work. Date should be swtiched to current date. ");
+ checkCurrentDate(c);
+
+ //Test 'prevMonth()'
+ c = Calendar.getInstance();
+ c.set(Calendar.MONTH, c.get(Calendar.MONTH) - 1);
+ invokeFromComponent(calendarId, "prevMonth", null);
+ month = invokeFromComponent(calendarId, "getCurrentMonth", null);
+ expected = String.valueOf(c.get(Calendar.MONTH));
+ if (!month.equals(expected)) {
+ Assert.fail("'prevMonth' JS API function does not. Expected month after 'prevMonth' method is ["+expected+"]. But was ["+month+"]");
+ }
+ checkCurrentDate(c);
+
+
+ //Test 'prevYear'
+ c = Calendar.getInstance();
+ c.set(c.get(Calendar.YEAR) - 1, c.get(Calendar.MONTH) - 1, c.get(Calendar.DATE));
+ invokeFromComponent(calendarId, "prevYear", null);
+ year = invokeFromComponent(calendarId, "getCurrentYear", null);
+ expected = String.valueOf(c.get(Calendar.YEAR));
+ if (!year.equals(expected)) {
+ Assert.fail("'prevYear' JS API function does not. Expected year after 'prevYear' method is ["+expected+"]. But was ["+year+"]");
+ }
+ checkCurrentDate(c);
+
+ //Test 'today'
+ c = Calendar.getInstance();
+ invokeFromComponent(calendarId, "today", null);
+ date = invokeFromComponent(calendarId, "getSelectedDate", null);
+ checkCurrentDate(date, "'today' JS API function does not work. Date should be swtiched to current date");
+ checkCurrentDate(c);
+
+ //Test 'getData'
+ c = Calendar.getInstance();
+ String data = invokeFromComponent(calendarId, "getData", new JSLiteral("new Date()"));
+ String expectedData = "data" + c.get(Calendar.DATE);
+ if (!data.equals("data" + c.get(Calendar.DATE))) {
+ Assert.fail("'getData' JS API function does not work. Expected data for current date is ["+expectedData+"]. But was ["+data+"]");
+ }
+
+ //Test 'resetSelectedDate'
+ c = Calendar.getInstance();
+ invokeFromComponent(calendarId, "resetSelectedDate", null);
+ date = selenium.getText(dateSelectionXpath);
+ if (!"".equals(date)) {
+ Assert.fail("'resetSelectedDate' JS API function does not work. Selected date should not be displayed on component footer. But was ["+date+"]");
+ }
+ date = invokeFromComponent(calendarId, "getSelectedDate", null);
+ if (!"null".equals(date)) {
+ Assert.fail("'resetSelectedDate' JS API function does not work. Selected date was not reset. Is was ["+date+"]");
+ }
+ checkCurrentDate(c);
+
+
+ //Test doCollapse()
+ setPopup(true);
+ setup();
+ showPopup(); // Show popup
+ invokeFromComponent(calendarId, "doCollapse", null); // Hide popup
+ AssertNotVisible(calendarId, "'doCollapse' does not work. Calendar popup has not been hidden");
+
+ // Test doExpand
+ invokeFromComponent(calendarId, "doExpand", null); // Show popup
+ AssertVisible(calendarId, "'doExpand' does not work. Calendar popup has not been shown");
+
+ // Test doSwitch
+ invokeFromComponent(calendarId, "doSwitch", null); // Hide popup
+ AssertNotVisible(calendarId, "'doSwitch' does not work. Calendar popup has not been hidden");
+ invokeFromComponent(calendarId, "doSwitch", null); // Show popup
+ AssertVisible(calendarId, "'doSwitch' does not work. Calendar popup has not been shown");
+
+
+ }
+
+ @Test
public void testRenderedAttribute(Template template) {
AutoTester tester = getAutoTester(this);
tester.renderPage(template, RESET_METHOD);
More information about the richfaces-svn-commits
mailing list