org.specs.runner.HtmlSuite

class HtmlSuite

case class HtmlSuite(val specs : Seq[Specification], val outputDirPath : String, val fName : (Specification) => String)

 extends FileSuite with Html with Product


The HtmlSuite class is almost the same as the HtmlRunner class but can be extended with a JUnit trait.


Companion: HtmlSuite

Source: HtmlRunner.scala(33)

 Constructors

def this(specification : Specification, outputDirPath : String)
Alternative constructor with one specification only
def this
Alternative constructor with no specific specifications and default values [details]
This runner can report specifications using the report method. This capacity is used in conjunction with the Runner class:
   object runner extends Runner(spec1 :: spec2, HtmlRunner() :: XmlRunner())
   
def this(specifications : Specification*)
Alternative constructor with a default value for the output directory
def this(spec : Specification, outputDirPath : String, fName : (Specification) => String)
Alternative constructor with one specification only
def this(specs : Seq[Specification], outputDirPath : String, fName : (Specification) => String)

 Fields

Debug val Debug Int Log
Error val Error Int Log
Info val Info Int Log
Warning val Warning Int Log
args var args
optional arguments to be used in the main method and which can be set from the code directly
Array[String] Reporter
descriptionFormatter val descriptionFormatter DescriptionFormatter Html
failedAndErrorsOnly protected var failedAndErrorsOnly
this variable controls if ok examples should be printed
Boolean Reporter
javaScript def javaScript Elem Html
level var level Int Log
outputDir override def outputDir
definition of the output directory of the report
String
productArity override def productArity Int
productPrefix override def productPrefix String
reportSpecs def reportSpecs
report the list of specifications held by the object mixing this trait
Reporter Reporter
stacktrace protected var stacktrace
this variable controls if stacktraces should be printed
Boolean Reporter
timer val timer
this timer uses java Calendar to compute hours, minutes, seconds and milliseconds
SimpleTimer Console
upArrow def upArrow
create an up arrow with an anchor ref to the top
Elem Html

 Methods

!= final def !=(arg0 : Object) Boolean AnyRef
!= final def !=(arg0 : Any) Boolean Any
:: def ::(r : Reporter) List[Reporter] Reporter
== final def ==(arg0 : Any) Boolean Any
== final def ==(arg0 : Object) Boolean AnyRef
anchorName def anchorName(name : String)
creates an anchor name, sanitizing the name
Elem Html
anchorRef def anchorRef(name : String)
creates an anchor reference for a given name, possibly shortening it for the left column display, but leaving the full name as a tooltip
Elem Html
asHtml def asHtml(spec : Specification)
Create the html content for this specification execution [details]
The html page is composed of a left column with a table summarizing the status for all systems and a right (larger) column with a table containing all examples.
Elem Html
asInstanceOf final def asInstanceOf[T0] T0 Any
canRead def canRead(path : String)
[details]
return
- true if the file can be read
Boolean FileSystem
canWrite def canWrite(path : String)
[details]
return
- true if the file can be written
Boolean FileSystem
clone protected def clone Object AnyRef
copy def copy(input : InputStream, output : OutputStream)
Copy an input stream to an output stream [details]
param
output - output stream
input - input stream
Unit FileSystem
copyDir def copyDir(url : URL, dest : String, tagged : Tagged)
copy the content of a directory to another [details]
param
excluded - names for excluded files
dest - destination directory path
included - names for included files
url - url of the directory to copy
Unit FileSystem
copyDir def copyDir(src : String, dest : String, tagged : Tagged)
copy the content of a directory to another [details]
param
excluded - names for excluded files
dest - destination directory path
included - names for included files
path - path of the directory to copy
Unit FileSystem
copyDir def copyDir(url : URL, dest : String)
copy the content of a directory to another [details]
param
dest - destination directory path
url - url of the directory to copy
Unit FileSystem
copyDir def copyDir(src : String, dest : String)
copy the content of a directory to another [details]
param
dest - destination directory path
path - path of the directory to copy
Unit FileSystem
copyFile def copyFile(path : String, dest : String)
Copy the content of a directory to another [details]
param
dest - destination directory path
path - path of the file to copy
Unit FileSystem
copySpecResourcesDir def copySpecResourcesDir(src : String, outputDir : String)
Copy specs resources found either in the specs jar or in the classpath directories to an output directory [details]
Current limitations!! This only works if the jar holding the resources contains the word "specs".
param
outputDir - output directory where to copy the files to
src - name of the resource directory to copy
Unit FileSystem
createDir def createDir(path : String)
creates a directory for a given path
Boolean FileSystem
createFile def createFile(path : String)
creates a file for a given path [details]
Create the parent directory if necessary.
Unit FileWriter
debug def debug(msg : => String)
prints the message if the log level is Debug
Unit Log
eq final def eq(arg0 : Object) Boolean AnyRef
equals override def equals(arg0 : Any) Boolean
error def error(msg : => String)
prints the message if the log level is <= Error
Unit Log
example def example(example : Example, alternation : Boolean, fullSuccess : Boolean)
create a row for an example and its subexamples [details]
If the example has subexamples, a small header is created.
Seq[Node] Html
exampleRow def exampleRow(example : Example, alternation : Boolean, fullSuccess : Boolean)
create a row for an example with its status, description and message
Elem Html
exampleRows def exampleRows(examples : Iterable[Example], fullSuccess : Boolean)
create rows for each example, alternating style
NodeSeq Html
examplesTable def examplesTable(sus : Sus) Seq[Node] Html
exceptionText def exceptionText(e : Throwable) Elem Html
exists def exists(path : String)
[details]
return
- true if the file exists
Boolean FileSystem
failure def failure(f : FailureException)
the failure message for an example is displayed differently depending on its nature [details]
Failures for DataTables will be reported in a nested table.
NodeSeq Html
fileName override def fileName(spec : Specification)
definition of the file name of a specification
String
filePath def filePath(spec : Specification)
the default path is the output dir + file name
String File
filePaths def filePaths(path : String)
[details]
param
path - glob expression, for example: ./dir*.xml
return
- the list of paths represented by the "glob" definition path
List[String] FileSystem
finalize protected def finalize Unit AnyRef
flush override def flush
flushes the content if necessary
Unit ConsoleOutput
formattedDesc def formattedDesc(ex : Example) Node Html
formattedDescription def formattedDescription(sus : Sus)
return a formatted string depending on the type of literate description: text, wiki or html
Option[Node] Html
getAbsolutePath def getAbsolutePath(path : String)
[details]
return
- the file absolute path
String FileSystem
getCanonicalPath def getCanonicalPath(path : String)
[details]
return
- the file canonical path
String FileSystem
getClass final def getClass Class[Object] AnyRef
getName def getName(path : String)
[details]
return
- the file name
String FileSystem
getParent def getParent(path : String)
[details]
return
- the file parent path
String FileSystem
getResourcesNamed def getResourcesNamed(name : String)
Return urls of the resources containing the name "name" from this ClassLoader and the System classLoader [details]
param
name - name of the resource to find
return
- a list of URL
List[URL] FileSystem
getWriter def getWriter(path : String)
The getWriter function can be overriden to provide a mock writer writing to the console for example [details]
return
- a Writer object opened on the file designated by path
Writer FileWriter
globToPattern def globToPattern(glob : String)
[details]
return
- the regular expression equivalent to a glob pattern (see the specs for examples)
String FileSystem
hashCode override def hashCode Int
head def head(specification : Specification)
head declaration for the specification [details]
The title of the document is the specification name.
Elem Html
image def image(result : HasResults) String Html
info def info(msg : => String)
prints the message if the log level is <= Info
Unit Log
isAbsolute def isAbsolute(path : String)
[details]
return
- true if the file is absolute
Boolean FileSystem
isDir def isDir(path : String)
[details]
return
- true if the File represented by this path is a directory
Boolean FileSystem
isDirectory def isDirectory(path : String)
[details]
return
- true if the file is a directory
Boolean FileSystem
isFile def isFile(path : String)
[details]
return
- true if the file is a file
Boolean FileSystem
isHidden def isHidden(path : String)
[details]
return
- true if the file is hidden
Boolean FileSystem
isInstanceOf final def isInstanceOf[T0] Boolean Any
listFiles def listFiles(path : String)
[details]
return
- the files of that directory
List[String] FileSystem
literateDesc def literateDesc(sus : Sus) NodeSeq Html
main def main(arguments : Array[String])
Main method for the Reporter trait [details]
It first agregates all arguments: passed to the class and passed from the command line. Then it calls the reportSpecs method and exit the System with the appropriate error code, depending on the specification success or not.
Unit Reporter
message def message(example : Example, fullSuccess : Boolean)
Message for an example
NodeSeq Html
mkdirs def mkdirs(path : String)
creates a new directory
Boolean FileWriter
ne final def ne(arg0 : Object) Boolean AnyRef
nonTrivialSpec def nonTrivialSpec(specification : Specification) Boolean Html
normalize def normalize(dir : String)
[details]
return
- s a path with Unix like path separators and a final / separator
String File
notify final def notify Unit AnyRef
notifyAll final def notifyAll Unit AnyRef
onLoadFunction def onLoadFunction(specification : Specification)
reduce a list with a function returning a NodeSeq
String Html
printStackTrace def printStackTrace(t : Throwable)
prints stacktraces
Unit Output
printStats def printStats(stat : (Int, Int, Int, Int, Int), padding : String)
prints the statistics for a specification
Unit OutputReporter
printStats def printStats(sus : Sus, padding : String)
prints the statistics for a sus
Unit OutputReporter
printSus def printSus(sus : Sus, padding : String)
prints one sus specification
Unit OutputReporter
printf def printf(format : String, args : Any*)
prints several objects according to a format string (see Console [details]
printf)
Unit ConsoleOutput
println def println(m : Any)
prints an object with a newline
Unit ConsoleOutput
productElement override def productElement(arg0 : Int) Any
readFile def readFile(path : String)
reads the content of a file [details]
param
path - the path of the file to read
return
- the content of the file at path
String FileReader
removeDir def removeDir(path : String)
deletes the directory and all directory contents at the specified path and return the parent path of that directory
String FileSystem
report def report(specs : Seq[Specification], padding : String)
reports a list of specifications with a given space separator to display before the results [details]

This method may be called recursively by the reportSpec method if a specification has subSpecifications, hence the padding will be incremented
OutputReporter OutputReporter
report override def report(specifications : Seq[Specification])
report the specification hold by this runner
Html Html
reportExample def reportExample(example : Example, padding : String)
reports one example: + if it succeeds, x if it fails, its description, its failures or errors
Unit OutputReporter
reportExamples def reportExamples(examples : Iterable[Example], padding : String)
reports a list of examples and indent subexamples if there are some
Unit OutputReporter
reportSpec def reportSpec(spec : Specification, padding : String)
reports a specification with a given space separator to display before the results [details]

This method may be called recursively by the reportSpec method if a specification has subSpecifications, hence the padding will be incremented
OutputReporter OutputReporter
reportSus def reportSus(sus : Sus, padding : String)
reports one sus results: print the sus specifications, then the statistics
Unit OutputReporter
reportSystems def reportSystems(systems : Iterable[Sus], padding : String)
reports the sus results [details]
If there are more than one, then report stats for each else just print the specification of the sus, the parent specification will display the total for that sus
Unit OutputReporter
resetOptions def resetOptions
reset all options
Reporter Reporter
sanitize def sanitize(s : String)
sanitize a string so that it can be used as a href
String Html
setFailedAndErrorsOnly def setFailedAndErrorsOnly
allow subclasses to remove the ok and skipped examples
Reporter Reporter
setNoStacktrace def setNoStacktrace
allow subclasses to remove the stacktrace display
Reporter Reporter
shorten def shorten(s : String)
shorten a string to 30 characters maximum
String Html
specOutput def specOutput(spec : Specification)
define the html content for this specification execution
String Html
specificationTable def specificationTable(spec : Specification)
create a table for one specification
Seq[Node] Html
stackTrace def stackTrace(e : Throwable) String Html
stats def stats(sus : Sus)
[details]
return
- the number of examples, expectations, failures and errors for a sus by collecting those numbers on examples
(Int, Int, Int, Int, Int) OutputReporter
stats def stats(spec : Specification)
[details]
return
- the number of examples, expectations, failures and errors for a specification by collecting those numbers on sub-specifications and systems
(Int, Int, Int, Int, Int) OutputReporter
stats def stats(example : Example)
[details]
return
- the number of examples, expectations, failures and errors for an example by collecting those numbers on this example and on sub-examples
(Int, Int, Int, Int, Int) OutputReporter
statusIcon def statusIcon(result : HasResults)
status icon for anything having results (errors, failures, skipped)
Elem Html
subspecsTables def subspecsTables(subSpecs : List[Specification])
create tables for all the subspecifications
NodeSeq Html
summarySpec def summarySpec(spec : Specification)
returns the title of the specification spanning 2 columns for the summary table
NodeSeq Html
summarySus def summarySus(sus : Sus, spec : Specification)
creates a summary row for a sus
NodeSeq Html
summaryTable def summaryTable(specification : Specification)
returns a table with the name of all systems, with their status, possibly shortened if the system's description is too long
Elem Html
susHeader def susHeader(sus : Sus)
return the sus header if not empty or an Empty Node
Seq[Node] Html
susName def susName(sus : Sus, spec : Specification)
return the sus header if it is not empty, otherwise return the spec name
String Html
susTable def susTable(sus : Sus, spec : Specification)
create a table for a system
NodeSeq Html
susTables def susTables(spec : Specification)
create tables for systems
NodeSeq Html
synchronized final def synchronized[T0](arg0 : T0) T0 AnyRef
toAddableTuple implicit def toAddableTuple(t1 : (Int, Int, Int, Int, Int))
utility implicit definition to be able to add tuples
AddableTuple OutputReporter
toString override def toString String
unjar def unjar(path : String, dest : String)
Unjar the jar (or zip file) specified by "path" to the "dest" directory [details]
param
dest - destination directory path
path - path of the jar file
Unit FileSystem
unjar def unjar(path : String, dirPath : String, regexFilter : String)
Unjar the jar (or zip file) specified by "path" to the "dest" directory [details]
Filters files which shouldn't be extracted with a regular expression.
param
dest - destination directory path
regexFilter - regular expression filtering files which shouldn't be extracted
path - path of the jar file
Unit FileSystem
wait final def wait(arg0 : Long, arg1 : Int) Unit AnyRef
wait final def wait(arg0 : Long) Unit AnyRef
wait final def wait Unit AnyRef
warning def warning(msg : => String)
prints the message if the log level is <= Warning
Unit Log
write def write(path : String)(function : (Writer) => Unit)
writes some content to a file and take care of closing the file [details]

Usage:

   write("./dir/hello.txt") { out =>
     out.write("content")
   }
   
param
path - path of the file to write
Unit FileWriter
writeFile def writeFile(path : String, content : => String)
writes some content to a file [details]
param
path - path of the file to read @content content of the file to write
Unit FileWriter
Copyright (c) 2007-2009. All Rights Reserved.