API Documentation | All Packages | All Classes | Index | Frames No Frames |
ExpectAsync

Package | org.flexunit.internals.runners.statements
Class | public class ExpectAsync
Inheritance | ExpectAsync AsyncStatementBase Object
Implements | IAsyncStatement, IAsyncHandlingStatement

The `ExpectAsync` is a decorator that is responsible for determing whether a specific test method is expecting an asynchronous response. As this infrastructure carries overhead, we only create it when the user specifics a given test is asynchronous. The class implements `IAsyncHandlingStatement` and works with the `Async` class. In order to expect an asynchronous response, a test method must include metadata indicating it is expecting asynchronous functionality.

    	 [Test(async)]
    	 public function asyncTest():void {
    	 	//Test with asynchronous functionality
    	 }

See also

org.flexunit.async.Async

Public Properties

| Property | Defined By
--- | --- | ---
|  | bodyExecuting : Boolean [read-only] Returns a Boolean value indicating whether the test method is current executing. | ExpectAsync
|  | hasPendingAsync : Boolean [read-only] Returns a Boolean value indicating whether there are still any pending asynchronous calls. | ExpectAsync

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | myToken : AsyncTestToken The AsyncTestToken for the current statment. | AsyncStatementBase
|  | parentToken : AsyncTestToken The AsyncTestToken for the parent of the current statment. | AsyncStatementBase

Public Methods

| Method | Defined By
--- | --- | ---
|  | ExpectAsync(objectUnderTest:Object, statement:IAsyncStatement) Constructor. | ExpectAsync
|  | asyncErrorConditionHandler(eventHandler:Function):Function | ExpectAsync
|  | asyncHandler(eventHandler:Function, timeout:int, passThroughData:Object = null, timeoutHandler:Function = null):Function Creates an AsyncHandler that pend and either call the eventHandler or the timeoutHandler, passing the passThroughData, depending on whether the timeout period has been reached. | ExpectAsync
|  | asyncNativeResponder(resultHandler:Function, faultHandler:Function, timeout:int, passThroughData:Object = null, timeoutHandler:Function = null):Responder Creates an IAsyncTestResponder that pend and either call the eventHandler or the timeoutHandler, passing the passThroughData, depending on whether the timeout period has been reached. | ExpectAsync
|  | asyncResponder(responder:*, timeout:int, passThroughData:Object = null, timeoutHandler:Function = null):IResponder Creates an IAsyncTestResponder that pend and either call the eventHandler or the timeoutHandler, passing the passThroughData, depending on whether the timeout period has been reached. | ExpectAsync
|  | evaluate(parentToken:AsyncTestToken):void Registers the ExpectAsync statment for the current object being tested and evaluates the object that implements the IAsyncStatement that was provided to the ExpectAsync class. | ExpectAsync
|  | failOnComplete(event:Event, passThroughData:Object):void A handler method that is called in order to fail for a given asynchronous event once an it has been dispatched. | ExpectAsync
|  | handleBindableNextSequence(event:Event, sequenceRunner:SequenceRunner):void | ExpectAsync
|  | handleNextExecuteComplete(result:ChildResult):void Determines if there are any more pending asynchronous calls; if there are, keep running the calls if there are no errors. | ExpectAsync
|  | handleNextSequence(event:Event, sequenceRunner:SequenceRunner):void Handles the next steps in a SequenceRunner. | ExpectAsync
|  | hasAsync(method:FrameworkMethod, type:String):Boolean [static] Determine if the method is asynchronous for a test method that is of the expected metadata type. | ExpectAsync
|  | pendUntilComplete(event:Event, passThroughData:Object = null):void A handler method that is called in order to wait once an asynchronous event has been dispatched. | ExpectAsync

Protected Methods

| Method | Defined By
--- | --- | ---
|  | handleAsyncNativeTestResponderEvent(event:AsyncResponseEvent, passThroughData:Object = null):void Handles the AsyncResponseEvent that is thrown by the asyncResponder. | ExpectAsync
|  | handleAsyncTestResponderEvent(event:AsyncResponseEvent, passThroughData:Object = null):void Handles the AsyncResponseEvent that is thrown by the asyncResponder. | ExpectAsync
|  | protect(method:Function, ... rest):void Attempts to call the provided method with the provided rest parameters. | ExpectAsync
|  | sendComplete(error:Error = null):void [override] If the test has not yet been marked as complete, mark the ExpectAsync statement as having finished and notify the parent token. | ExpectAsync

Property Detail

bodyExecuting | property

`bodyExecuting:Boolean` [read-only]

Returns a Boolean value indicating whether the test method is current executing.

Implementation
`public function get bodyExecuting():Boolean`

hasPendingAsync | property |

`hasPendingAsync:Boolean` [read-only]

Returns a Boolean value indicating whether there are still any pending asynchronous calls.

Implementation
`public function get hasPendingAsync():Boolean`
Constructor Detail

ExpectAsync | () | Constructor

`public function ExpectAsync(objectUnderTest:Object, statement:IAsyncStatement)`

Constructor.

Parameters

| `objectUnderTest:Object` — The current object that is being tested.
| `statement:IAsyncStatement` — The current `IAsyncStatement` that will be decorated with the the `ExpectAsync` class.

Method Detail

asyncErrorConditionHandler | () | method

`public function asyncErrorConditionHandler(eventHandler:Function):Function`

Parameters

| `eventHandler:Function`

Returns

| `Function` —

Throws

| `Error` — Test Completed, but additional async event added

asyncHandler | () | method |

`public function asyncHandler(eventHandler:Function, timeout:int, passThroughData:Object = null, timeoutHandler:Function = null):Function`

Creates an `AsyncHandler` that pend and either call the `eventHandler` or the `timeoutHandler`, passing the `passThroughData`, depending on whether the `timeout` period has been reached.

Parameters

| `eventHandler:Function` — The Function that will be executed if the handler is called before the `timeout` has expired.
| `timeout:int` — The length of time, in milliseconds, before the `timeoutHandler` will be executed.
| `passThroughData:Object` (default = `null`)`` — An Object that can be given information about the current test; this information will be available for both the `eventHandler` and the `timeoutHandler`.
| `timeoutHandler:Function` (default = `null`)`` — The Function that will be executed if the `timeout` time is reached prior to the expected event being dispatched.

Returns

| `Function` — an event handler Function that will determine whether the `timeout` has been reached.

asyncNativeResponder | () | method |

`public function asyncNativeResponder(resultHandler:Function, faultHandler:Function, timeout:int, passThroughData:Object = null, timeoutHandler:Function = null):Responder`

Creates an `IAsyncTestResponder` that pend and either call the `eventHandler` or the `timeoutHandler`, passing the `passThroughData`, depending on whether the `timeout` period has been reached.

Parameters

| `resultHandler:Function` — The result `Function` that will be executed if the `Responder` is called on its result before the `timeout` has expired.
| `faultHandler:Function` — The fault `Function` that will be executed if the `Responder` is called on its fault before the `timeout` has expired.
| `timeout:int` — The length of time, in milliseconds, before the `timeoutHandler` will be executed.
| `passThroughData:Object` (default = `null`)`` — An Object that can be given information about the current test; this information will be available for both the `eventHandler` and the `timeoutHandler`.
| `timeoutHandler:Function` (default = `null`)`` — The Function that will be executed if the `timeout` time is reached prior to the expected event being dispatched.

Returns

| `Responder` — an `IResponder` that will determine whether the `timeout` has been reached.

asyncResponder | () | method |

`public function asyncResponder(responder:*, timeout:int, passThroughData:Object = null, timeoutHandler:Function = null):IResponder`

Creates an `IAsyncTestResponder` that pend and either call the `eventHandler` or the `timeoutHandler`, passing the `passThroughData`, depending on whether the `timeout` period has been reached.

Parameters

| `responder:*` — The responder that will be executed if the `IResponder` is called before the `timeout` has expired.
| `timeout:int` — The length of time, in milliseconds, before the `timeoutHandler` will be executed.
| `passThroughData:Object` (default = `null`)`` — An Object that can be given information about the current test; this information will be available for both the `eventHandler` and the `timeoutHandler`.
| `timeoutHandler:Function` (default = `null`)`` — The Function that will be executed if the `timeout` time is reached prior to the expected event being dispatched.

Returns

| `IResponder` — an `IResponder` that will determine whether the `timeout` has been reached.

evaluate | () | method |

`public function evaluate(parentToken:AsyncTestToken):void`

Registers the `ExpectAsync` statment for the current object being tested and evaluates the object that implements the `IAsyncStatement` that was provided to the `ExpectAsync` class.

Parameters

| `parentToken:AsyncTestToken` — The token to be notified when the potential asynchronous call have finished.

failOnComplete | () | method |

`public function failOnComplete(event:Event, passThroughData:Object):void`

A handler method that is called in order to fail for a given asynchronous event once an it has been dispatched.

Parameters

| `event:Event` — The event that was received.
| `passThroughData:Object` — An Object that contains information to pass to the handler.

handleAsyncNativeTestResponderEvent | () | method |

`protected function handleAsyncNativeTestResponderEvent(event:AsyncResponseEvent, passThroughData:Object = null):void`

Handles the AsyncResponseEvent that is thrown by the asyncResponder. It sends data to the original responder based on if it is a result or fault status.

Parameters

| `event:AsyncResponseEvent`
| `passThroughData:Object` (default = `null`)``

handleAsyncTestResponderEvent | () | method |

`protected function handleAsyncTestResponderEvent(event:AsyncResponseEvent, passThroughData:Object = null):void`

Handles the AsyncResponseEvent that is thrown by the asyncResponder. It sends data to the original responder based on if it is a result or fault status. If the original responder is of type ITestResponder, then the passThroughData is passed to it.

Parameters

| `event:AsyncResponseEvent`
| `passThroughData:Object` (default = `null`)``

handleBindableNextSequence | () | method |

`public function handleBindableNextSequence(event:Event, sequenceRunner:SequenceRunner):void`

Parameters

| `event:Event`
| `sequenceRunner:SequenceRunner`

handleNextExecuteComplete | () | method |

`public function handleNextExecuteComplete(result:ChildResult):void`

Determines if there are any more pending asynchronous calls; if there are, keep running the calls if there are no errors. If all calls have finished or an error was encountered in the `result`, report the error to the parent token and stop tracking the asynchronous events.

Parameters

| `result:ChildResult` — The `ChildResult` to check to see if there is an error.

handleNextSequence | () | method |

`public function handleNextSequence(event:Event, sequenceRunner:SequenceRunner):void`

Handles the next steps in a `SequenceRunner`.

Parameters

| `event:Event` — The event boradcast by the last step in the sequence.
| `sequenceRunner:SequenceRunner` — The runner responsible for running the steps in the sequence.

hasAsync | () | method |

`public static function hasAsync(method:FrameworkMethod, type:String):Boolean`

Determine if the `method` is asynchronous for a test method that is of the expected metadata `type`.

Parameters

| `method:FrameworkMethod` — The `FrameworkMethod` that is potentially asynchronous.
| `type:String` (default = `NaN`)`` — The expected metadata type of the test method (ex: "Test", "Before", "After").

Returns

| `Boolean` — a Boolean value indicating whether the provided `method` is asynchronous.

pendUntilComplete | () | method |

`public function pendUntilComplete(event:Event, passThroughData:Object = null):void`

A handler method that is called in order to wait once an asynchronous event has been dispatched.

Parameters

| `event:Event` — The event that was received.
| `passThroughData:Object` (default = `null`)`` — An Object that contains information to pass to the handler.

protect | () | method |

`protected function protect(method:Function, ... rest):void`

Attempts to call the provided `method` with the provided `rest` parameters.

Parameters

| `method:Function` — The Function to call with the provided `rest` parameters.
| `... rest` — The parameters supplied to the `method`.

sendComplete | () | method |

`override protected function sendComplete(error:Error = null):void`

If the test has not yet been marked as complete, mark the `ExpectAsync` statement as having finished and notify the parent token.

Parameters

| `error:Error` (default = `null`)`` — The potential error to send to the parent token.

Thu Apr 10 2014, 08:07 AM +10:00