Package org.testng.internal
Class Utils
- java.lang.Object
-
- org.testng.internal.Utils
-
public final class Utils extends java.lang.Object
Helper methods to parse annotations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Utils.StackTraceType
-
Field Summary
Fields Modifier and Type Field Description static char
CHAR_REPLACEMENT
private static java.util.Map<java.lang.Character,java.lang.String>
ESCAPES
private static java.lang.String
FORMAT
private static java.lang.String
LINE_SEP
private static Logger
LOG
private static int
m_verbose
private static char[]
SPECIAL_CHARACTERS
static char
UNICODE_REPLACEMENT
-
Constructor Summary
Constructors Modifier Constructor Description private
Utils()
Hide constructor for utility class.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
annotationFormFor(ITestNGMethod method)
Given a TestNG method, returns the corresponding annotation based on the method typestatic java.lang.String
arrayToString(java.lang.String[] strings)
private static java.lang.String
buildStackTrace(java.lang.Throwable t, boolean toHtml, Utils.StackTraceType type)
static void
checkInstanceOrStatic(java.lang.Object instance, java.lang.reflect.Method method)
static void
checkReturnType(java.lang.reflect.Method method, java.lang.Class<?>... returnTypes)
static java.lang.String
defaultIfStringEmpty(java.lang.String s, java.lang.String defaultValue)
static java.lang.String
detailedMethodName(ITestNGMethod method)
static java.lang.String
detailedMethodName(ITestNGMethod method, boolean fqn)
static void
error(java.lang.String errorMessage)
static java.lang.String
escapeHtml(java.lang.String s)
static java.lang.String
escapeUnicode(java.lang.String s)
(package private) static java.lang.String
filterTrace(java.lang.String trace)
static int
getVerbose()
static boolean
isStringBlank(java.lang.String s)
static boolean
isStringEmpty(java.lang.String s)
static boolean
isStringNotBlank(java.lang.String s)
static boolean
isStringNotEmpty(java.lang.String s)
private static boolean
isTooVerbose()
static <T> java.lang.String
join(java.util.List<T> objects, java.lang.String separator)
static void
log(java.lang.String msg)
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 getVerbose().static java.lang.String
longStackTrace(java.lang.Throwable t, boolean toHtml)
Helper that returns a short stack trace.private static java.io.BufferedWriter
openWriter(java.io.File outputFile, java.lang.String encoding)
static java.io.BufferedWriter
openWriter(java.lang.String outputDir, java.lang.String fileNameParameter)
Open a BufferedWriter for the specified file.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.static void
setVerbose(int n)
static java.lang.String
shortStackTrace(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)
static java.lang.String
stringifyTypes(java.lang.Class<?>[] parameterTypes)
private static java.lang.String
toString(java.lang.Class<?>[] classes)
static java.lang.String
toString(java.lang.Object obj)
Returns the string representation of the specified object, transparently handling null references and arrays.static java.lang.String
toString(java.lang.Object object, java.lang.Class<?> objectClass)
static void
warn(java.lang.String warnMsg)
private static void
writeFile(java.io.File outputFile, java.lang.String sb, java.lang.String encoding)
private static void
writeFile(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 void
writeFile(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 void
writeResourceToFile(java.io.File file, java.lang.String resourceName, java.lang.Class<?> clasz)
static void
writeUtf8File(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 void
writeUtf8File(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
-
m_verbose
private static int m_verbose
-
-
Method Detail
-
getVerbose
public static int getVerbose()
-
setVerbose
public static void setVerbose(int n)
-
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). Ifnull
then 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). Ifnull
then 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.IOException
Open 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 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)
-
warn
public static void warn(java.lang.String warnMsg)
-
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
- - TheThrowable
exceptiontoHtml
- -true
if 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
- - TheThrowable
exceptiontoHtml
- -true
if 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)
-
detailedMethodName
public static java.lang.String detailedMethodName(ITestNGMethod method)
-
annotationFormFor
public static java.lang.String annotationFormFor(ITestNGMethod method)
Given a TestNG method, returns the corresponding annotation based on the method type- Parameters:
method
- - AnITestNGMethod
object.- 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
-
stringifyTypes
public static java.lang.String stringifyTypes(java.lang.Class<?>[] parameterTypes)
-
-