Package org.testng.internal
Class Utils
- java.lang.Object
-
- org.testng.internal.Utils
-
public final class Utils extends java.lang.ObjectHelper methods to parse annotations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classUtils.StackTraceType
-
Field Summary
Fields Modifier and Type Field Description static charCHAR_REPLACEMENTprivate static java.util.Map<java.lang.Character,java.lang.String>ESCAPESprivate static java.lang.StringFORMATprivate static java.lang.StringLINE_SEPprivate static LoggerLOGprivate static char[]SPECIAL_CHARACTERSstatic charUNICODE_REPLACEMENT
-
Constructor Summary
Constructors Modifier Constructor Description privateUtils()Hide constructor for utility class.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringannotationFormFor(ITestNGMethod method)Given a TestNG method, returns the corresponding annotation based on the method typestatic java.lang.StringarrayToString(java.lang.String[] strings)private static java.lang.StringbuildStackTrace(java.lang.Throwable t, boolean toHtml, Utils.StackTraceType type)static voidcheckInstanceOrStatic(java.lang.Object instance, java.lang.reflect.Method method)static voidcheckReturnType(java.lang.reflect.Method method, java.lang.Class<?>... returnTypes)static java.lang.StringdefaultIfStringEmpty(java.lang.String s, java.lang.String defaultValue)static java.lang.StringdetailedMethodName(ITestNGMethod method, boolean fqn)static voiderror(java.lang.String errorMessage)static java.lang.StringescapeHtml(java.lang.String s)static java.lang.StringescapeUnicode(java.lang.String s)(package private) static java.lang.StringfilterTrace(java.lang.String trace)static booleanisStringBlank(java.lang.String s)static booleanisStringEmpty(java.lang.String s)static booleanisStringNotBlank(java.lang.String s)static booleanisStringNotEmpty(java.lang.String s)private static booleanisTooVerbose()static <T> java.lang.Stringjoin(java.util.List<T> objects, java.lang.String separator)static voidlog(java.lang.String msg)static voidlog(java.lang.String cls, int level, java.lang.String msg)Logs the the message to System.out if level is greater than or equal to TestRunner.getVerbose().static java.lang.StringlongStackTrace(java.lang.Throwable t, boolean toHtml)Helper that returns a short stack trace.private static java.io.BufferedWriteropenWriter(java.io.File outputFile, java.lang.String encoding)static java.io.BufferedWriteropenWriter(java.lang.String outputDir, java.lang.String fileNameParameter)Open a BufferedWriter for the specified file.static java.lang.StringreplaceSpecialCharacters(java.lang.String fileNameParameter)If the file name contains special characters like *,/,\ and so on, exception will be thrown and report file will not be created.
Special characters are platform specific and they are not same for example on Windows and Macintosh.static java.lang.StringshortStackTrace(java.lang.Throwable t, boolean toHtml)Helper that returns a long stack trace.static java.lang.String[]split(java.lang.String string, java.lang.String sep)private static java.lang.StringtoString(java.lang.Class<?>[] classes)static java.lang.StringtoString(java.lang.Object obj)Returns the string representation of the specified object, transparently handling null references and arrays.static java.lang.StringtoString(java.lang.Object object, java.lang.Class<?> objectClass)private static voidwriteFile(java.io.File outputFile, java.lang.String sb, java.lang.String encoding)private static voidwriteFile(java.io.File outputFolder, java.lang.String fileNameParameter, java.lang.String sb, java.lang.String encoding)Writes the content of the sb string to the file named filename in outDir.static voidwriteFile(java.lang.String outputDir, java.lang.String fileName, java.lang.String sb)Writes the content of the sb string to the file named filename in outDir.static voidwriteResourceToFile(java.io.File file, java.lang.String resourceName, java.lang.Class<?> clasz)static voidwriteUtf8File(java.lang.String outputDir, java.lang.String fileName, java.lang.String sb)Writes the content of the sb string to the file named filename in outDir encoding the output as UTF-8.static voidwriteUtf8File(java.lang.String outputDir, java.lang.String fileName, XMLStringBuffer xsb, java.lang.String prefix)
-
-
-
Field Detail
-
LINE_SEP
private static final java.lang.String LINE_SEP
-
SPECIAL_CHARACTERS
private static final char[] SPECIAL_CHARACTERS
-
CHAR_REPLACEMENT
public static final char CHAR_REPLACEMENT
- See Also:
- Constant Field Values
-
UNICODE_REPLACEMENT
public static final char UNICODE_REPLACEMENT
- See Also:
- Constant Field Values
-
FORMAT
private static final java.lang.String FORMAT
-
LOG
private static final Logger LOG
-
ESCAPES
private static final java.util.Map<java.lang.Character,java.lang.String> ESCAPES
-
-
Method Detail
-
writeUtf8File
public static void writeUtf8File(@Nullable java.lang.String outputDir, java.lang.String fileName, XMLStringBuffer xsb, java.lang.String prefix)
-
writeUtf8File
public static void writeUtf8File(@Nullable java.lang.String outputDir, java.lang.String fileName, java.lang.String sb)Writes the content of the sb string to the file named filename in outDir encoding the output as UTF-8. If outDir does not exist, it is created.- Parameters:
outputDir- the output directory (may not exist). Ifnullthen current directory is used.fileName- the filenamesb- the file content
-
writeFile
public static void writeFile(@Nullable java.lang.String outputDir, java.lang.String fileName, java.lang.String sb)Writes the content of the sb string to the file named filename in outDir. If outDir does not exist, it is created.- Parameters:
outputDir- the output directory (may not exist). Ifnullthen current directory is used.fileName- the filenamesb- the file content
-
writeFile
private static void writeFile(@Nullable java.io.File outputFolder, java.lang.String fileNameParameter, java.lang.String sb, @Nullable java.lang.String encoding)Writes the content of the sb string to the file named filename in outDir. If outDir does not exist, it is created.- Parameters:
outputFolder- the output directory (may not exist). If null then current directory is used.fileNameParameter- the filenamesb- the file content
-
writeFile
private static void writeFile(java.io.File outputFile, java.lang.String sb, @Nullable java.lang.String encoding)
-
openWriter
public static java.io.BufferedWriter openWriter(@Nullable java.lang.String outputDir, java.lang.String fileNameParameter) throws java.io.IOExceptionOpen a BufferedWriter for the specified file. If output directory doesn't exist, it is created. If the output file exists, it is deleted. The output file is created in any case.- Parameters:
outputDir- output directory. Ifnull, then current directory is usedfileNameParameter- file name- Throws:
java.io.IOException- if anything goes wrong while creating files.
-
openWriter
private static java.io.BufferedWriter openWriter(java.io.File outputFile, @Nullable java.lang.String encoding) throws java.io.IOException- Throws:
java.io.IOException
-
log
public static void log(java.lang.String msg)
-
log
public static void log(java.lang.String cls, int level, java.lang.String msg)Logs the the message to System.out if level is greater than or equal to TestRunner.getVerbose(). The message is logged as:"[cls] msg"- Parameters:
cls- the class name to prefix the log message.level- the logging level of the message.msg- the message to log to System.out.
-
error
public static void error(java.lang.String errorMessage)
-
split
public static java.lang.String[] split(java.lang.String string, java.lang.String sep)
-
writeResourceToFile
public static void writeResourceToFile(java.io.File file, java.lang.String resourceName, java.lang.Class<?> clasz) throws java.io.IOException- Throws:
java.io.IOException
-
defaultIfStringEmpty
public static java.lang.String defaultIfStringEmpty(java.lang.String s, java.lang.String defaultValue)
-
isStringBlank
public static boolean isStringBlank(java.lang.String s)
-
isStringEmpty
public static boolean isStringEmpty(java.lang.String s)
-
isStringNotBlank
public static boolean isStringNotBlank(java.lang.String s)
-
isStringNotEmpty
public static boolean isStringNotEmpty(java.lang.String s)
-
longStackTrace
public static java.lang.String longStackTrace(java.lang.Throwable t, boolean toHtml)Helper that returns a short stack trace.- Parameters:
t- - TheThrowableexceptiontoHtml- -trueif the stacktrace should be translated to html as well- Returns:
- - A string that represents the short stack trace.
-
shortStackTrace
public static java.lang.String shortStackTrace(java.lang.Throwable t, boolean toHtml)Helper that returns a long stack trace.- Parameters:
t- - TheThrowableexceptiontoHtml- -trueif the stacktrace should be translated to html as well- Returns:
- - A string that represents the full stack trace.
-
buildStackTrace
private static java.lang.String buildStackTrace(java.lang.Throwable t, boolean toHtml, Utils.StackTraceType type)
-
isTooVerbose
private static boolean isTooVerbose()
-
escapeHtml
public static java.lang.String escapeHtml(java.lang.String s)
-
escapeUnicode
public static java.lang.String escapeUnicode(java.lang.String s)
-
filterTrace
static java.lang.String filterTrace(java.lang.String trace)
-
toString
public static java.lang.String toString(java.lang.Object object, java.lang.Class<?> objectClass)
-
detailedMethodName
public static java.lang.String detailedMethodName(ITestNGMethod method, boolean fqn)
-
annotationFormFor
public static java.lang.String annotationFormFor(ITestNGMethod method)
Given a TestNG method, returns the corresponding annotation based on the method type- Parameters:
method- - AnITestNGMethodobject.- Returns:
- - A String representation of the corresponding annotation.
-
arrayToString
public static java.lang.String arrayToString(java.lang.String[] strings)
-
replaceSpecialCharacters
public static java.lang.String replaceSpecialCharacters(java.lang.String fileNameParameter)
If the file name contains special characters like *,/,\ and so on, exception will be thrown and report file will not be created.
Special characters are platform specific and they are not same for example on Windows and Macintosh. * is not allowed on Windows, but it is on Macintosh.
In order to have the same behavior of testng on the all platforms, characters like * will be replaced on all platforms whether they are causing the problem or not.- Parameters:
fileNameParameter- file name that could contain special characters.- Returns:
- fileName with special characters replaced
-
join
public static <T> java.lang.String join(java.util.List<T> objects, java.lang.String separator)
-
checkInstanceOrStatic
public static void checkInstanceOrStatic(java.lang.Object instance, java.lang.reflect.Method method)
-
checkReturnType
public static void checkReturnType(java.lang.reflect.Method method, java.lang.Class<?>... returnTypes)
-
toString
private static java.lang.String toString(java.lang.Class<?>[] classes)
-
toString
public static java.lang.String toString(java.lang.Object obj)
Returns the string representation of the specified object, transparently handling null references and arrays.- Parameters:
obj- the object- Returns:
- the string representation
-
-