Author: akushunin
Date: 2007-07-23 08:22:59 -0400 (Mon, 23 Jul 2007)
New Revision: 1778
Modified:
trunk/sandbox/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
trunk/sandbox/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
trunk/sandbox/ui/calendar/src/test/java/org/richfaces/component/CalendarComponentTest.java
Log:
.getInstance(locale) changet to new DateFormatSymbols(locale)
Updated Calendar JUnit test
Addad ClientId to teplate for CalendarInput
Modified:
trunk/sandbox/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
---
trunk/sandbox/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-07-23
12:06:03 UTC (rev 1777)
+++
trunk/sandbox/ui/calendar/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java 2007-07-23
12:22:59 UTC (rev 1778)
@@ -272,7 +272,8 @@
int minimum = cal.getActualMinimum(Calendar.DAY_OF_WEEK);
int firstDayOfWeek = cal.getFirstDayOfWeek();
- DateFormatSymbols symbols = DateFormatSymbols.getInstance(locale);
+ //.getInstance(locale) changet to new DateFormatSymbols(locale) by Alexej Kushunin ;
+ DateFormatSymbols symbols = new DateFormatSymbols(locale);
String[] weekDayLabels = ComponentUtil.asArray(calendar.getWeekDayLabels());
if (weekDayLabels == null) {
weekDayLabels = symbols.getWeekdays();
Modified: trunk/sandbox/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
===================================================================
---
trunk/sandbox/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2007-07-23
12:06:03 UTC (rev 1777)
+++
trunk/sandbox/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx 2007-07-23
12:22:59 UTC (rev 1778)
@@ -56,7 +56,8 @@
if (popup) {]]>
</jsp:scriptlet>
<span> <input
- x:passThruWithExclusions="name,id"
+ x:passThruWithExclusions="name"
+ id="#{clientId}Input"
value="#{this:getInputValue(context,component)}"
type="text"
readonly="#{component.attributes['readonly']}"
Modified:
trunk/sandbox/ui/calendar/src/test/java/org/richfaces/component/CalendarComponentTest.java
===================================================================
---
trunk/sandbox/ui/calendar/src/test/java/org/richfaces/component/CalendarComponentTest.java 2007-07-23
12:06:03 UTC (rev 1777)
+++
trunk/sandbox/ui/calendar/src/test/java/org/richfaces/component/CalendarComponentTest.java 2007-07-23
12:22:59 UTC (rev 1778)
@@ -5,127 +5,192 @@
import java.util.Calendar;
import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
import java.util.Locale;
+import java.util.Set;
import javax.faces.component.UIComponent;
import javax.faces.component.html.HtmlForm;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+import org.apache.commons.lang.StringUtils;
+import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlScript;
/**
- * @author Nick Belaevski - mailto:nbelaevski@exadel.com
- * created 08.06.2007
- *
+ * @author Nick Belaevski - mailto:nbelaevski@exadel.com created 08.06.2007
+ *
*/
public class CalendarComponentTest extends AbstractAjax4JsfTestCase {
-
-
+
private UIComponent form;
+
private UICalendar calendar;
-
+ private static Set javaScripts = new HashSet();
+
+ static {
+ javaScripts.add("org.ajax4jsf.javascript.PrototypeScript");
+ javaScripts.add("org.ajax4jsf.javascript.AjaxScript");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/utils.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/json/json-dom.js");
+ javaScripts.add("org/richfaces/renderkit/html/scripts/calendar.js");
+ }
+
public CalendarComponentTest(String name) {
super(name);
}
-
- public void setUp()throws Exception{
-
+
+ public void setUp() throws Exception {
+
super.setUp();
-
+
form = new HtmlForm();
- form.setId("form");
- facesContext.getViewRoot().getChildren().add(form);
-
- calendar = (UICalendar) application.createComponent(UICalendar.COMPONENT_TYPE);
+ form.setId("form");
+ facesContext.getViewRoot().getChildren().add(form);
+
+ calendar = (UICalendar) application
+ .createComponent(UICalendar.COMPONENT_TYPE);
calendar.setLocale(Locale.CHINESE);
Calendar calendarObject = Calendar.getInstance();
calendarObject.set(2001, Calendar.SEPTEMBER, 11);
calendar.setId("calendar");
-
+
form.getChildren().add(calendar);
-
- }
-
-/* public void testTidy() throws Exception {
- UIViewRoot viewRoot = facesContext.getViewRoot();
- List children = viewRoot.getChildren();
- UIComponent calendar = application.createComponent(UICalendar.COMPONENT_TYPE);
- children.add(calendar);
- HtmlOutputText output = (HtmlOutputText)
application.createComponent(HtmlOutputText.COMPONENT_TYPE);
- output.setValue("<br> &<a href='#'>");
- output.setEscape(false);
- calendar.getChildren().add(output);
-
- HtmlPage renderView = renderView();
- System.out.println(renderView.asXml());
+
}
-*/
+
+ /*
+ * public void testTidy() throws Exception { UIViewRoot viewRoot =
+ * facesContext.getViewRoot(); List children = viewRoot.getChildren();
+ * UIComponent calendar =
+ * application.createComponent(UICalendar.COMPONENT_TYPE);
+ * children.add(calendar); HtmlOutputText output = (HtmlOutputText)
+ * application.createComponent(HtmlOutputText.COMPONENT_TYPE);
+ * output.setValue("<br> &<a
href='#'>");
+ * output.setEscape(false); calendar.getChildren().add(output);
+ *
+ * HtmlPage renderView = renderView();
+ * System.out.println(renderView.asXml()); }
+ */
public void testPreloadRanges() throws Exception {
- UICalendar calendar = (UICalendar)
application.createComponent(UICalendar.COMPONENT_TYPE);
+ UICalendar calendar = (UICalendar) application
+ .createComponent(UICalendar.COMPONENT_TYPE);
calendar.setLocale(Locale.FRENCH);
Calendar calendarObject = Calendar.getInstance();
calendarObject.set(2007, Calendar.JUNE, 10);
-
- Calendar preloadRangeBegin = Calendar.getInstance();
- preloadRangeBegin.setTime(calendar.getDefaultPreloadBegin(calendarObject.getTime()));
+
+ Calendar preloadRangeBegin = Calendar.getInstance();
+ preloadRangeBegin.setTime(calendar
+ .getDefaultPreloadBegin(calendarObject.getTime()));
assertEquals(2007, preloadRangeBegin.get(Calendar.YEAR));
- assertEquals(Calendar.MAY, preloadRangeBegin.get(Calendar.MONTH));
- assertEquals(28, preloadRangeBegin.get(Calendar.DATE));
+ assertEquals(Calendar.JUNE, preloadRangeBegin.get(Calendar.MONTH));
+ assertEquals(1, preloadRangeBegin.get(Calendar.DATE));
- Calendar preloadRangeEnd = Calendar.getInstance();
- preloadRangeEnd.setTime(calendar.getDefaultPreloadEnd(calendarObject.getTime()));
+ Calendar preloadRangeEnd = Calendar.getInstance();
+ preloadRangeEnd.setTime(calendar.getDefaultPreloadEnd(calendarObject
+ .getTime()));
assertEquals(2007, preloadRangeEnd.get(Calendar.YEAR));
- assertEquals(Calendar.JULY, preloadRangeEnd.get(Calendar.MONTH));
- assertEquals(1, preloadRangeEnd.get(Calendar.DATE));
-
+ assertEquals(Calendar.JUNE, preloadRangeEnd.get(Calendar.MONTH));
+ assertEquals(30, preloadRangeEnd.get(Calendar.DATE));
+
calendarObject.set(2007, Calendar.JANUARY, 1);
- preloadRangeBegin.setTime(calendar.getDefaultPreloadBegin(calendarObject.getTime()));
+ preloadRangeBegin.setTime(calendar
+ .getDefaultPreloadBegin(calendarObject.getTime()));
assertEquals(2007, preloadRangeBegin.get(Calendar.YEAR));
assertEquals(Calendar.JANUARY, preloadRangeBegin.get(Calendar.MONTH));
assertEquals(1, preloadRangeBegin.get(Calendar.DATE));
-
calendarObject.set(2007, Calendar.JUNE, 10);
calendar.setLocale(Locale.US);
- preloadRangeBegin.setTime(calendar.getDefaultPreloadBegin(calendarObject.getTime()));
+ preloadRangeBegin.setTime(calendar
+ .getDefaultPreloadBegin(calendarObject.getTime()));
assertEquals(2007, preloadRangeBegin.get(Calendar.YEAR));
- assertEquals(Calendar.MAY, preloadRangeBegin.get(Calendar.MONTH));
- assertEquals(27, preloadRangeBegin.get(Calendar.DATE));
+ assertEquals(Calendar.JUNE, preloadRangeBegin.get(Calendar.MONTH));
+ assertEquals(1, preloadRangeBegin.get(Calendar.DATE));
- preloadRangeEnd.setTime(calendar.getDefaultPreloadEnd(calendarObject.getTime()));
+ preloadRangeEnd.setTime(calendar.getDefaultPreloadEnd(calendarObject
+ .getTime()));
assertEquals(2007, preloadRangeEnd.get(Calendar.YEAR));
assertEquals(Calendar.JUNE, preloadRangeEnd.get(Calendar.MONTH));
assertEquals(30, preloadRangeEnd.get(Calendar.DATE));
}
public void testGetPreloadDateRange() throws Exception {
- UICalendar calendar = (UICalendar)
application.createComponent(UICalendar.COMPONENT_TYPE);
+ UICalendar calendar = (UICalendar) application
+ .createComponent(UICalendar.COMPONENT_TYPE);
calendar.setLocale(Locale.FRENCH);
Calendar calendarObject = Calendar.getInstance();
calendarObject.set(2007, Calendar.JUNE, 10);
calendar.setCurrentDate(calendarObject.getTime());
-
+
Date[] range = calendar.getPreloadDateRange();
assertEquals(calendar.getPreloadDateRangeBegin(), range[0]);
assertEquals(calendar.getPreloadDateRangeEnd(), range[range.length - 1]);
- assertEquals(35, range.length);
+ assertEquals(30, range.length);
}
-
- public void testCalendarRenderer()throws Exception{
+
+ public void testCalendarRenderer() throws Exception {
+
+ HtmlPage page = renderView();
+ assertNotNull(page);
+ //System.out.println(page.asXml());
+ HtmlElement htmlCalendar =
page.getHtmlElementById(calendar.getClientId(facesContext));
+ assertNotNull(htmlCalendar);
+ //System.out.println(htmlCalendar.getAttributeValue("class"));
+ htmlCalendar.getAttributeValue("class");
+ HtmlElement htmlCalendarInput =
page.getHtmlElementById(calendar.getClientId(facesContext)+"Input");
+ HtmlElement htmlCalendarButton =
page.getHtmlElementById(calendar.getClientId(facesContext)+"Button");
+ assertNotNull(htmlCalendarInput);
+ assertNotNull(htmlCalendarButton);
+ assertTrue(htmlCalendarInput.getAttributeValue("class").contains("org.richfaces.component.html.HtmlCalendar"));
+ assertTrue(htmlCalendarButton.getAttributeValue("class").contains("org.richfaces.component.html.HtmlCalendar"));
+ }
+
+ public void testCalendarStyles() throws Exception {
HtmlPage page = renderView();
assertNotNull(page);
- System.out.println(page.asXml());
+ //System.out.println(page.asXml());
+ List links =
page.getDocumentElement().getHtmlElementsByTagName("link");
+ assertEquals(1, links.size());
+ HtmlElement link = (HtmlElement) links.get(0);
+
assertTrue(link.getAttributeValue("href").contains("css/calendar.xcss"));
+ }
+ public void testCalendarScrits() throws Exception {
+ HtmlPage page = renderView();
+ assertNotNull(page);
+ List scripts = page.getDocumentElement().getHtmlElementsByTagName(
+ "script");
+ for (Iterator it = scripts.iterator(); it.hasNext();) {
+ HtmlScript item = (HtmlScript) it.next();
+ String srcAttr = item.getSrcAttribute();
+
+ if (StringUtils.isNotBlank(srcAttr)) {
+ boolean found = false;
+ for (Iterator srcIt = javaScripts.iterator(); srcIt.hasNext();) {
+ String src = (String) srcIt.next();
+
+ found = srcAttr.contains(src);
+ if (found) {
+ break;
+ }
+ }
+ assertTrue(found);
+ }
+ }
}
-
- public void tearDown() throws Exception {
- super.tearDown();
- form = null;
- calendar = null;
- }
+
+ public void tearDown() throws Exception {
+ super.tearDown();
+ form = null;
+ calendar = null;
+ }
}