Packages

sealed trait When[R] extends Whenable[R]

Source
Whens.scala
Linear Supertypes
Whenable[R], Expectable[R], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. When
  2. Whenable
  3. Expectable
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type CW[+X] <: core.When[X]

    The concrete core.When type constructor which this fluent.When is a builder for.

  2. abstract type This[X] <: When[X]

    The concrete When type constructor to which the actions will be applied.

Abstract Value Members

  1. abstract def parent: ExpectBlock[R]
  2. abstract def readFrom: FromInputStream
  3. abstract def toCore: CW[R]

    returns

    the core.When equivalent of this fluent.When.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from When[R] to any2stringadd[When[R]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (When[R], B)
    Implicit
    This member is added by an implicit conversion from When[R] to ArrowAssoc[When[R]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. val actions: Seq[Action[R, CW]]
    Attributes
    protected
  7. def addActions(f: (This[R]) ⇒ Unit): This[R]

    Add arbitrary Actions to this When.

    Add arbitrary Actions to this When.

    This is helpful to refactor code. For example: imagine you want to perform the same actions whenever an error occurs. You could leverage this method to do so in the following way:

    def preemtiveExit(when: When[String]): Unit {
      when
        .returning("Got some error")
        .exit()
    }
    
    def parseOutputA: Expect[String] = {
      val e = new Expect("some command", "")
      e.expect
        .when(...)
          .action1
        .when(...)
          .addActions(preemtiveExit)
    }
    
    def parseOutputB: Expect[String] = {
      val e = new Expect("some command", "")
      e.expect(...)
        .addActions(preemtiveExit)
    }
    f

    function that adds Actions.

    returns

    this When.

  8. def addExpectBlock(f: (Expect[R]) ⇒ Unit): Expect[R]

    Add arbitrary ExpectBlocks to this Expect.

    Add arbitrary ExpectBlocks to this Expect.

    This is helpful to refactor code. For example: imagine you have an error case you want to add to multiple expects. You could leverage this method to do so in the following way:

    def errorCaseExpectBlock(expect: Expect[String]): Unit {
      expect.expect
        .when("Some error")
          .returning("Got some error")
    }
    
    //Then in your expects
    def parseOutputA: Expect[String] = {
      val e = new Expect("some command", "")
      e.expect(...)
      e.expect
        .when(...)
          .action1
        .when(...)
          .action2
      e.addExpectBlock(errorCaseExpectBlock)
    }
    
    def parseOutputB: Expect[String] = {
      val e = new Expect("some command", "")
      e.expect
        .when(...)
          .action1
          .action2
        .when(...)
          .action1
      e.expect(...)
        .action2
      e.addExpectBlock(errorCaseExpectBlock)
    }
    f

    function that adds ExpectBlocks.

    returns

    this Expect.

    Definition Classes
    Expectable
  9. def addWhen[W <: When[R]](f: (ExpectBlock[R]) ⇒ W): W

    Add an arbitrary When to this ExpectBlock.

    Add an arbitrary When to this ExpectBlock.

    This is helpful to refactor code. For example: imagine you have an error case you want to add to multiple ExpectBlocks. You could leverage this method to do so in the following way:

    def errorCaseWhen(expectBlock: ExpectBlock[String]): When[String] = {
      expectBlock
        .when("Some error")
          .returning("Got some error")
    }
    
    def parseOutputA: Expect[String] = {
      val e = new Expect("some command", "")
      e.expect
        .when(...)
          .sendln(...)
      e.expect
        .addWhen(errorCaseWhen)
          .exit()
    }
    
    def parseOutputB: Expect[String] = {
      val e = new Expect("some command", "")
      e.expect
        .when(...)
          .sendln(..)
          .returning(...)
        .addWhen(errorCaseWhen)
    }

    This function returns the added When which allows you to add further actions, see the exit action of the parseOutputA method in the above code.

    It is possible to add more than one When using this method, however this is discouraged since it will make the code somewhat more illegible because "hidden" Whens will also be added.

    If you need to add more than one When you have two options:

    e.expect
      .when(...)
         .sendln(..)
         .returning(...)
      .addWhen(errorCaseWhen)
      .addWhen(anotherWhen)
    e.expect
      .when(...)
         .sendln(..)
         .returning(...)
      .addWhens(multipleWhens)
    f

    function that adds the When.

    returns

    the added When.

    Definition Classes
    Whenable
  10. def addWhens(f: (ExpectBlock[R]) ⇒ Unit): ExpectBlock[R]

    Add arbitrary Whens to this ExpectBlock.

    Add arbitrary Whens to this ExpectBlock.

    This method is very similar to the addWhen with the following differences:

    1. f has a more relaxed type.
    2. It returns this ExpectBlock. Which effectively prohibits you from invoking When methods.
    3. Has a more semantic name when it comes to adding multiple When's.
    f

    function that adds Whens.

    returns

    this ExpectBlock.

    Definition Classes
    Whenable
  11. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  12. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def ensuring(cond: (When[R]) ⇒ Boolean, msg: ⇒ Any): When[R]
    Implicit
    This member is added by an implicit conversion from When[R] to Ensuring[When[R]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: (When[R]) ⇒ Boolean): When[R]
    Implicit
    This member is added by an implicit conversion from When[R] to Ensuring[When[R]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: Boolean, msg: ⇒ Any): When[R]
    Implicit
    This member is added by an implicit conversion from When[R] to Ensuring[When[R]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: Boolean): When[R]
    Implicit
    This member is added by an implicit conversion from When[R] to Ensuring[When[R]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  19. def exit(): This[R]

    Terminates the current run of Expect causing it to return the last returned value.

    Terminates the current run of Expect causing it to return the last returned value. Any action or expect block added after this Exit will not be executed.

    returns

    this When.

  20. def expect(pattern: Timeout.type): TimeoutWhen[R]

    Adds, in a new ExpectBlock, a TimeoutWhen that matches whenever the read from any of the FromStreamInputs times out.

    Adds, in a new ExpectBlock, a TimeoutWhen that matches whenever the read from any of the FromStreamInputs times out. This is a shortcut to expect.when(pattern).

    pattern

    the pattern to be used in the TimeoutWhen.

    returns

    the new RegexWhen.

    Definition Classes
    Expectable
  21. def expect(pattern: EndOfFile.type, readFrom: FromInputStream): EndOfFileWhen[R]

    Adds, in a new ExpectBlock, a EndOfFileWhen that matches whenever the end of file is reached while trying to read from the specified FromInputStream.

    Adds, in a new ExpectBlock, a EndOfFileWhen that matches whenever the end of file is reached while trying to read from the specified FromInputStream. This is a shortcut to expect.when(pattern, readFrom).

    pattern

    the pattern to be used in the EndOfFileWhen.

    readFrom

    from which FromInputStream to read the output.

    returns

    the new RegexWhen.

    Definition Classes
    Expectable
  22. def expect(pattern: EndOfFile.type): EndOfFileWhen[R]

    Adds, in a new ExpectBlock, a EndOfFileWhen that matches whenever the end of file is reached while trying to read from the StdOut output.

    Adds, in a new ExpectBlock, a EndOfFileWhen that matches whenever the end of file is reached while trying to read from the StdOut output. This is a shortcut to expect.when(pattern).

    pattern

    the pattern to be used in the EndOfFileWhen.

    returns

    the new RegexWhen.

    Definition Classes
    Expectable
  23. def expect(pattern: Regex, readFrom: FromInputStream): RegexWhen[R]

    Adds, in a new ExpectBlock, a RegexWhen that matches whenever the regex pattern successfully matches against the text read from the specified FromInputStream.

    Adds, in a new ExpectBlock, a RegexWhen that matches whenever the regex pattern successfully matches against the text read from the specified FromInputStream. This is a shortcut to expect.when(pattern, readFrom).

    pattern

    the pattern to be used in the RegexWhen.

    readFrom

    from which FromInputStream to read the output.

    returns

    the new RegexWhen.

    Definition Classes
    Expectable
  24. def expect(pattern: Regex): RegexWhen[R]

    Adds, in a new ExpectBlock, a RegexWhen that matches whenever the regex pattern successfully matches against the text read from the StdOut output.

    Adds, in a new ExpectBlock, a RegexWhen that matches whenever the regex pattern successfully matches against the text read from the StdOut output. This is a shortcut to expect.when(pattern).

    pattern

    the pattern to be used in the RegexWhen.

    returns

    the new RegexWhen.

    Definition Classes
    Expectable
  25. def expect(pattern: String, readFrom: FromInputStream): StringWhen[R]

    Adds, in a new ExpectBlock, a StringWhen that matches whenever pattern is contained in the text read from the specified FromInputStream.

    Adds, in a new ExpectBlock, a StringWhen that matches whenever pattern is contained in the text read from the specified FromInputStream. This is a shortcut to expect.when(pattern, readFrom).

    pattern

    the pattern to be used in the StringWhen.

    readFrom

    from which FromInputStream to read the output.

    returns

    the new StringWhen.

    Definition Classes
    Expectable
  26. def expect(pattern: String): StringWhen[R]

    Adds, in a new ExpectBlock, a StringWhen that matches whenever pattern is contained in the text read from the StdOut output.

    Adds, in a new ExpectBlock, a StringWhen that matches whenever pattern is contained in the text read from the StdOut output. This is a shortcut to expect.when(pattern).

    pattern

    the pattern to be used in the StringWhen.

    returns

    the new StringWhen.

    Definition Classes
    Expectable
  27. def expect(readFrom: FromInputStream): ExpectBlock[R]

    Adds an empty new ExpectBlock reading from the specified FromInputStream.

    Adds an empty new ExpectBlock reading from the specified FromInputStream.

    readFrom

    from which FromInputStream to read the output.

    returns

    the new ExpectBlock.

    Definition Classes
    Expectable
  28. def expect: ExpectBlock[R]

    Adds an empty new ExpectBlock.

    Adds an empty new ExpectBlock.

    returns

    the new ExpectBlock.

    Definition Classes
    Expectable
  29. lazy val expectableParent: Expect[R]
    Attributes
    protected
    Definition Classes
    WhenableExpectable
  30. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  31. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from When[R] to StringFormat[When[R]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  32. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  33. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  34. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  35. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. def newAction(action: Action[R, CW]): This[R]
    Attributes
    protected
  37. final def notify(): Unit
    Definition Classes
    AnyRef
  38. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  39. def returning(result: ⇒ R): This[R]

    Returns result when this Expect is run.

    Returns result when this Expect is run. If this method is invoked more than once only the last result will be returned. Note however that the previous returning actions will also be executed.

    returns

    this When.

  40. def returningExpect(result: ⇒ core.Expect[R]): This[R]
  41. def send(text: String, sensitive: Boolean = false): This[R]

    Send text to the stdIn of the underlying process.

    Send text to the stdIn of the underlying process. Send will only occur when Expect is run.

    returns

    this When.

  42. def sendln(text: String, sensitive: Boolean = false): This[R]

    Sends text terminated with System.lineSeparator() to the stdIn of the underlying process.

    Sends text terminated with System.lineSeparator() to the stdIn of the underlying process. Send will only occur when Expect is run.

    returns

    this When.

  43. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  44. val thisSubtype: This[R]
  45. def toString(pattern: String): String
  46. def toString(): String
    Definition Classes
    AnyRef → Any
  47. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. def when(pattern: Timeout.type): TimeoutWhen[R]

    Adds a new TimeoutWhen that matches whenever the read from any of the FromStreamInputs times out.

    Adds a new TimeoutWhen that matches whenever the read from any of the FromStreamInputs times out.

    pattern

    the pattern to match against.

    returns

    the new TimeoutWhen.

    Definition Classes
    Whenable
  51. def when(pattern: EndOfFile.type, readFrom: FromInputStream): EndOfFileWhen[R]

    Adds a new EndOfFileWhen that matches whenever the EndOfFile in read from the specified FromInputStream.

    Adds a new EndOfFileWhen that matches whenever the EndOfFile in read from the specified FromInputStream.

    pattern

    the pattern to match against.

    readFrom

    from which FromInputStream to read the output.

    returns

    the new EndOfFileWhen.

    Definition Classes
    Whenable
  52. def when(pattern: EndOfFile.type): EndOfFileWhen[R]

    Adds a new EndOfFileWhen that matches whenever the EndOfFile in read from FromInputStream specified in the parent ExpectBlock.

    Adds a new EndOfFileWhen that matches whenever the EndOfFile in read from FromInputStream specified in the parent ExpectBlock.

    pattern

    the pattern to match against.

    returns

    the new EndOfFileWhen.

    Definition Classes
    Whenable
  53. def when(pattern: Regex, readFrom: FromInputStream): RegexWhen[R]

    Adds a new RegexWhen that matches whenever the regex pattern successfully matches against the text read from the specified FromInputStream.

    Adds a new RegexWhen that matches whenever the regex pattern successfully matches against the text read from the specified FromInputStream.

    pattern

    the pattern to match against.

    readFrom

    from which FromInputStream to read the output.

    returns

    the new RegexWhen.

    Definition Classes
    Whenable
  54. def when(pattern: Regex): RegexWhen[R]

    Adds a new RegexWhen that matches whenever the regex pattern successfully matches against the text read from FromInputStream specified in the parent ExpectBlock.

    Adds a new RegexWhen that matches whenever the regex pattern successfully matches against the text read from FromInputStream specified in the parent ExpectBlock.

    pattern

    the pattern to match against.

    returns

    the new RegexWhen.

    Definition Classes
    Whenable
  55. def when(pattern: String, readFrom: FromInputStream): StringWhen[R]

    Adds a new StringWhen that matches whenever pattern is contained in the text read from the specified FromInputStream.

    Adds a new StringWhen that matches whenever pattern is contained in the text read from the specified FromInputStream.

    pattern

    the pattern to match against.

    readFrom

    from which FromInputStream to read the output.

    returns

    the new StringWhen.

    Definition Classes
    Whenable
  56. def when(pattern: String): StringWhen[R]

    Adds a new StringWhen that matches whenever pattern is contained in the text read from the FromInputStream specified in the parent ExpectBlock.

    Adds a new StringWhen that matches whenever pattern is contained in the text read from the FromInputStream specified in the parent ExpectBlock.

    pattern

    the pattern to match against.

    returns

    the new StringWhen.

    Definition Classes
    Whenable
  57. val whenableParent: ExpectBlock[R]
    Attributes
    protected
    Definition Classes
    WhenWhenable
  58. def [B](y: B): (When[R], B)
    Implicit
    This member is added by an implicit conversion from When[R] to ArrowAssoc[When[R]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Whenable[R]

Inherited from Expectable[R]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from When[R] to any2stringadd[When[R]]

Inherited by implicit conversion StringFormat from When[R] to StringFormat[When[R]]

Inherited by implicit conversion Ensuring from When[R] to Ensuring[When[R]]

Inherited by implicit conversion ArrowAssoc from When[R] to ArrowAssoc[When[R]]

Ungrouped