asproject 0.1.21
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.txt +0 -0
- data/History.txt +0 -0
- data/MIT-LICENSE.txt +20 -0
- data/Manifest.txt +16 -0
- data/README.txt +3 -0
- data/TODO.txt +10 -0
- data/bin/asclass +16 -0
- data/bin/asproject +16 -0
- data/lib/asclass.rb +254 -0
- data/lib/asclass_arguments.rb +147 -0
- data/lib/asproject.rb +248 -0
- data/lib/asproject/version.rb +9 -0
- data/lib/asproject_arguments.rb +175 -0
- data/lib/asproject_base.rb +43 -0
- data/lib/asproject_utils.rb +57 -0
- data/lib/eclipse_project.rb +32 -0
- data/lib/path_finder.rb +286 -0
- data/lib/platform.rb +107 -0
- data/lib/project.rb +82 -0
- data/lib/template_resolver.rb +144 -0
- data/lib/test_suite_generator.rb +128 -0
- data/rakefile.rb +85 -0
- data/setup.rb +1585 -0
- data/templates/asclass/as2/Class.as +11 -0
- data/templates/asclass/as2/Component.as +8 -0
- data/templates/asclass/as2/Interface.as +3 -0
- data/templates/asclass/as2/TestCase.as +30 -0
- data/templates/asclass/as2/TestSuite.as +15 -0
- data/templates/asclass/as3/Class.as +9 -0
- data/templates/asclass/as3/Component.as +9 -0
- data/templates/asclass/as3/Component.mxml +1 -0
- data/templates/asclass/as3/Interface.as +6 -0
- data/templates/asclass/as3/TestCase.as +30 -0
- data/templates/asclass/as3/TestSuite.as +18 -0
- data/templates/asproject/as2/project/rakefile.rb +18 -0
- data/templates/asproject/as2/project/src/AsProject.as +13 -0
- data/templates/asproject/as2/project/test/AsProjectRunner.as +12 -0
- data/templates/asproject/as3/project/rakefile.rb +18 -0
- data/templates/asproject/as3/project/src/AsProject.as +9 -0
- data/templates/asproject/as3/project/src/AsProjectRunner.as +11 -0
- data/templates/asproject/asunit2/project/lib/asunit/AsUnitUi.swf +0 -0
- data/templates/asproject/asunit2/project/lib/asunit/Sys.as +70 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/LocalOutputPanel.as +182 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/LocalOutputPanelTest.as +84 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/LocalOutputPanelTextArea.as +111 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/LocalOutputPanelTextAreaTest.as +26 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/LocalOutputPanelTitleBar.as +81 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/ResizeHandle.as +35 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/ScrollArrow.as +34 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/ScrollHandle.as +43 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/ScrollListener.as +10 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/TextScroller.as +169 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/shapes/Rectangle.as +29 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/controls/shapes/Triangle.as +27 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/AsUnit.as +19 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/Assert.as +408 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/Assertion.as +27 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/Reflection.as +68 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/Test.as +3 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/TestCase.as +191 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/TestCaseXml.as +31 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/TestFailure.as +15 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/TestResult.as +15 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/TestRunner.as +41 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/TestSetup.as +19 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/framework/TestSuite.as +22 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/ui/Main.as +325 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/ui/RemoteVersion.as +24 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/ui/SuccessMeter.as +32 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/util/Comparable.as +7 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/util/EventListener.as +29 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/util/EventSource.as +89 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/util/LocalConnClient.as +42 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/util/LocalConnGateway.as +47 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/util/LocalConnServer.as +61 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/util/LocalMessageBroker.as +58 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/util/Observable.as +11 -0
- data/templates/asproject/asunit2/project/lib/asunit/com/asunit/util/TextFile.as +30 -0
- data/templates/asproject/asunit25/project/lib/asunit/AsUnitTestRunner.as +13 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/errors/AssertionFailedError.as +7 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/errors/AssertionPassedError.as +7 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/errors/ClassNotFoundError.as +7 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/errors/IllegalOperationError.as +7 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/errors/InstanceNotFoundError.as +7 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/errors/InvocationTargetError.as +7 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/errors/UnimplementedFeatureError.as +7 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/Assert.as +376 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/AssertMock.as +15 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/AssertTest.as +59 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/ITestListener.as +13 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/Test.as +11 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/TestCase.as +277 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/TestCaseMock.as +23 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/TestCaseTest.as +29 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/TestCaseXml.as +38 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/TestFailure.as +47 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/TestResult.as +168 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/framework/TestSuite.as +102 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/runner/BaseTestRunner.as +101 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/runner/IResultPrinter.as +8 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/textui/ResultPrinter.as +254 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/textui/SuccessBar.as +41 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/textui/TestRunner.as +17 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/util/ArrayIterator.as +24 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/util/ArrayIteratorTest.as +52 -0
- data/templates/asproject/asunit25/project/lib/asunit/asunit/util/Iterator.as +5 -0
- data/templates/asproject/asunit3/project/lib/asunit/AsUnitTestRunner.as +10 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/errors/AbstractMemberCalledError.as +10 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/errors/AssertionFailedError.as +10 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/errors/ClassNotFoundError.as +10 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/errors/InstanceNotFoundError.as +10 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/errors/UnimplementedFeatureError.as +10 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/Assert.as +271 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/AsynchronousTestCase.as +52 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/AsynchronousTestCaseExample.as +71 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/Test.as +15 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/TestCase.as +351 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/TestCaseExample.as +73 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/TestFailure.as +47 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/TestListener.as +22 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/TestResult.as +158 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/framework/TestSuite.as +115 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/runner/BaseTestRunner.as +15 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/runner/TestSuiteLoader.as +9 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/runner/Version.as +11 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/textui/FlexRunner.as +19 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/textui/FlexTestRunner.as +55 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/textui/ResultPrinter.as +245 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/textui/TestRunner.as +121 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/util/ArrayIterator.as +26 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/util/Iterator.as +9 -0
- data/templates/asproject/asunit3/project/lib/asunit/asunit/util/Properties.as +30 -0
- data/templates/asproject/asunit3/project/lib/asunit/mx/managers/LayoutManager.as +945 -0
- data/templates/asproject/config/project/config/asclass_config.rb +58 -0
- data/templates/asproject/fb2as/project/.actionScriptProperties +21 -0
- data/templates/asproject/fb2as/project/.project +29 -0
- data/templates/asproject/fdt/project/.as2_classpath +6 -0
- data/templates/asproject/fdt/project/.project +19 -0
- data/templates/ide/mate/Create Class.tmCommand +37 -0
- data/templates/ide/mate/Rebuild Test Suites.tmCommand +33 -0
- data/templates/ide/mate/Run Rake Task.tmCommand +127 -0
- metadata +266 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
import com.asunit.ui.*;
|
3
|
+
|
4
|
+
class RemoteVersion extends XML {
|
5
|
+
private var callback:Main;
|
6
|
+
|
7
|
+
public function RemoteVersion(cb:Main) {
|
8
|
+
callback = cb;
|
9
|
+
init();
|
10
|
+
}
|
11
|
+
|
12
|
+
public function init():Void {
|
13
|
+
ignoreWhite = true;
|
14
|
+
load("http://www.asunit.com/version.xml?userVersion=" + callback.getVersionNumber());
|
15
|
+
}
|
16
|
+
|
17
|
+
public function onLoad(success:Boolean):Void {
|
18
|
+
parseVersion(this.firstChild.firstChild);
|
19
|
+
}
|
20
|
+
|
21
|
+
public function parseVersion(node:XMLNode):Void {
|
22
|
+
callback.checkRemoteVersion(node.firstChild.nodeValue);
|
23
|
+
}
|
24
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
import com.asunit.ui.*;
|
3
|
+
|
4
|
+
class SuccessMeter extends MovieClip {
|
5
|
+
private var bg_mc:MovieClip;
|
6
|
+
private var border_mc:MovieClip;
|
7
|
+
private var _hasFailed:Boolean = false;
|
8
|
+
|
9
|
+
private var successColor:Number = 0xA8E085;
|
10
|
+
private var failureColor:Number = 0xDF412B;
|
11
|
+
|
12
|
+
public function hasFailed():Boolean
|
13
|
+
{
|
14
|
+
return _hasFailed;
|
15
|
+
}
|
16
|
+
|
17
|
+
public function setSuccess(success:Boolean):Void
|
18
|
+
{
|
19
|
+
var col:Number = (success) ? successColor : failureColor;
|
20
|
+
var bgColor:Color = new Color(bg_mc);
|
21
|
+
bgColor.setRGB(col);
|
22
|
+
if(!success) {
|
23
|
+
_hasFailed = true;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
public function setSize(w:Number, h:Number):Void
|
28
|
+
{
|
29
|
+
_width = Math.floor(w);
|
30
|
+
_height = Math.floor(h);
|
31
|
+
}
|
32
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
|
2
|
+
// immutable, protected class...
|
3
|
+
class com.asunit.util.EventListener extends Object {
|
4
|
+
private var source:Object;
|
5
|
+
private var event:String;
|
6
|
+
private var scope:Object;
|
7
|
+
public static var defaultEvent:String = "all"
|
8
|
+
|
9
|
+
public function EventListener(evnt:String, src:Object, scp:Object) {
|
10
|
+
if(src instanceof Function && !(scp instanceof Object)) {
|
11
|
+
Sys.println(">> EventListener constructor may cause problems because Function reference passed without appropriate scope argument.");
|
12
|
+
}
|
13
|
+
source = src;
|
14
|
+
scope = scp;
|
15
|
+
event = (evnt == undefined || evnt == null) ? EventListener.defaultEvent : evnt;
|
16
|
+
}
|
17
|
+
|
18
|
+
public function getScope():Object {
|
19
|
+
return scope;
|
20
|
+
}
|
21
|
+
|
22
|
+
public function getSource():Object {
|
23
|
+
return source;
|
24
|
+
}
|
25
|
+
|
26
|
+
public function getEvent():String {
|
27
|
+
return event;
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
|
2
|
+
import com.asunit.util.*;
|
3
|
+
|
4
|
+
class com.asunit.util.EventSource implements Observable {
|
5
|
+
private var listeners:Array;
|
6
|
+
|
7
|
+
public function EventSource() {
|
8
|
+
listeners = new Array();
|
9
|
+
}
|
10
|
+
|
11
|
+
public function addEventListener(event:String, observer:Object, scope:Object):Void {
|
12
|
+
if(typeof(observer) == "string") {
|
13
|
+
Sys.println(">> failed to addEventListener because observer argument is type:String.");
|
14
|
+
return;
|
15
|
+
} else if(event.indexOf(",") > -1) {
|
16
|
+
parseMultipleEvents(event, observer, scope);
|
17
|
+
return;
|
18
|
+
} else if(getListenerIndex(event, observer) > -1) {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
listeners.push(new EventListener(event, observer, scope));
|
22
|
+
}
|
23
|
+
|
24
|
+
public function removeEventListener(event:String, observer:Object):Boolean {
|
25
|
+
var index:Number = getListenerIndex(event, observer);
|
26
|
+
var found:Boolean = false;
|
27
|
+
|
28
|
+
do {
|
29
|
+
listeners.splice(index, 1);
|
30
|
+
index = getListenerIndex(event, observer);
|
31
|
+
found = true;
|
32
|
+
} while (index > -1);
|
33
|
+
return found;
|
34
|
+
}
|
35
|
+
|
36
|
+
public function addListener(observer:Object, scope:Object):Void {
|
37
|
+
if(typeof(observer) == "string") {
|
38
|
+
Sys.println(">> attempting to addListener with invalid argument - try addEventListener");
|
39
|
+
return;
|
40
|
+
}
|
41
|
+
addEventListener(EventListener.defaultEvent, observer, scope);
|
42
|
+
}
|
43
|
+
|
44
|
+
public function removeListener(observer:Object):Boolean {
|
45
|
+
// Needs updated to remove all instances that have this observer?
|
46
|
+
// If no event name identified...
|
47
|
+
return removeEventListener(EventListener.defaultEvent, observer);
|
48
|
+
}
|
49
|
+
|
50
|
+
public function getListenerCount():Number {
|
51
|
+
return listeners.length;
|
52
|
+
}
|
53
|
+
|
54
|
+
public function getListenerIndex(event:Object, observer:Object):Number {
|
55
|
+
for(var i:Number=0; i<listeners.length; i++) {
|
56
|
+
if(event == null || event == undefined || event == EventListener.defaultEvent) {
|
57
|
+
if(listeners[i].getSource() == observer) {
|
58
|
+
return i;
|
59
|
+
}
|
60
|
+
} else if(listeners[i].getEvent() == event && listeners[i].getSource() == observer) {
|
61
|
+
return i;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
return -1;
|
65
|
+
}
|
66
|
+
|
67
|
+
public function parseMultipleEvents(events:Object, observer:Object):Void {
|
68
|
+
var evnts:Array = events.split(",");
|
69
|
+
var ln:Number = evnts.length;
|
70
|
+
for(var i:Number = 0; i < ln; i++) {
|
71
|
+
addEventListener(evnts[i], observer);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
public function broadcastMessage():Void {
|
76
|
+
var eventName:Object = arguments.shift();
|
77
|
+
var list:Array = listeners;
|
78
|
+
var ln:Number = list.length;
|
79
|
+
for(var i:Number = 0; i < ln; i++) {
|
80
|
+
if(list[i].getEvent() == eventName || list[i].getEvent() == EventListener.defaultEvent) {
|
81
|
+
if(list[i].getSource() instanceof Function) {
|
82
|
+
list[i].getSource().apply(list[i].getScope(), arguments);
|
83
|
+
} else {
|
84
|
+
list[i].getSource()[eventName].apply(list[i].getSource(), arguments);
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
|
2
|
+
import com.asunit.util.*;
|
3
|
+
|
4
|
+
dynamic class com.asunit.util.LocalConnClient extends LocalConnection {
|
5
|
+
|
6
|
+
public var serverId:String;
|
7
|
+
|
8
|
+
public function LocalConnClient(srvrId:String) {
|
9
|
+
init(srvrId);
|
10
|
+
}
|
11
|
+
|
12
|
+
private function init(srvrId:String):Void {
|
13
|
+
serverId = srvrId;
|
14
|
+
}
|
15
|
+
|
16
|
+
public function __resolve(fname:String):Function {
|
17
|
+
// Execute Any Method Call thru gateway on Server and return results...
|
18
|
+
var ref:LocalConnClient = this;
|
19
|
+
return Function( function() {
|
20
|
+
arguments.unshift(fname);
|
21
|
+
arguments.unshift("execResolve");
|
22
|
+
arguments.unshift( ref.serverId);
|
23
|
+
return ref.execMethod.apply(this, arguments);
|
24
|
+
});
|
25
|
+
}
|
26
|
+
|
27
|
+
public function execMethod():Object {
|
28
|
+
//send.apply(this, arguments);
|
29
|
+
return send.apply(this, arguments);
|
30
|
+
}
|
31
|
+
|
32
|
+
public function onStatus(infoObject:Object):Void {
|
33
|
+
// trace("!! Client Local Connection Object.onStatus Called with : ");
|
34
|
+
// for(var i in arguments) {
|
35
|
+
// trace(i + " : " + arguments[i]);
|
36
|
+
// for(var k in arguments[i]) {
|
37
|
+
// trace(i + "." + k + " : "+ arguments[i][k]);
|
38
|
+
// }
|
39
|
+
// }
|
40
|
+
}
|
41
|
+
|
42
|
+
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
|
2
|
+
import com.asunit.util.*;
|
3
|
+
|
4
|
+
/************************************************
|
5
|
+
::: LocalConnGateway
|
6
|
+
|
7
|
+
SERVER EXAMPLE:
|
8
|
+
var dp = new RemoteApiClass(); // Like DataProviderClass();
|
9
|
+
var srvrId = "SomeUniqueIdentifier";
|
10
|
+
this.local = com.framework.util.LocalConnGateway.createServer(dp, srvrId);
|
11
|
+
|
12
|
+
CLIENT EXAMPLE:
|
13
|
+
var srvrId = "SomeUniqueIdentifier"; // matches an existing serverId
|
14
|
+
this.remote = com.framework.util.LocalConnGateway.createClient(srvrId);
|
15
|
+
|
16
|
+
this.res = this.remote.getItemAt(3);
|
17
|
+
echo("res : " + this.res.label);
|
18
|
+
|
19
|
+
************************************************/
|
20
|
+
|
21
|
+
class com.asunit.util.LocalConnGateway {
|
22
|
+
//private static var existingServers:Array;
|
23
|
+
//private static var clientQueue:Array;
|
24
|
+
|
25
|
+
//------------------------------------------------
|
26
|
+
// Factory method for LC Server Instances
|
27
|
+
// cb : An Object Instance that whose methods/props will be called
|
28
|
+
// by any client classes
|
29
|
+
// srvrId : Unique string to identify the LC Server instance
|
30
|
+
// NOTE: Any "." found in the serverId will be ripped out...
|
31
|
+
// this is done to prevent any potential namespace conflicts...
|
32
|
+
public static function createServer(cb:Object, srvrId:String):LocalConnServer
|
33
|
+
{
|
34
|
+
return new LocalConnServer(cb, srvrId);
|
35
|
+
}
|
36
|
+
|
37
|
+
//------------------------------------------------
|
38
|
+
// Factory method for LC Client Instances
|
39
|
+
// srvrId : Unique String Matching an existing .createServer instance
|
40
|
+
public static function createClient(srvrId:String):LocalConnClient
|
41
|
+
{
|
42
|
+
return new LocalConnClient(srvrId);
|
43
|
+
// was attempting to build a queue so that clients could be created
|
44
|
+
// before servers - but *I think* that they already can!!!
|
45
|
+
//return getClient(validateId(srvrId));
|
46
|
+
}
|
47
|
+
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
|
2
|
+
dynamic class com.asunit.util.LocalConnServer extends LocalConnection {
|
3
|
+
|
4
|
+
private var controller:Object;
|
5
|
+
private var id:String;
|
6
|
+
public var status:Boolean;
|
7
|
+
|
8
|
+
public function LocalConnServer(ctrl:Object, srvrId:String) {
|
9
|
+
init(ctrl, srvrId);
|
10
|
+
}
|
11
|
+
|
12
|
+
private function init(ctrl:Object, srvrId:String):Void {
|
13
|
+
controller = ctrl;
|
14
|
+
id = srvrId;
|
15
|
+
status = connect(srvrId);
|
16
|
+
}
|
17
|
+
|
18
|
+
public function getId():String {
|
19
|
+
return id;
|
20
|
+
}
|
21
|
+
|
22
|
+
public function close():Void {
|
23
|
+
//trace(">> LocalConnServer Closing now from : " + id);
|
24
|
+
super.close();
|
25
|
+
}
|
26
|
+
|
27
|
+
public function connect(str:String):Boolean {
|
28
|
+
if(super.connect(str)) {
|
29
|
+
return true;
|
30
|
+
} else {
|
31
|
+
trace("!! CONNECT CALL FAILED IN createServer with : " + getId());
|
32
|
+
return false;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
public function allowDomain(domain:String):Boolean {
|
37
|
+
// EXTREMELY INSECURE...
|
38
|
+
return true;
|
39
|
+
}
|
40
|
+
|
41
|
+
public function allowInsecureDomain(domain:String):Boolean {
|
42
|
+
return true;
|
43
|
+
}
|
44
|
+
|
45
|
+
// Used for synchronous communication...
|
46
|
+
public function execResolve_sync(method:String):Object {
|
47
|
+
arguments.shift();
|
48
|
+
return controller[method].apply(controller, arguments);
|
49
|
+
}
|
50
|
+
|
51
|
+
// Used for asynchronous communication...
|
52
|
+
public function execResolve( method:String):Void {
|
53
|
+
// trace(">> exec resolve called from the window swf with : " + arguments);
|
54
|
+
arguments.shift();
|
55
|
+
controller[method].apply(controller, arguments);
|
56
|
+
}
|
57
|
+
|
58
|
+
public function onStatus(infoObject:Object):Void {
|
59
|
+
trace("!! Server LocalConnonStatus Called with : " + arguments + " id : " + getId());
|
60
|
+
}
|
61
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
|
2
|
+
import com.asunit.util.*;
|
3
|
+
|
4
|
+
class com.asunit.util.LocalMessageBroker extends Object implements Observable {
|
5
|
+
private static var instance:LocalMessageBroker;
|
6
|
+
private var msgs:Array;
|
7
|
+
private var eventSrc:EventSource;
|
8
|
+
|
9
|
+
private function LocalMessageBroker() {
|
10
|
+
init();
|
11
|
+
}
|
12
|
+
|
13
|
+
private function init():Void {
|
14
|
+
msgs = new Array();
|
15
|
+
eventSrc = new EventSource();
|
16
|
+
}
|
17
|
+
|
18
|
+
public static function getInstance():LocalMessageBroker {
|
19
|
+
if(instance == undefined) {
|
20
|
+
instance = new LocalMessageBroker();
|
21
|
+
}
|
22
|
+
return instance;
|
23
|
+
}
|
24
|
+
|
25
|
+
public function send(msg:String, category:String):String {
|
26
|
+
msgs.push({message:msg, category:category});
|
27
|
+
eventSrc.broadcastMessage("onMessageSent", {event:"onMessageSent", message:msg, category:category});
|
28
|
+
return msg;
|
29
|
+
}
|
30
|
+
|
31
|
+
public function toString():String {
|
32
|
+
var str:String = "";
|
33
|
+
for(var i:Number = 0; i < msgs.length; i++) {
|
34
|
+
str += msgs[i] + "\n";
|
35
|
+
}
|
36
|
+
return str;
|
37
|
+
}
|
38
|
+
|
39
|
+
// Can accept either an event:String or an event:String[]
|
40
|
+
// if the observer wants to subscribe to multiple events.
|
41
|
+
public function addEventListener(event:String, observer:Object, scope:Object):Void {
|
42
|
+
eventSrc.addEventListener(event, observer, scope);
|
43
|
+
}
|
44
|
+
|
45
|
+
public function addListener(observer:Object, scope:Object):Void {
|
46
|
+
eventSrc.addListener(observer, scope);
|
47
|
+
}
|
48
|
+
|
49
|
+
// Should return bool false if handler ref was not found.
|
50
|
+
// Should return bool true if handler ref was found
|
51
|
+
public function removeEventListener(event:String, observer:Object):Boolean {
|
52
|
+
return eventSrc.removeEventListener(event, observer);
|
53
|
+
}
|
54
|
+
|
55
|
+
public function removeListener(observer:Object):Boolean {
|
56
|
+
return eventSrc.removeListener(observer);
|
57
|
+
}
|
58
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
|
2
|
+
interface com.asunit.util.Observable {
|
3
|
+
// Can accept either an event:String or an event:String[]
|
4
|
+
// if the observer wants to subscribe to multiple events.
|
5
|
+
public function addEventListener(event:String, observer:Object, scope:Object):Void;
|
6
|
+
public function addListener(observer:Object, scope:Object):Void;
|
7
|
+
// Should return bool false if handler ref was not found.
|
8
|
+
// Should return bool true if handler ref was found
|
9
|
+
public function removeEventListener(event:String, observer:Object):Boolean;
|
10
|
+
public function removeListener(observer:Object):Boolean;
|
11
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
class com.asunit.util.TextFile extends XML {
|
3
|
+
public static var linkageId:String = "com.asunit.util.TextFile";
|
4
|
+
public static var classRef:Function = TextFile;
|
5
|
+
|
6
|
+
private var source:String;
|
7
|
+
private var callback:Object;
|
8
|
+
private var fileString:String;
|
9
|
+
|
10
|
+
public function TextFile(src:String, cb:Object) {
|
11
|
+
source = src;
|
12
|
+
callback = cb;
|
13
|
+
ignoreWhite = true;
|
14
|
+
onData = doData;
|
15
|
+
if(src != undefined) {
|
16
|
+
load(source);
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
public function doData(str:String):Void {
|
21
|
+
fileString = str;
|
22
|
+
callback.onTextFileLoaded(this);
|
23
|
+
}
|
24
|
+
|
25
|
+
public function toString():String {
|
26
|
+
return fileString;
|
27
|
+
}
|
28
|
+
|
29
|
+
public static var serializable:Boolean = Object.registerClass(linkageId, classRef);
|
30
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import asunit.textui.TestRunner;
|
2
|
+
|
3
|
+
class AsUnitTestRunner extends TestRunner {
|
4
|
+
|
5
|
+
public function AsUnitTestRunner() {
|
6
|
+
fscommand("fullscreen", "true");
|
7
|
+
start(AllTests);
|
8
|
+
}
|
9
|
+
|
10
|
+
public static function main():Void {
|
11
|
+
var runner = new AsUnitTestRunner();
|
12
|
+
}
|
13
|
+
}
|