blob: 638b840c438788b4190ea4e9be4f76fea9f33520 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2005 IBM Corporation 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:
* IBM Corporation - Initial API and implementation
*******************************************************************************/
package org.eclipse.wst.server.core.tests;
import junit.framework.Test;
import junit.framework.TestCase;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.wst.server.core.*;
import org.eclipse.wst.server.core.internal.ProjectProperties;
public class ProjectPropertiesTestCase extends TestCase {
protected static IProject project;
protected static IProjectProperties props;
protected static IProject projectEvent;
protected static IServer serverEvent;
protected static IRuntime runtimeEvent;
protected static int count;
protected IProjectPropertiesListener listener = new IProjectPropertiesListener() {
public void defaultServerChanged(IProject project2, IServer server) {
projectEvent = project2;
serverEvent = server;
count++;
}
public void runtimeTargetChanged(IProject project2, IRuntime runtime) {
projectEvent = project2;
runtimeEvent = runtime;
count++;
}
};
public static Test suite() {
return new OrderedTestSuite(ProjectPropertiesTestCase.class, "AbstractServerTestCase");
}
public void test00GetProperties() throws Exception {
project = ResourcesPlugin.getWorkspace().getRoot().getProject("test");
if (project != null && !project.exists()) {
project.create(null);
project.open(null);
}
props = ServerCore.getProjectProperties(project);
}
public void test01AddListener() throws Exception {
props.addProjectPropertiesListener(listener);
}
public void test02GetServer() throws Exception {
assertNull(props.getDefaultServer());
}
public void test03GetRuntime() throws Exception {
assertNull(props.getRuntimeTarget());
}
public void test04GetServerProject() throws Exception {
assertFalse(((ProjectProperties) props).isServerProject());
}
public void test05TestListener() throws Exception {
assertTrue(count == 0);
}
public void test06SetServer() throws Exception {
props.setDefaultServer(null, null);
}
public void test07TestListener() throws Exception {
// no event since we didn't change it
assertTrue(count == 0);
count = 0;
serverEvent = null;
}
public void test08SetRuntime() throws Exception {
props.setRuntimeTarget(null, null);
}
public void test09TestListener() throws Exception {
// no event again
assertTrue(count == 0);
count = 0;
runtimeEvent = null;
}
public void test10SetServerProject() throws Exception {
ProjectProperties pp = (ProjectProperties) props;
pp.setServerProject(true, null);
assertTrue(pp.isServerProject());
}
public void test11UnsetServerProject() throws Exception {
ProjectProperties pp = (ProjectProperties) props;
pp.setServerProject(false, null);
assertFalse(pp.isServerProject());
}
public void test12TestListener() throws Exception {
assertTrue(count == 0);
}
public void test13RemoveListener() throws Exception {
props.removeProjectPropertiesListener(listener);
}
public void test14End() throws Exception {
project.delete(true, true, null);
}
public void test15CheckListener() throws Exception {
IProjectPropertiesListener listener2 = new IProjectPropertiesListener() {
public void defaultServerChanged(IProject project2, IServer server) {
// ignore
}
public void runtimeTargetChanged(IProject project2, IRuntime runtime) {
// ignore
}
};
listener2.defaultServerChanged(null, null);
listener2.runtimeTargetChanged(null, null);
}
}