blob: f393bf94e41987ce240bcdad136ca4abaf92be27 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.tools.ant.taskdefs;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import org.apache.tools.ant.Location;
import org.apache.tools.ant.Project;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
/**
*
*/
public class TStampTest {
protected Tstamp tstamp;
protected Project project;
protected Location location;
@Before
public void setUp() {
location = new Location("test.xml");
project = new Project();
tstamp = new Tstamp();
tstamp.setLocation(location);
tstamp.setProject(project);
}
@Test
public void testTimeZone() {
Tstamp.CustomFormat format = tstamp.createFormat();
format.setProperty("today");
format.setPattern("HH:mm:ss z");
format.setTimezone("GMT");
Date date = Calendar.getInstance().getTime();
format.execute(project, date, location);
String today = project.getProperty("today");
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss z");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
String expected = sdf.format(date);
assertEquals(expected, today);
}
/**
* verifies that custom props have priority over the
* originals
*/
@Test
public void testWriteOrder() {
Tstamp.CustomFormat format = tstamp.createFormat();
format.setProperty("TODAY");
format.setPattern("HH:mm:ss z");
format.setTimezone("GMT");
Date date = Calendar.getInstance().getTime();
format.execute(project, date, location);
String today = project.getProperty("TODAY");
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss z");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
String expected = sdf.format(date);
assertEquals(expected, today);
}
/**
* verifies that custom props have priority over the originals
*/
@Test
public void testPrefix() {
tstamp.setPrefix("prefix");
tstamp.execute();
String prop = project.getProperty("prefix.DSTAMP");
assertNotNull(prop);
}
@Test
public void testFormatPrefix() {
Tstamp.CustomFormat format = tstamp.createFormat();
format.setProperty("format");
format.setPattern("HH:mm:ss z");
format.setTimezone("GMT");
tstamp.setPrefix("prefix");
tstamp.execute();
String prop = project.getProperty("prefix.format");
assertNotNull(prop);
}
}