blob: 37e2823280d2749a4523e33ac71ff7b871cd122e [file] [log] [blame]
package org.testng.internal;
import org.testng.ITestResult;
import org.testng.collections.Maps;
import java.util.Map;
import java.util.Properties;
/**
* Constants used by TestNG
*
* @author Cedric Beust, May 2, 2004
*
*/
public class Constants {
private static final String NAMESPACE = "testng";
//////// //
// Properties
//
public static final String PROP_OUTPUT_DIR = NAMESPACE + "." + "outputDir";
// public static final String PROP_NAME = NAMESPACE + "." + "name";
// public static final String PROP_INCLUDED_GROUPS = NAMESPACE + "." + "includedGroups";
// public static final String PROP_EXCLUDED_GROUPS = NAMESPACE + "." + "excludedGroups";
// public static final String PROP_CLASS_NAMES = NAMESPACE + "." + "classNames";
// public static final String PROP_VERBOSE = NAMESPACE + "." + "verbose";
// public static final String PROP_JUNIT= NAMESPACE + "." + "junit";
// public static final String PROP_QUIET= NAMESPACE + "." + "quiet";
// public static final String PROP_GROUP= NAMESPACE + "." + "group";
private static final TestNGProperty[] COMMAND_LINE_PARAMETERS = {
new TestNGProperty("-d", PROP_OUTPUT_DIR, "Directory where the result files will be created.", "test-output"),
};
private static final Map<String, TestNGProperty> m_propertiesByName = Maps.newHashMap();
static {
// for (int i = 0; i < PROPERTIES.length; i++) {
// m_propertiesByName.put(PROPERTIES[i].getName(), PROPERTIES[i]);
// }
for (TestNGProperty element : COMMAND_LINE_PARAMETERS) {
m_propertiesByName.put(element.getName(), element);
}
}
private static TestNGProperty getProperty(String propertyName) {
TestNGProperty result = m_propertiesByName.get(propertyName);
assert null != result : "Unknown property : " + propertyName;
return result;
}
public static String getPropertyValue(Properties p, String propertyName) {
TestNGProperty r= getProperty(propertyName);
assert null != r : "Unknown property : " + propertyName;
String result = p.getProperty(r.getName());
return result;
}
public static boolean getBooleanPropertyValue(Properties properties, String propertyName) {
TestNGProperty p = getProperty(propertyName);
String r = properties.getProperty(propertyName, p.getDefault());
boolean result = "true".equalsIgnoreCase(r);
return Boolean.valueOf( result).booleanValue();
}
public static int getIntegerPropertyValue(Properties properties, String propertyName) {
TestNGProperty p = getProperty(propertyName);
String r = properties.getProperty(propertyName, p.getDefault());
int result = Integer.parseInt(r);
return result;
}
public static String getDefaultValueFor(String propertyName) {
TestNGProperty p = getProperty(propertyName);
return p.getDefault();
}
/**
* @param status
* @return
*/
public static String displayStatus(int status) {
if (ITestResult.SKIP == status) {
return "SKIP";
} else if (ITestResult.SUCCESS == status) {
return "SUCCESS";
} else if (ITestResult.FAILURE == status) {
return "FAILURE";
} else {
return "UNKNOWN_STATUS";
}
}
}