blob: bfded4a7f7617491f607b642276c04626c83babc [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2008 Tasktop Technologies and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Tasktop Technologies - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.tasks.tests;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
import junit.framework.TestCase;
import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants;
import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
/**
* @author Rob Elves
*/
public class TaskListSaveManagerTest extends TestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
public void testRemovalOfSnapshots() throws IOException {
String backupPath = TasksUiPlugin.getDefault().getBackupFolderPath();
File backupFolder = new File(backupPath);
if (!backupFolder.exists()) {
backupFolder.mkdir();
}
Calendar time = TaskActivityUtil.getCalendar();
File thisHour = createFile(backupFolder, time);
time.add(Calendar.MILLISECOND, -1000);
File thisHourEarlier = createFile(backupFolder, time);
TaskActivityUtil.snapStartOfHour(time);
time.add(Calendar.HOUR_OF_DAY, -1);
time.add(Calendar.MILLISECOND, -3000);
File previousHour = createFile(backupFolder, time);
time.add(Calendar.MILLISECOND, -3000);
File previousHour2 = createFile(backupFolder, time);
time.add(Calendar.DAY_OF_YEAR, -1);
File previousDay = createFile(backupFolder, time);
time.add(Calendar.HOUR_OF_DAY, -1);
File previousDay2 = createFile(backupFolder, time);
time.add(Calendar.DAY_OF_YEAR, -3);
File previousDay3 = createFile(backupFolder, time);
time.add(Calendar.HOUR_OF_DAY, -1);
File previousDay4 = createFile(backupFolder, time);
time.add(Calendar.MILLISECOND, -4000);
File previousDay5 = createFile(backupFolder, time);
TasksUiPlugin.getBackupManager().removeOldBackups();
assertTrue(thisHour.exists());
assertFalse(thisHourEarlier.exists());
assertTrue(previousHour.exists());
assertFalse(previousHour2.exists());
assertTrue(previousDay.exists());
assertFalse(previousDay2.exists());
assertTrue(previousDay3.exists());
assertFalse(previousDay4.exists());
assertFalse(previousDay5.exists());
}
public void testAddTaskDuringSave() {
// add task
// save
// try to add task during save
}
// test cancellation
private File createFile(File backupFolder, Calendar time) {
SimpleDateFormat format = new SimpleDateFormat(ITasksCoreConstants.FILENAME_TIMESTAMP_FORMAT, Locale.ENGLISH);
File newFile = new File(backupFolder, ITasksCoreConstants.OLD_PREFIX_TASKLIST + "-"
+ format.format(time.getTime()) + ITasksCoreConstants.FILE_EXTENSION);
try {
newFile.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return newFile;
}
}