Home | History | Annotate | Download | only in internal
      1 package org.testng.internal;
      2 
      3 import java.util.Map;
      4 import java.util.Properties;
      5 
      6 import org.testng.ITestResult;
      7 import org.testng.collections.Maps;
      8 
      9 
     10 
     11 /**
     12  * Constants used by TestNG
     13  *
     14  * @author Cedric Beust, May 2, 2004
     15  *
     16  */
     17 public class Constants {
     18   private static final String NAMESPACE = "testng";
     19 
     20 ////////  //
     21   // Properties
     22   //
     23   public static final String PROP_OUTPUT_DIR = NAMESPACE + "." + "outputDir";
     24 //  public static final String PROP_NAME = NAMESPACE + "." + "name";
     25 //  public static final String PROP_INCLUDED_GROUPS = NAMESPACE + "." + "includedGroups";
     26 //  public static final String PROP_EXCLUDED_GROUPS = NAMESPACE + "." + "excludedGroups";
     27 //  public static final String PROP_CLASS_NAMES = NAMESPACE + "." + "classNames";
     28 //  public static final String PROP_VERBOSE = NAMESPACE + "." + "verbose";
     29 //  public static final String PROP_JUNIT= NAMESPACE + "." + "junit";
     30 //  public static final String PROP_QUIET= NAMESPACE + "." + "quiet";
     31 //  public static final String PROP_GROUP= NAMESPACE + "." + "group";
     32 
     33   private static final TestNGProperty[] COMMAND_LINE_PARAMETERS = {
     34     new TestNGProperty("-d", PROP_OUTPUT_DIR, "Directory where the result files will be created.", "test-output"),
     35   };
     36 
     37   private static final Map<String, TestNGProperty> m_propertiesByName = Maps.newHashMap();
     38 
     39   static {
     40 //    for (int i = 0; i < PROPERTIES.length; i++) {
     41 //      m_propertiesByName.put(PROPERTIES[i].getName(), PROPERTIES[i]);
     42 //    }
     43     for (TestNGProperty element : COMMAND_LINE_PARAMETERS) {
     44       m_propertiesByName.put(element.getName(), element);
     45     }
     46   }
     47 
     48   private static TestNGProperty getProperty(String propertyName) {
     49     TestNGProperty result = m_propertiesByName.get(propertyName);
     50     assert null != result : "Unknown property : " + propertyName;
     51 
     52     return result;
     53   }
     54 
     55   public static String getPropertyValue(Properties p, String propertyName) {
     56     TestNGProperty r= getProperty(propertyName);
     57     assert null != r : "Unknown property : " + propertyName;
     58 
     59     String result = p.getProperty(r.getName());
     60 
     61     return result;
     62   }
     63 
     64   public static boolean getBooleanPropertyValue(Properties properties, String propertyName) {
     65     TestNGProperty p = getProperty(propertyName);
     66     String r = properties.getProperty(propertyName, p.getDefault());
     67     boolean result = "true".equalsIgnoreCase(r);
     68 
     69     return Boolean.valueOf(result);
     70   }
     71 
     72   public static int getIntegerPropertyValue(Properties properties, String propertyName) {
     73     TestNGProperty p = getProperty(propertyName);
     74     String r = properties.getProperty(propertyName, p.getDefault());
     75     int result = Integer.parseInt(r);
     76 
     77     return result;
     78   }
     79 
     80   public static String getDefaultValueFor(String propertyName) {
     81     TestNGProperty p = getProperty(propertyName);
     82     return p.getDefault();
     83   }
     84 
     85   public static String displayStatus(int status) {
     86     if (ITestResult.SKIP == status) {
     87       return "SKIP";
     88     } else if (ITestResult.SUCCESS == status) {
     89       return "SUCCESS";
     90     } else if (ITestResult.FAILURE == status) {
     91       return "FAILURE";
     92     } else {
     93       return "UNKNOWN_STATUS";
     94     }
     95   }
     96 
     97 }
     98