asunit4 4.2.1.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +5 -0
- data/MIT-LICENSE.txt +22 -0
- data/README.textile +6 -0
- data/air/AIR2Runner.mxml +22 -0
- data/air/AIR2RunnerDescriptor.xml +38 -0
- data/asunit4.gemspec +20 -0
- data/asunit4.rb +16 -0
- data/bin/AsUnit-4.1.pre.swc +0 -0
- data/bin/AsUnitRunner.swf +0 -0
- data/build.xml +46 -0
- data/lib/Reflection.swc +0 -0
- data/rakefile.rb +169 -0
- data/script/generate +21 -0
- data/src/asunit/asserts/assertEquals.as +5 -0
- data/src/asunit/asserts/assertEqualsArrays.as +5 -0
- data/src/asunit/asserts/assertEqualsArraysIgnoringOrder.as +5 -0
- data/src/asunit/asserts/assertEqualsFloat.as +5 -0
- data/src/asunit/asserts/assertFalse.as +5 -0
- data/src/asunit/asserts/assertNotNull.as +5 -0
- data/src/asunit/asserts/assertNotSame.as +5 -0
- data/src/asunit/asserts/assertNull.as +5 -0
- data/src/asunit/asserts/assertSame.as +5 -0
- data/src/asunit/asserts/assertThrows.as +5 -0
- data/src/asunit/asserts/assertTrue.as +5 -0
- data/src/asunit/asserts/fail.as +5 -0
- data/src/asunit/core/AsUnitCore.as +177 -0
- data/src/asunit/core/FlashBuilderCore.as +22 -0
- data/src/asunit/core/FlashDevelopCore.as +21 -0
- data/src/asunit/core/TextCore.as +54 -0
- data/src/asunit/errors/AbstractError.as +10 -0
- data/src/asunit/errors/AssertionFailedError.as +10 -0
- data/src/asunit/errors/ClassNotFoundError.as +11 -0
- data/src/asunit/errors/InstanceNotFoundError.as +10 -0
- data/src/asunit/errors/UnimplementedFeatureError.as +10 -0
- data/src/asunit/errors/UsageError.as +11 -0
- data/src/asunit/events/TimeoutCommandEvent.as +27 -0
- data/src/asunit/framework/Assert.as +408 -0
- data/src/asunit/framework/Async.as +138 -0
- data/src/asunit/framework/CallbackBridge.as +175 -0
- data/src/asunit/framework/Command.as +6 -0
- data/src/asunit/framework/ErrorEvent.as +20 -0
- data/src/asunit/framework/IAsync.as +21 -0
- data/src/asunit/framework/IResult.as +36 -0
- data/src/asunit/framework/IRunListener.as +11 -0
- data/src/asunit/framework/IRunner.as +15 -0
- data/src/asunit/framework/IRunnerFactory.as +9 -0
- data/src/asunit/framework/ITestFailure.as +32 -0
- data/src/asunit/framework/ITestListener.as +15 -0
- data/src/asunit/framework/ITestResult.as +21 -0
- data/src/asunit/framework/ITestSuccess.as +22 -0
- data/src/asunit/framework/ITestWarning.as +14 -0
- data/src/asunit/framework/InjectionDelegate.as +96 -0
- data/src/asunit/framework/LegacyTestIterator.as +40 -0
- data/src/asunit/framework/MessageBridge.as +24 -0
- data/src/asunit/framework/Method.as +80 -0
- data/src/asunit/framework/Result.as +181 -0
- data/src/asunit/framework/RunnerFactory.as +179 -0
- data/src/asunit/framework/SuiteIterator.as +71 -0
- data/src/asunit/framework/TestCase.as +106 -0
- data/src/asunit/framework/TestFailure.as +65 -0
- data/src/asunit/framework/TestIterator.as +282 -0
- data/src/asunit/framework/TestObserver.as +12 -0
- data/src/asunit/framework/TestSuccess.as +38 -0
- data/src/asunit/framework/TestWarning.as +40 -0
- data/src/asunit/framework/TimeoutCommand.as +103 -0
- data/src/asunit/printers/FlashBuilderPrinter.as +134 -0
- data/src/asunit/printers/FlashDevelopPrinter.as +81 -0
- data/src/asunit/printers/TextPrinter.as +324 -0
- data/src/asunit/runners/LegacyRunner.as +13 -0
- data/src/asunit/runners/SuiteRunner.as +125 -0
- data/src/asunit/runners/TestRunner.as +403 -0
- data/src/asunit/util/ArrayIterator.as +30 -0
- data/src/asunit/util/Iterator.as +10 -0
- data/test/AllTests.as +73 -0
- data/test/AsUnitRunner.as +15 -0
- data/test/Flex3Runner.mxml +24 -0
- data/test/Flex4Runner.mxml +27 -0
- data/test/asunit/core/AsUnitCoreTest.as +97 -0
- data/test/asunit/framework/AssertEqualsArraysIgnoringOrderTest.as +88 -0
- data/test/asunit/framework/AssertEqualsArraysTest.as +102 -0
- data/test/asunit/framework/AssertTest.as +184 -0
- data/test/asunit/framework/AssertThrowsTest.as +42 -0
- data/test/asunit/framework/AsyncMethodTest.as +69 -0
- data/test/asunit/framework/AsyncTest.as +104 -0
- data/test/asunit/framework/CallbackBridgeTest.as +73 -0
- data/test/asunit/framework/InjectionDelegateTest.as +79 -0
- data/test/asunit/framework/MockData.xml +8 -0
- data/test/asunit/framework/NestedSuiteIteratorTest.as +59 -0
- data/test/asunit/framework/ProceedOnEventTest.as +109 -0
- data/test/asunit/framework/ResultTest.as +92 -0
- data/test/asunit/framework/RunnerFactoryTest.as +54 -0
- data/test/asunit/framework/SuiteIteratorTest.as +67 -0
- data/test/asunit/framework/TestCaseMock.as +24 -0
- data/test/asunit/framework/TestIteratorIgnoredMethodTest.as +62 -0
- data/test/asunit/framework/TestIteratorMethodByNameTest.as +50 -0
- data/test/asunit/framework/TestIteratorMultiMethodTest.as +186 -0
- data/test/asunit/framework/TestIteratorOrderedTestMethodTest.as +57 -0
- data/test/asunit/framework/TestIteratorSingleMethodTest.as +56 -0
- data/test/asunit/framework/VisualTestCaseTest.as +43 -0
- data/test/asunit/framework/assertAssertionFailed.as +19 -0
- data/test/asunit/printers/TextPrinterTest.as +122 -0
- data/test/asunit/runners/LegacyRunnerTest.as +40 -0
- data/test/asunit/runners/SuiteRunnerTest.as +40 -0
- data/test/asunit/runners/TestRunnerAsyncMethodTest.as +107 -0
- data/test/asunit/runners/TestRunnerErrorMethodTest.as +56 -0
- data/test/asunit/runners/TestRunnerExpectsErrorTest.as +98 -0
- data/test/asunit/runners/TestRunnerIgnoredMethodTest.as +42 -0
- data/test/asunit/runners/TestRunnerTest.as +171 -0
- data/test/asunit/support/AnnotatedSubClass.as +18 -0
- data/test/asunit/support/AnnotatedSuperClass.as +15 -0
- data/test/asunit/support/CustomParameters.as +13 -0
- data/test/asunit/support/CustomTestRunner.as +22 -0
- data/test/asunit/support/DoubleFailSuite.as +8 -0
- data/test/asunit/support/DoubleNestedSuite.as +14 -0
- data/test/asunit/support/ErrorInMethod.as +11 -0
- data/test/asunit/support/FailAssertEquals.as +29 -0
- data/test/asunit/support/FailAssertTrue.as +28 -0
- data/test/asunit/support/FakeObserver.as +42 -0
- data/test/asunit/support/FakeRunner.as +32 -0
- data/test/asunit/support/IgnoredMethod.as +26 -0
- data/test/asunit/support/InjectTimeoutOnAsync.as +14 -0
- data/test/asunit/support/InjectionFailure.as +18 -0
- data/test/asunit/support/InjectionVerification.as +69 -0
- data/test/asunit/support/LegacyTestCase.as +38 -0
- data/test/asunit/support/MultiMethod.as +77 -0
- data/test/asunit/support/OrderedTestMethod.as +36 -0
- data/test/asunit/support/RunWithButNoType.as +14 -0
- data/test/asunit/support/RunWithSuiteButNoType.as +11 -0
- data/test/asunit/support/SingleErrorSuite.as +7 -0
- data/test/asunit/support/SingleSuccessSuite.as +7 -0
- data/test/asunit/support/SucceedAssertTrue.as +31 -0
- data/test/asunit/support/SuiteOfTwoSuites.as +8 -0
- data/test/asunit/support/SuiteWithCustomRunner.as +12 -0
- data/test/asunit/support/SuiteWithOneCustomChildSuite.as +10 -0
- data/test/asunit/support/TestForFakeRunner.as +14 -0
- data/test/asunit/util/ArrayIteratorTest.as +65 -0
- data/vendor/as3reflection/README +7 -0
- data/vendor/as3reflection/p2/reflect/Reflection.as +417 -0
- data/vendor/as3reflection/p2/reflect/ReflectionAccessor.as +14 -0
- data/vendor/as3reflection/p2/reflect/ReflectionBase.as +52 -0
- data/vendor/as3reflection/p2/reflect/ReflectionMember.as +16 -0
- data/vendor/as3reflection/p2/reflect/ReflectionMetaData.as +69 -0
- data/vendor/as3reflection/p2/reflect/ReflectionMethod.as +36 -0
- data/vendor/as3reflection/p2/reflect/ReflectionMethodParameter.as +19 -0
- data/vendor/as3reflection/p2/reflect/ReflectionVariable.as +15 -0
- data/vendor/as3reflection/p2/reflect/findFirst.as +14 -0
- data/vendor/generators/suite/USAGE +0 -0
- data/vendor/generators/suite/suite_generator.rb +17 -0
- data/vendor/generators/suite/templates/TestSuite.as +17 -0
- metadata +216 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
package asunit.support {
|
2
|
+
|
3
|
+
import asunit.asserts.*;
|
4
|
+
import asunit.framework.Async;
|
5
|
+
import asunit.framework.IAsync;
|
6
|
+
|
7
|
+
import flash.display.Sprite;
|
8
|
+
|
9
|
+
public class InjectionVerification {
|
10
|
+
|
11
|
+
[Inject]
|
12
|
+
public var iAsync:IAsync;
|
13
|
+
|
14
|
+
[Inject]
|
15
|
+
public var async:Async;
|
16
|
+
|
17
|
+
[Inject]
|
18
|
+
public var context:Sprite;
|
19
|
+
|
20
|
+
[Inject(someString="stringValue", someBoolean=false, someNumber=23.4, someInt=-23, someUInt=25)]
|
21
|
+
public var custom:CustomParameters;
|
22
|
+
|
23
|
+
[Test]
|
24
|
+
public function injectedShouldReceiveUIntValue():void {
|
25
|
+
assertSame(25, custom.someUInt);
|
26
|
+
}
|
27
|
+
|
28
|
+
[Test]
|
29
|
+
public function injectedShouldReceiveIntegerValue():void {
|
30
|
+
assertSame(-23, custom.someInt);
|
31
|
+
}
|
32
|
+
|
33
|
+
[Test]
|
34
|
+
public function injectedShouldReceiveNumberValue():void {
|
35
|
+
assertSame(23.4, custom.someNumber);
|
36
|
+
}
|
37
|
+
|
38
|
+
[Test]
|
39
|
+
public function injectedShouldReceiveBooleanValue():void {
|
40
|
+
assertSame(false, custom.someBoolean);
|
41
|
+
}
|
42
|
+
|
43
|
+
[Test]
|
44
|
+
public function injectedShouldReceiveStringValue():void {
|
45
|
+
assertEquals("stringValue", custom.someString);
|
46
|
+
}
|
47
|
+
|
48
|
+
[Test]
|
49
|
+
public function verifyDisplayObjectInjection():void {
|
50
|
+
assertNotNull("DisplayObject should exiset", context);
|
51
|
+
}
|
52
|
+
|
53
|
+
[Test]
|
54
|
+
public function verifyDisplayObjectAttachedToStage():void {
|
55
|
+
assertNotNull("DisplayObjects hould be attached", context.stage);
|
56
|
+
}
|
57
|
+
|
58
|
+
[Test]
|
59
|
+
public function verifyAsyncInjection():void {
|
60
|
+
assertNotNull(async);
|
61
|
+
}
|
62
|
+
|
63
|
+
[Test]
|
64
|
+
public function verifyIAsyncInjection():void {
|
65
|
+
assertNotNull(iAsync);
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
package asunit.support {
|
2
|
+
|
3
|
+
import asunit.framework.TestCase;
|
4
|
+
|
5
|
+
public class LegacyTestCase extends TestCase {
|
6
|
+
|
7
|
+
public static var callCount:int;
|
8
|
+
|
9
|
+
private var instance:*;
|
10
|
+
|
11
|
+
override protected function setUp():void {
|
12
|
+
super.setUp();
|
13
|
+
instance = {};
|
14
|
+
instance.name = "foo";
|
15
|
+
}
|
16
|
+
|
17
|
+
override protected function tearDown():void {
|
18
|
+
super.tearDown();
|
19
|
+
instance = null;
|
20
|
+
}
|
21
|
+
|
22
|
+
public function testSomething():void {
|
23
|
+
assertEquals("foo", instance.name);
|
24
|
+
}
|
25
|
+
|
26
|
+
public function someNonTestMethod():void {
|
27
|
+
throw new Error("This should not be called");
|
28
|
+
}
|
29
|
+
|
30
|
+
[Test]
|
31
|
+
// Ensure this method only gets called once
|
32
|
+
// in a given test run...
|
33
|
+
public function testSomethingElse():void {
|
34
|
+
callCount++;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
@@ -0,0 +1,77 @@
|
|
1
|
+
package asunit.support {
|
2
|
+
|
3
|
+
import asunit.asserts.*;
|
4
|
+
|
5
|
+
import flash.display.Sprite;
|
6
|
+
|
7
|
+
public class MultiMethod {
|
8
|
+
|
9
|
+
public static var methodsCalled:Array = [];
|
10
|
+
|
11
|
+
protected var sprite:Sprite;
|
12
|
+
|
13
|
+
public function MultiMethod() {
|
14
|
+
}
|
15
|
+
|
16
|
+
[BeforeClass]
|
17
|
+
public static function runBeforeClass1():void {
|
18
|
+
methodsCalled.push(arguments.callee);
|
19
|
+
}
|
20
|
+
|
21
|
+
[BeforeClass]
|
22
|
+
public static function runBeforeClass2():void {
|
23
|
+
methodsCalled.push(arguments.callee);
|
24
|
+
}
|
25
|
+
|
26
|
+
[Before]
|
27
|
+
public function runBefore1():void {
|
28
|
+
methodsCalled.push(arguments.callee);
|
29
|
+
sprite = new Sprite();
|
30
|
+
}
|
31
|
+
|
32
|
+
[Before]
|
33
|
+
public function runBefore2():void {
|
34
|
+
methodsCalled.push(arguments.callee);
|
35
|
+
}
|
36
|
+
|
37
|
+
[After]
|
38
|
+
public function runAfter1():void {
|
39
|
+
methodsCalled.push(arguments.callee);
|
40
|
+
sprite = null;
|
41
|
+
}
|
42
|
+
|
43
|
+
[After]
|
44
|
+
public function runAfter2():void {
|
45
|
+
methodsCalled.push(arguments.callee);
|
46
|
+
}
|
47
|
+
|
48
|
+
[Test]
|
49
|
+
public function numChildren_is_0_by_default():void {
|
50
|
+
methodsCalled.push(arguments.callee);
|
51
|
+
assertEquals(0, sprite.numChildren);
|
52
|
+
}
|
53
|
+
|
54
|
+
[Test]
|
55
|
+
public function stage_is_null_by_default():void {
|
56
|
+
methodsCalled.push(arguments.callee);
|
57
|
+
assertNull(sprite.stage);
|
58
|
+
}
|
59
|
+
|
60
|
+
[Test]
|
61
|
+
public function fail_assertEquals():void {
|
62
|
+
methodsCalled.push(arguments.callee);
|
63
|
+
assertEquals('wrongName', sprite.name);
|
64
|
+
}
|
65
|
+
|
66
|
+
[AfterClass]
|
67
|
+
public static function runAfterClass1():void {
|
68
|
+
methodsCalled.push(arguments.callee);
|
69
|
+
}
|
70
|
+
|
71
|
+
[AfterClass]
|
72
|
+
public static function runAfterClass2():void {
|
73
|
+
methodsCalled.push(arguments.callee);
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
package asunit.support {
|
2
|
+
|
3
|
+
import asunit.asserts.*;
|
4
|
+
|
5
|
+
import flash.display.Sprite;
|
6
|
+
|
7
|
+
public class OrderedTestMethod {
|
8
|
+
|
9
|
+
public var methodsCalled:Array = [];
|
10
|
+
|
11
|
+
public function OrderedTestMethod() {
|
12
|
+
}
|
13
|
+
|
14
|
+
// Method names are chosen to avoid coinciding with alphabetical order.
|
15
|
+
|
16
|
+
[Test(order=2)]
|
17
|
+
public function two():void {
|
18
|
+
methodsCalled.push(arguments.callee);
|
19
|
+
}
|
20
|
+
|
21
|
+
[Test(order=3)]
|
22
|
+
public function three():void {
|
23
|
+
methodsCalled.push(arguments.callee);
|
24
|
+
}
|
25
|
+
|
26
|
+
[Test]
|
27
|
+
public function zeroIsDefaultOrder():void {
|
28
|
+
methodsCalled.push(arguments.callee);
|
29
|
+
}
|
30
|
+
|
31
|
+
[Test(order=-1)]
|
32
|
+
public function negativeOrderIsAllowed():void {
|
33
|
+
methodsCalled.push(arguments.callee);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
package asunit.support {
|
2
|
+
|
3
|
+
import asunit.asserts.*;
|
4
|
+
|
5
|
+
public class SucceedAssertTrue{
|
6
|
+
|
7
|
+
public var methodsCalled:Array;
|
8
|
+
|
9
|
+
public function SucceedAssertTrue() {
|
10
|
+
methodsCalled = [];
|
11
|
+
}
|
12
|
+
|
13
|
+
[Before]
|
14
|
+
public function runBefore():void {
|
15
|
+
methodsCalled.push(arguments.callee);
|
16
|
+
}
|
17
|
+
|
18
|
+
[After]
|
19
|
+
public function runAfter():void {
|
20
|
+
methodsCalled.push(arguments.callee);
|
21
|
+
}
|
22
|
+
|
23
|
+
[Test]
|
24
|
+
public function succeed_assertTrue():void {
|
25
|
+
methodsCalled.push(arguments.callee);
|
26
|
+
assertTrue(true);
|
27
|
+
}
|
28
|
+
|
29
|
+
}
|
30
|
+
|
31
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
package asunit.support {
|
2
|
+
|
3
|
+
[Suite]
|
4
|
+
[RunWith("asunit.support.CustomTestRunner")]
|
5
|
+
public class SuiteWithCustomRunner {
|
6
|
+
|
7
|
+
public var succeedAssertTrue:SucceedAssertTrue;
|
8
|
+
public var singleSuccessSuite:SingleSuccessSuite;
|
9
|
+
public var multiMethod:MultiMethod;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
package asunit.support {
|
2
|
+
|
3
|
+
// Declare a fully-qualified runner for this test case:
|
4
|
+
[RunWith("asunit.support::FakeRunner")]
|
5
|
+
public class TestForFakeRunner {
|
6
|
+
|
7
|
+
private var runnerReference:FakeRunner;
|
8
|
+
|
9
|
+
public function customTestMethod():int {
|
10
|
+
throw new Error("This method shouldn't really get called");
|
11
|
+
}
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
@@ -0,0 +1,65 @@
|
|
1
|
+
package asunit.util {
|
2
|
+
import asunit.framework.TestCase;
|
3
|
+
|
4
|
+
public class ArrayIteratorTest extends TestCase {
|
5
|
+
private var itr:ArrayIterator;
|
6
|
+
|
7
|
+
public function ArrayIteratorTest(testMethod:String = null) {
|
8
|
+
super(testMethod);
|
9
|
+
}
|
10
|
+
|
11
|
+
protected override function setUp():void {
|
12
|
+
itr = new ArrayIterator(getSimpleArray(5));
|
13
|
+
}
|
14
|
+
|
15
|
+
private function getSimpleArray(count:Number):Array {
|
16
|
+
var arr:Array = new Array();
|
17
|
+
for(var i:Number = 0; i < count; i++) {
|
18
|
+
arr.push("item-" + i);
|
19
|
+
}
|
20
|
+
return arr;
|
21
|
+
}
|
22
|
+
|
23
|
+
protected override function tearDown():void {
|
24
|
+
itr = null;
|
25
|
+
}
|
26
|
+
|
27
|
+
public function testInstantiated():void {
|
28
|
+
assertTrue("ArrayIterator instantiated", itr is ArrayIterator);
|
29
|
+
}
|
30
|
+
|
31
|
+
public function testHasNext():void {
|
32
|
+
assertTrue(itr.hasNext());
|
33
|
+
}
|
34
|
+
|
35
|
+
public function testNext():void {
|
36
|
+
assertEquals("item-0", itr.next());
|
37
|
+
}
|
38
|
+
|
39
|
+
public function testNextTwice():void {
|
40
|
+
assertEquals("item-0", itr.next());
|
41
|
+
assertEquals("item-1", itr.next());
|
42
|
+
}
|
43
|
+
|
44
|
+
public function testLast():void {
|
45
|
+
assertTrue(itr.hasNext());
|
46
|
+
assertEquals("item-0", itr.next());
|
47
|
+
assertTrue(itr.hasNext());
|
48
|
+
assertEquals("item-1", itr.next());
|
49
|
+
assertTrue(itr.hasNext());
|
50
|
+
assertEquals("item-2", itr.next());
|
51
|
+
assertTrue(itr.hasNext());
|
52
|
+
assertEquals("item-3", itr.next());
|
53
|
+
assertTrue(itr.hasNext());
|
54
|
+
assertEquals("item-4", itr.next());
|
55
|
+
assertFalse(itr.hasNext());
|
56
|
+
}
|
57
|
+
|
58
|
+
public function testReset():void {
|
59
|
+
testLast();
|
60
|
+
itr.reset();
|
61
|
+
assertTrue(itr.hasNext());
|
62
|
+
assertEquals("item-0", itr.next());
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
These source files should be merged with the src path in the source
|
2
|
+
distribution of AsUnit, but when compiling, developing and testing
|
3
|
+
AsUnit, we should always build against the lib/Reflection.swc
|
4
|
+
|
5
|
+
These files are being included simply to avoid making users add
|
6
|
+
another SWC to their library-path.
|
7
|
+
|