asunit4 4.2.1.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. data/Gemfile +5 -0
  2. data/MIT-LICENSE.txt +22 -0
  3. data/README.textile +6 -0
  4. data/air/AIR2Runner.mxml +22 -0
  5. data/air/AIR2RunnerDescriptor.xml +38 -0
  6. data/asunit4.gemspec +20 -0
  7. data/asunit4.rb +16 -0
  8. data/bin/AsUnit-4.1.pre.swc +0 -0
  9. data/bin/AsUnitRunner.swf +0 -0
  10. data/build.xml +46 -0
  11. data/lib/Reflection.swc +0 -0
  12. data/rakefile.rb +169 -0
  13. data/script/generate +21 -0
  14. data/src/asunit/asserts/assertEquals.as +5 -0
  15. data/src/asunit/asserts/assertEqualsArrays.as +5 -0
  16. data/src/asunit/asserts/assertEqualsArraysIgnoringOrder.as +5 -0
  17. data/src/asunit/asserts/assertEqualsFloat.as +5 -0
  18. data/src/asunit/asserts/assertFalse.as +5 -0
  19. data/src/asunit/asserts/assertNotNull.as +5 -0
  20. data/src/asunit/asserts/assertNotSame.as +5 -0
  21. data/src/asunit/asserts/assertNull.as +5 -0
  22. data/src/asunit/asserts/assertSame.as +5 -0
  23. data/src/asunit/asserts/assertThrows.as +5 -0
  24. data/src/asunit/asserts/assertTrue.as +5 -0
  25. data/src/asunit/asserts/fail.as +5 -0
  26. data/src/asunit/core/AsUnitCore.as +177 -0
  27. data/src/asunit/core/FlashBuilderCore.as +22 -0
  28. data/src/asunit/core/FlashDevelopCore.as +21 -0
  29. data/src/asunit/core/TextCore.as +54 -0
  30. data/src/asunit/errors/AbstractError.as +10 -0
  31. data/src/asunit/errors/AssertionFailedError.as +10 -0
  32. data/src/asunit/errors/ClassNotFoundError.as +11 -0
  33. data/src/asunit/errors/InstanceNotFoundError.as +10 -0
  34. data/src/asunit/errors/UnimplementedFeatureError.as +10 -0
  35. data/src/asunit/errors/UsageError.as +11 -0
  36. data/src/asunit/events/TimeoutCommandEvent.as +27 -0
  37. data/src/asunit/framework/Assert.as +408 -0
  38. data/src/asunit/framework/Async.as +138 -0
  39. data/src/asunit/framework/CallbackBridge.as +175 -0
  40. data/src/asunit/framework/Command.as +6 -0
  41. data/src/asunit/framework/ErrorEvent.as +20 -0
  42. data/src/asunit/framework/IAsync.as +21 -0
  43. data/src/asunit/framework/IResult.as +36 -0
  44. data/src/asunit/framework/IRunListener.as +11 -0
  45. data/src/asunit/framework/IRunner.as +15 -0
  46. data/src/asunit/framework/IRunnerFactory.as +9 -0
  47. data/src/asunit/framework/ITestFailure.as +32 -0
  48. data/src/asunit/framework/ITestListener.as +15 -0
  49. data/src/asunit/framework/ITestResult.as +21 -0
  50. data/src/asunit/framework/ITestSuccess.as +22 -0
  51. data/src/asunit/framework/ITestWarning.as +14 -0
  52. data/src/asunit/framework/InjectionDelegate.as +96 -0
  53. data/src/asunit/framework/LegacyTestIterator.as +40 -0
  54. data/src/asunit/framework/MessageBridge.as +24 -0
  55. data/src/asunit/framework/Method.as +80 -0
  56. data/src/asunit/framework/Result.as +181 -0
  57. data/src/asunit/framework/RunnerFactory.as +179 -0
  58. data/src/asunit/framework/SuiteIterator.as +71 -0
  59. data/src/asunit/framework/TestCase.as +106 -0
  60. data/src/asunit/framework/TestFailure.as +65 -0
  61. data/src/asunit/framework/TestIterator.as +282 -0
  62. data/src/asunit/framework/TestObserver.as +12 -0
  63. data/src/asunit/framework/TestSuccess.as +38 -0
  64. data/src/asunit/framework/TestWarning.as +40 -0
  65. data/src/asunit/framework/TimeoutCommand.as +103 -0
  66. data/src/asunit/printers/FlashBuilderPrinter.as +134 -0
  67. data/src/asunit/printers/FlashDevelopPrinter.as +81 -0
  68. data/src/asunit/printers/TextPrinter.as +324 -0
  69. data/src/asunit/runners/LegacyRunner.as +13 -0
  70. data/src/asunit/runners/SuiteRunner.as +125 -0
  71. data/src/asunit/runners/TestRunner.as +403 -0
  72. data/src/asunit/util/ArrayIterator.as +30 -0
  73. data/src/asunit/util/Iterator.as +10 -0
  74. data/test/AllTests.as +73 -0
  75. data/test/AsUnitRunner.as +15 -0
  76. data/test/Flex3Runner.mxml +24 -0
  77. data/test/Flex4Runner.mxml +27 -0
  78. data/test/asunit/core/AsUnitCoreTest.as +97 -0
  79. data/test/asunit/framework/AssertEqualsArraysIgnoringOrderTest.as +88 -0
  80. data/test/asunit/framework/AssertEqualsArraysTest.as +102 -0
  81. data/test/asunit/framework/AssertTest.as +184 -0
  82. data/test/asunit/framework/AssertThrowsTest.as +42 -0
  83. data/test/asunit/framework/AsyncMethodTest.as +69 -0
  84. data/test/asunit/framework/AsyncTest.as +104 -0
  85. data/test/asunit/framework/CallbackBridgeTest.as +73 -0
  86. data/test/asunit/framework/InjectionDelegateTest.as +79 -0
  87. data/test/asunit/framework/MockData.xml +8 -0
  88. data/test/asunit/framework/NestedSuiteIteratorTest.as +59 -0
  89. data/test/asunit/framework/ProceedOnEventTest.as +109 -0
  90. data/test/asunit/framework/ResultTest.as +92 -0
  91. data/test/asunit/framework/RunnerFactoryTest.as +54 -0
  92. data/test/asunit/framework/SuiteIteratorTest.as +67 -0
  93. data/test/asunit/framework/TestCaseMock.as +24 -0
  94. data/test/asunit/framework/TestIteratorIgnoredMethodTest.as +62 -0
  95. data/test/asunit/framework/TestIteratorMethodByNameTest.as +50 -0
  96. data/test/asunit/framework/TestIteratorMultiMethodTest.as +186 -0
  97. data/test/asunit/framework/TestIteratorOrderedTestMethodTest.as +57 -0
  98. data/test/asunit/framework/TestIteratorSingleMethodTest.as +56 -0
  99. data/test/asunit/framework/VisualTestCaseTest.as +43 -0
  100. data/test/asunit/framework/assertAssertionFailed.as +19 -0
  101. data/test/asunit/printers/TextPrinterTest.as +122 -0
  102. data/test/asunit/runners/LegacyRunnerTest.as +40 -0
  103. data/test/asunit/runners/SuiteRunnerTest.as +40 -0
  104. data/test/asunit/runners/TestRunnerAsyncMethodTest.as +107 -0
  105. data/test/asunit/runners/TestRunnerErrorMethodTest.as +56 -0
  106. data/test/asunit/runners/TestRunnerExpectsErrorTest.as +98 -0
  107. data/test/asunit/runners/TestRunnerIgnoredMethodTest.as +42 -0
  108. data/test/asunit/runners/TestRunnerTest.as +171 -0
  109. data/test/asunit/support/AnnotatedSubClass.as +18 -0
  110. data/test/asunit/support/AnnotatedSuperClass.as +15 -0
  111. data/test/asunit/support/CustomParameters.as +13 -0
  112. data/test/asunit/support/CustomTestRunner.as +22 -0
  113. data/test/asunit/support/DoubleFailSuite.as +8 -0
  114. data/test/asunit/support/DoubleNestedSuite.as +14 -0
  115. data/test/asunit/support/ErrorInMethod.as +11 -0
  116. data/test/asunit/support/FailAssertEquals.as +29 -0
  117. data/test/asunit/support/FailAssertTrue.as +28 -0
  118. data/test/asunit/support/FakeObserver.as +42 -0
  119. data/test/asunit/support/FakeRunner.as +32 -0
  120. data/test/asunit/support/IgnoredMethod.as +26 -0
  121. data/test/asunit/support/InjectTimeoutOnAsync.as +14 -0
  122. data/test/asunit/support/InjectionFailure.as +18 -0
  123. data/test/asunit/support/InjectionVerification.as +69 -0
  124. data/test/asunit/support/LegacyTestCase.as +38 -0
  125. data/test/asunit/support/MultiMethod.as +77 -0
  126. data/test/asunit/support/OrderedTestMethod.as +36 -0
  127. data/test/asunit/support/RunWithButNoType.as +14 -0
  128. data/test/asunit/support/RunWithSuiteButNoType.as +11 -0
  129. data/test/asunit/support/SingleErrorSuite.as +7 -0
  130. data/test/asunit/support/SingleSuccessSuite.as +7 -0
  131. data/test/asunit/support/SucceedAssertTrue.as +31 -0
  132. data/test/asunit/support/SuiteOfTwoSuites.as +8 -0
  133. data/test/asunit/support/SuiteWithCustomRunner.as +12 -0
  134. data/test/asunit/support/SuiteWithOneCustomChildSuite.as +10 -0
  135. data/test/asunit/support/TestForFakeRunner.as +14 -0
  136. data/test/asunit/util/ArrayIteratorTest.as +65 -0
  137. data/vendor/as3reflection/README +7 -0
  138. data/vendor/as3reflection/p2/reflect/Reflection.as +417 -0
  139. data/vendor/as3reflection/p2/reflect/ReflectionAccessor.as +14 -0
  140. data/vendor/as3reflection/p2/reflect/ReflectionBase.as +52 -0
  141. data/vendor/as3reflection/p2/reflect/ReflectionMember.as +16 -0
  142. data/vendor/as3reflection/p2/reflect/ReflectionMetaData.as +69 -0
  143. data/vendor/as3reflection/p2/reflect/ReflectionMethod.as +36 -0
  144. data/vendor/as3reflection/p2/reflect/ReflectionMethodParameter.as +19 -0
  145. data/vendor/as3reflection/p2/reflect/ReflectionVariable.as +15 -0
  146. data/vendor/as3reflection/p2/reflect/findFirst.as +14 -0
  147. data/vendor/generators/suite/USAGE +0 -0
  148. data/vendor/generators/suite/suite_generator.rb +17 -0
  149. data/vendor/generators/suite/templates/TestSuite.as +17 -0
  150. 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,14 @@
1
+ package asunit.support {
2
+
3
+ import asunit.asserts.*;
4
+
5
+ [RunWith]
6
+ public class RunWithButNoType {
7
+
8
+ [Test]
9
+ public function simplePassing():void {
10
+ assertTrue("This will pass, we're interested in the RunWith", true);
11
+ }
12
+ }
13
+ }
14
+
@@ -0,0 +1,11 @@
1
+ package asunit.support {
2
+
3
+ [RunWith]
4
+ [Suite]
5
+ public class RunWithSuiteButNoType {
6
+
7
+ // Just used to indicate this is a Suite:
8
+ public var testCase:SucceedAssertTrue;
9
+ }
10
+ }
11
+
@@ -0,0 +1,7 @@
1
+ package asunit.support {
2
+
3
+ [Suite]
4
+ public class SingleErrorSuite {
5
+ public var errorInMethodTest:ErrorInMethod;
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ package asunit.support {
2
+
3
+ [Suite]
4
+ public class SingleSuccessSuite {
5
+ public var succeedAssertTrue:SucceedAssertTrue;
6
+ }
7
+ }
@@ -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,8 @@
1
+ package asunit.support {
2
+
3
+ [Suite]
4
+ public class SuiteOfTwoSuites {
5
+ public var singleSuccessSuite:SingleSuccessSuite;
6
+ public var doubleFailSuite:DoubleFailSuite;
7
+ }
8
+ }
@@ -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,10 @@
1
+ package asunit.support {
2
+
3
+ [Suite]
4
+ public class SuiteWithOneCustomChildSuite {
5
+
6
+ public var suiteWithCustomRunner:SuiteWithCustomRunner;
7
+ public var orderedTestMethod:OrderedTestMethod;
8
+ }
9
+ }
10
+
@@ -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
+