trait ModifiablePayload[T <: Throwable] extends AnyRef
Trait implemented by PayloadField
exception types that can modify their payload.
This trait facilitates the withPayload
construct provided by trait
Payloads
. This construct enables a payload object (or modified
payload object) to be included as the payload of a thrown exception. The payload
can then be included in the ScalaTest event that results from that exception. For
example, the payload included in a TestFailedException
will be included
as the payload of the resulting TestFailed
event. Here's an example in
which a GUI snapshot is included as a payload when a test fails:
withPayload(generateGUISnapshot()) { 1 + 1 should === (3) }
Exception types that mix in this trait have a modifyPayload
method, which
returns an exception identical to itself, except with the payload option replaced with
the result of invoking the passed function, supplying the current payload option
as the lone Option[Any]
parameter.
- Self Type
- ModifiablePayload[T] with Throwable with PayloadField
- Source
- ModifiablePayload.scala
- Alphabetic
- By Inheritance
- ModifiablePayload
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def modifyPayload(fun: (Option[Any]) => Option[Any]): T
Returns an instance of this exception's class, identical to this exception, except with the payload option replaced with the result of invoking the passed function,
fun
, supplying the current payload option as the loneOption[Any]
parameter.Returns an instance of this exception's class, identical to this exception, except with the payload option replaced with the result of invoking the passed function,
fun
, supplying the current payload option as the loneOption[Any]
parameter.Implementations of this method may either mutate this exception or return a new instance with the revised detail message.
- fun
A function that returns the new payload option given the old one
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()