TimeZone and XPATH encoding fixes for Tests

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4790 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2007-01-11 11:40:38 +00:00
parent eb3dd411ce
commit c447d04e59
4 changed files with 68 additions and 11 deletions

View File

@@ -103,48 +103,90 @@ public class FreeMarkerModelLuceneFunctionTest extends TestCase
public void testLuceneDateRangeFunction()
{
String template = "${luceneDateRange(\"2000-01-01T00:00:00.000Z\", \"P1D\")}";
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2001);
cal.set(Calendar.MONTH, 1);
cal.set(Calendar.DAY_OF_MONTH, 1);
String isoStartDate = ISO8601DateFormat.format(cal.getTime());
cal.add(Calendar.DAY_OF_MONTH, 1);
String isoEndDate = ISO8601DateFormat.format(cal.getTime());
String template = "${luceneDateRange(\""+isoStartDate+"\", \"P1D\")}";
FreeMarkerWithLuceneExtensionsModelFactory mf = new FreeMarkerWithLuceneExtensionsModelFactory();
mf.setServiceRegistry(serviceRegistry);
String result = serviceRegistry.getTemplateService().processTemplateString("freemarker", template, mf.getModel());
assertEquals(result, "[2000-01-01T00:00:00.000Z TO 2000-01-02T00:00:00.000Z]");
assertEquals(result, "["+isoStartDate+" TO "+isoEndDate+"]");
}
public void testLuceneDateRangeFunctionToAdte()
public void testLuceneDateRangeFunctionToDate()
{
String template = "${luceneDateRange(\"2000-01-01T00:00:00.000Z\", \"2000-01-05T00:00:00.000Z\")}";
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2001);
cal.set(Calendar.MONTH, 1);
cal.set(Calendar.DAY_OF_MONTH, 1);
String isoStartDate = ISO8601DateFormat.format(cal.getTime());
cal.add(Calendar.DAY_OF_MONTH, 4);
String isoEndDate = ISO8601DateFormat.format(cal.getTime());
String template = "${luceneDateRange(\""+isoStartDate+"\", \""+isoEndDate+"\")}";
FreeMarkerWithLuceneExtensionsModelFactory mf = new FreeMarkerWithLuceneExtensionsModelFactory();
mf.setServiceRegistry(serviceRegistry);
String result = serviceRegistry.getTemplateService().processTemplateString("freemarker", template, mf.getModel());
assertEquals(result, "[2000-01-01T00:00:00.000Z TO 2000-01-05T00:00:00.000Z]");
assertEquals(result, "["+isoStartDate+" TO "+isoEndDate+"]");
}
public void testLuceneDateRangeFunctionTodayPlus4()
{
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(new Date());
//cal.set(Calendar.AM_PM, Calendar.AM);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
String isoStartDate = ISO8601DateFormat.format(cal.getTime());
cal.add(Calendar.DAY_OF_MONTH, 4);
String isoEndDate = ISO8601DateFormat.format(cal.getTime());
String template = "${luceneDateRange(today, \"P4D\")}";
FreeMarkerWithLuceneExtensionsModelFactory mf = new FreeMarkerWithLuceneExtensionsModelFactory();
mf.setServiceRegistry(serviceRegistry);
String result = serviceRegistry.getTemplateService().processTemplateString("freemarker", template, mf.getModel());
assertNotNull(result);
assertEquals(result, "["+ISO8601DateFormat.format(today) + " TO " + ISO8601DateFormat.format(Duration.add(today, new Duration("P4D"))) + "]");
assertEquals(result, "["+isoStartDate+" TO "+isoEndDate+"]");
}
public void testLuceneDateRangeFunctionTodayMinus4()
{
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(new Date());
//cal.set(Calendar.AM_PM, Calendar.AM);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
String isoStartDate = ISO8601DateFormat.format(cal.getTime());
cal.add(Calendar.DAY_OF_MONTH, -4);
String isoEndDate = ISO8601DateFormat.format(cal.getTime());
String template = "${luceneDateRange(today, \"-P4D\")}";
FreeMarkerWithLuceneExtensionsModelFactory mf = new FreeMarkerWithLuceneExtensionsModelFactory();
mf.setServiceRegistry(serviceRegistry);
String result = serviceRegistry.getTemplateService().processTemplateString("freemarker", template, mf.getModel());
assertEquals(result, "["+ ISO8601DateFormat.format(Duration.add(today, new Duration("-P4D"))) + " TO " + ISO8601DateFormat.format(today) + "]");
assertEquals(result, "["+isoEndDate+" TO "+isoStartDate+"]");
}
public void testLuceneDateRangeFunctionTodayToday()
{
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(new Date());
//cal.set(Calendar.AM_PM, Calendar.AM);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
String isoStartDate = ISO8601DateFormat.format(cal.getTime());
String template = "${luceneDateRange(today, today)}";
FreeMarkerWithLuceneExtensionsModelFactory mf = new FreeMarkerWithLuceneExtensionsModelFactory();
mf.setServiceRegistry(serviceRegistry);
String result = serviceRegistry.getTemplateService().processTemplateString("freemarker", template, mf.getModel());
assertEquals(result, "["+ISO8601DateFormat.format(today) + " TO " + ISO8601DateFormat.format(today) + "]");
assertEquals(result, "["+isoStartDate+" TO "+isoStartDate+"]");
}
}

View File

@@ -57,7 +57,10 @@ public class SearcherComponentTest extends TestCase
//private static String COMPLEX_LOCAL_NAME = " `¬¦!\"£$%^&*()-_=+\t\n\\\u0000[]{};'#:@~,./<>?\\|\u0123\u4567\u8900\uabcd\uefff_xT65A_";
// \u0123 and \u8900 removed
private static String COMPLEX_LOCAL_NAME = "\u0020\u0060\u00ac\u00a6\u0021\"\u00a3\u0024\u0025\u005e\u0026\u002a\u0028\u0029\u002d\u005f\u003d\u002b\t\n\\\u0000\u005b\u005d\u007b\u007d\u003b\u0027\u0023\u003a\u0040\u007e\u002c\u002e\u002f\u003c\u003e\u003f\\u007c\u4567\uabcd\uefff\u005f\u0078\u0054\u0036\u0035\u0041\u005f";
//private static String COMPLEX_LOCAL_NAME = "\u0020\u0060\u00ac\u00a6\u0021\"\u00a3\u0024\u0025\u005e\u0026\u002a\u0028\u0029\u002d\u005f\u003d\u002b\t\n\\\u0000\u005b\u005d\u007b\u007d\u003b\u0027\u0023\u003a\u0040\u007e\u002c\u002e\u002f\u003c\u003e\u003f\\u007c\u4567\uabcd\uefff\u005f\u0078\u0054\u0036\u0035\u0041\u005f";
private static String COMPLEX_LOCAL_NAME = "\u0020\u0060\u00ac\u00a6\u0021\"\u00a3\u0024\u0025\u005e\u0026\u002a\u0028\u0029\u002d\u005f\u003d\u002b\t\n\\\u0000\u005b\u005d\u007b\u007d\u003b\u0027\u0023\u003a\u0040\u007e\u002c\u002e\u002f\u003c\u003e\u003f\\u007c\u005f\u0078\u0054\u0036\u0035\u0041\u005f";
private ServiceRegistry serviceRegistry;

View File

@@ -3384,7 +3384,8 @@ public class LuceneTest2 extends TestCase
public void testAddEscapedChild() throws Exception
{
String COMPLEX_LOCAL_NAME = " `¬¦!\"£$%^&*()-_=+\t\n\\\u0000[]{};'#:@~,./<>?\\|\u0123\u4567\u8900\uabcd\uefff_xT65A_";
String COMPLEX_LOCAL_NAME = "\u0020\u0060\u00ac\u00a6\u0021\"\u00a3\u0024\u0025\u005e\u0026\u002a\u0028\u0029\u002d\u005f\u003d\u002b\t\n\\\u0000\u005b\u005d\u007b\u007d\u003b\u0027\u0023\u003a\u0040\u007e\u002c\u002e\u002f\u003c\u003e\u003f\\u007c\u005f\u0078\u0054\u0036\u0035\u0041\u005f";
luceneFTS.pause();
buildBaseIndex();

View File

@@ -19,7 +19,9 @@ package org.alfresco.service.cmr.repository.datatype;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import junit.framework.TestCase;
@@ -111,7 +113,16 @@ public class DefaultTypeConverterTest extends TestCase
assertEquals(Double.valueOf("123.123"), DefaultTypeConverter.INSTANCE.convert(Double.class, "123.123"));
assertEquals(new BigInteger("1234567890123456789"), DefaultTypeConverter.INSTANCE.convert(BigInteger.class, "1234567890123456789"));
assertEquals(new BigDecimal("12345678901234567890.12345678901234567890"), DefaultTypeConverter.INSTANCE.convert(BigDecimal.class, "12345678901234567890.12345678901234567890"));
assertEquals("2004-03-12T00:00:00.000Z", ISO8601DateFormat.format(DefaultTypeConverter.INSTANCE.convert(Date.class, "2004-03-12T00:00:00.000Z")));
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2004);
cal.set(Calendar.MONTH, 3);
cal.set(Calendar.DAY_OF_MONTH, 12);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
String isoDate = ISO8601DateFormat.format(cal.getTime());
assertEquals(isoDate, ISO8601DateFormat.format(DefaultTypeConverter.INSTANCE.convert(Date.class, isoDate)));
assertEquals(new Duration("P25D"), DefaultTypeConverter.INSTANCE.convert(Duration.class, "P25D"));
assertEquals("woof", DefaultTypeConverter.INSTANCE.convert(String.class, "woof"));