Sha256: 320b93224b0cfdf31c8c99759621b79ea646064aee9028576d02f579427e9507

Contents?: true

Size: 1.4 KB

Versions: 2

Compression:

Stored size: 1.4 KB

Contents

package org.osflash.signals
{
	import asunit.asserts.*;
	import asunit.framework.IAsync;

	public class DeluxeSignalDispatchNonEventTest
	{	
	    [Inject]
	    public var async:IAsync;
	    
		public var completed:DeluxeSignal;

		[Before]
		public function setUp():void
		{
			completed = new DeluxeSignal(this, Date);
		}

		[After]
		public function tearDown():void
		{
			completed.removeAll();
			completed = null;
		}
		
		/**
		 * Captures bug where dispatching 0 was considered null.
		 */
		[Test]
		public function dispatch_zero_should_call_listener_with_zero():void
		{
			completed = new DeluxeSignal(this, Number);
			completed.add( async.add(onZero, 10) );
			completed.dispatch(0);
		}
		
		private function onZero(num:Number):void
		{
			assertEquals(0, num);
		}
		//////
		[Test]
		public function dispatch_null_should_call_listener_with_null():void
		{
			completed.addOnce( async.add(checkNullDate, 10) );
			completed.dispatch(null);
		}
		
		private function checkNullDate(date:Date):void
		{
			assertNull(date);
		}
		//////
		[Test]
		public function dispatch_null_through_int_DeluxeSignal_should_be_autoconverted_to_zero():void
		{
			completed = new DeluxeSignal(int);
			completed.addOnce( async.add(checkNullConvertedToZero, 10) );
			completed.dispatch(null);
		}
		
		private function checkNullConvertedToZero(intValue:int):void
		{
			assertEquals('null was converted to 0', 0, intValue);
		}
	}
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
as3signals-0.7.1 tests/org/osflash/signals/DeluxeSignalDispatchNonEventTest.as
as3signals-0.7.0 tests/org/osflash/signals/DeluxeSignalDispatchNonEventTest.as