blob: 6791a7918d77636fb086e0bb344e1d9f06e1f907 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2012 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.core.tests.resources.session;
import junit.framework.Test;
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.tests.resources.AutomatedTests;
import org.eclipse.core.tests.resources.WorkspaceSessionTest;
import org.eclipse.core.tests.session.WorkspaceSessionTestSuite;
/**
* Ensures that the workspace description is correctly persisted across
* sessions.
*/
public class WorkspaceDescriptionTest extends WorkspaceSessionTest {
private static final String[] BUILD_ORDER = new String[] {"Foo"};
private static final boolean APPLY_POLICY = false;
private static final int STATE_LONGEVITY = 123456;
private static final int MAX_STATES = 244;
private static final long MAX_FILE_SIZE = 1024 * 53;
private static final long SNAPSHOT_INTERVAL = 4321;
public WorkspaceDescriptionTest() {
super();
}
public WorkspaceDescriptionTest(String name) {
super(name);
}
public void test1() {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceDescription desc = workspace.getDescription();
desc.setAutoBuilding(false);
desc.setBuildOrder(BUILD_ORDER);
desc.setApplyFileStatePolicy(APPLY_POLICY);
desc.setFileStateLongevity(STATE_LONGEVITY);
desc.setMaxFileStates(MAX_STATES);
desc.setMaxFileStateSize(MAX_FILE_SIZE);
desc.setSnapshotInterval(SNAPSHOT_INTERVAL);
try {
workspace.setDescription(desc);
workspace.save(true, getMonitor());
} catch (CoreException e) {
fail("1.0", e);
}
}
public void test2() {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceDescription desc = workspace.getDescription();
assertTrue("2.0", !desc.isAutoBuilding());
assertEquals("2.1", BUILD_ORDER, desc.getBuildOrder());
assertEquals("2.2", APPLY_POLICY, desc.isApplyFileStatePolicy());
assertEquals("2.3", STATE_LONGEVITY, desc.getFileStateLongevity());
assertEquals("2.4", MAX_STATES, desc.getMaxFileStates());
assertEquals("2.5", MAX_FILE_SIZE, desc.getMaxFileStateSize());
assertEquals("2.6", SNAPSHOT_INTERVAL, desc.getSnapshotInterval());
}
public static Test suite() {
return new WorkspaceSessionTestSuite(AutomatedTests.PI_RESOURCES_TESTS, WorkspaceDescriptionTest.class);
}
}