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.
-
-
Field Summary
Fields Modifier and Type Field Description static char
CHAR_REPLACEMENT
static char
UNICODE_REPLACEMENT
-
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)
static void
checkInstanceOrStatic(java.lang.Object instance, java.lang.reflect.Method method)
Make sure that either we have an instance or if not, that the method is staticstatic 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, 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)
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)
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 TestRunner.getVerbose().static java.lang.String
longStackTrace(java.lang.Throwable t, boolean toHtml)
Helper that returns a short stack trace.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 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)
Tokenize the string using the separator.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
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
-
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
-
-
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). If null 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). If null then current directory is used.fileName
- the filenamesb
- the file content
-
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. If null, then current directory is usedfileNameParameter
- file name- Throws:
java.io.IOException
- if anything goes wrong while creating files.
-
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)
Tokenize the string using the separator.
-
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.
-
escapeHtml
public static java.lang.String escapeHtml(java.lang.String s)
-
escapeUnicode
public static java.lang.String escapeUnicode(java.lang.String s)
-
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
- - 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)
Make sure that either we have an instance or if not, that the method is static
-
checkReturnType
public static void checkReturnType(java.lang.reflect.Method method, java.lang.Class<?>... returnTypes)
-
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
-
-