|
From: <luk...@us...> - 2006-03-05 02:39:34
|
Revision: 14 Author: lukebayes Date: 2006-03-04 18:39:25 -0800 (Sat, 04 Mar 2006) ViewCVS: http://svn.sourceforge.net/asunit/?rev=14&view=rev Log Message: ----------- Implemented the AS 2.5 framework support in XULRunner. This is a new feature and doesn't yet support Asynchronous TestCases in the same, simple way that the 2.0 framework does. If you attempt to run this framework against legacy AS 2.0 TestCases, the only thing you *should* have to change is to remove the import statement to "com." Modified Paths: -------------- trunk/xului/bin/AsUnit.xpi trunk/xului/src/chrome/AsUnit.jar trunk/xului/src/chrome/asunit/content/asunit/AsUnit.xul trunk/xului/src/chrome/asunit/content/asunit/script/tokens/TokenFactory.js trunk/xului/src/chrome/en-US.jar Added Paths: ----------- trunk/xului/src/chrome/asunit/content/asunit/script/tokens/As25TestCaseDefinition.js trunk/xului/src/chrome/asunit/content/asunit/script/tokens/As25TestSuiteDefinition.js Modified: trunk/xului/bin/AsUnit.xpi =================================================================== (Binary files differ) Modified: trunk/xului/src/chrome/AsUnit.jar =================================================================== (Binary files differ) Modified: trunk/xului/src/chrome/asunit/content/asunit/AsUnit.xul =================================================================== --- trunk/xului/src/chrome/asunit/content/asunit/AsUnit.xul 2006-03-05 02:20:44 UTC (rev 13) +++ trunk/xului/src/chrome/asunit/content/asunit/AsUnit.xul 2006-03-05 02:39:25 UTC (rev 14) @@ -49,6 +49,11 @@ <script src="chrome://asunit/content/script/tokens/TestCaseDefinition.js" /> <script src="chrome://asunit/content/script/tokens/TestSuiteDefinition.js" /> + + <!-- AS 2.5 CLASS DEFINITION TOKENS JS --> + <script src="chrome://asunit/content/script/tokens/As25TestCaseDefinition.js" /> + <script src="chrome://asunit/content/script/tokens/As25TestSuiteDefinition.js" /> + <!-- AS 3 CLASS DEFINITION TOKENS JS --> <script src="chrome://asunit/content/script/tokens/As3ClassBody.js" /> <script src="chrome://asunit/content/script/tokens/As3ClassConstructor.js" /> Added: trunk/xului/src/chrome/asunit/content/asunit/script/tokens/As25TestCaseDefinition.js =================================================================== --- trunk/xului/src/chrome/asunit/content/asunit/script/tokens/As25TestCaseDefinition.js (rev 0) +++ trunk/xului/src/chrome/asunit/content/asunit/script/tokens/As25TestCaseDefinition.js 2006-03-05 02:39:25 UTC (rev 14) @@ -0,0 +1,47 @@ + +var As25TestCaseDefinition = function(initObj) { + this.init(initObj); +} + +As25TestCaseDefinition.prototype = new ClassDefinition(); +As25TestCaseDefinition.SUPER_CLASS = "asunit.framework.TestCase"; +As25TestCaseDefinition.XML_CLASS = "asunit.framework.TestCaseXml"; + +As25TestCaseDefinition.prototype.init = function(model) { + this.initializeMembers(); + + this.setFullName(model.getTestCaseName()); + + this.config = new TestCaseConfig(); + var name = model.getClassName(); + if(model.getTestCaseType() == ClassModel.MOCK_TYPE) { + name = model.getMockName() + } + + if(model.getTestCaseType() == ClassModel.ASYNC_TYPE) { + this.header.addImport(TestCaseDefinition.XML_CLASS); + this.config.setIsAsynchronous(true); + } + this.header.addImport(name); + this.config.setRealClassName(name); + this.config.setClassName(model.getTestCaseName()); + this.config.setIsFactory((model.getConstructorType() == ClassModel.SINGLETON_CONSTRUCTOR)); + this.config.setIsVisual((model.getAddPackagesPrefix() && model.getIsSerializable())); + + this.setSuperClass(As25TestCaseDefinition.SUPER_CLASS); +} + + +As25TestCaseDefinition.prototype.toString = function() { + try { + var str = ""; + str += this.header.toString(); + str += this.declaration.toString(); + + str += this.config.toString(); + str += this.body.toString(); + return str; + } catch(e) { + alert(e.toString()); + } +} \ No newline at end of file Added: trunk/xului/src/chrome/asunit/content/asunit/script/tokens/As25TestSuiteDefinition.js =================================================================== --- trunk/xului/src/chrome/asunit/content/asunit/script/tokens/As25TestSuiteDefinition.js (rev 0) +++ trunk/xului/src/chrome/asunit/content/asunit/script/tokens/As25TestSuiteDefinition.js 2006-03-05 02:39:25 UTC (rev 14) @@ -0,0 +1,39 @@ + +var As25TestSuiteDefinition = function() { + this.items = new Array(); +} + +As25TestSuiteDefinition.prototype = new Object(); +As25TestSuiteDefinition.prototype.items; +As25TestSuiteDefinition.prototype.name; +As25TestSuiteDefinition.prototype.location; + +As25TestSuiteDefinition.prototype.setName = function(name) { + if(name.substr(0,1) == ".") { + name = name.substr(1); + } + this.name = name; +} + +As25TestSuiteDefinition.prototype.setLocation = function(dir) { + this.location = dir; +} + +As25TestSuiteDefinition.prototype.addItem = function(item) { + this.items.push(item); +} + +As25TestSuiteDefinition.prototype.toString = function() { + var str = "\n"; + str += "class " + this.name + " extends asunit.framework.TestSuite {\n"; + str += "\tprivate var className:String = \"" + this.name + "\";\n\n"; + str += "\tpublic function AllTests() {\n"; + str += "\t\tsuper();\n"; + for(var i = 0; i < this.items.length; i++) { + str += "\t\taddTest(new " + this.items[i] + "());\n"; + } + str += "\t}\n"; + str += "}\n"; + + return str; +} Modified: trunk/xului/src/chrome/asunit/content/asunit/script/tokens/TokenFactory.js =================================================================== --- trunk/xului/src/chrome/asunit/content/asunit/script/tokens/TokenFactory.js 2006-03-05 02:20:44 UTC (rev 13) +++ trunk/xului/src/chrome/asunit/content/asunit/script/tokens/TokenFactory.js 2006-03-05 02:39:25 UTC (rev 14) @@ -7,7 +7,7 @@ if(name == "as2") { return new As2Factory(); } else if(name == "as25") { - return new As2Factory(); + return new As25Factory(); } else if(name == "as3") { return new As3Factory(); } @@ -15,6 +15,29 @@ //-------------------------------------- +var As25Factory = function() { +} + +As25Factory.prototype.type = "ActionScript 2.0"; + +As25Factory.prototype.getClassDefinition = function(model) { + return new ClassDefinition(model); +} + +As25Factory.prototype.getTestCaseDefinition = function(model) { + return new As25TestCaseDefinition(model); +} + +As25Factory.prototype.getMockDefinition = function(model) { + return new MockDefinition(model); +} + +As25Factory.prototype.getTestSuiteDefinition = function() { + return new As25TestSuiteDefinition(); +} + +//-------------------------------------- + var As2Factory = function() { } Modified: trunk/xului/src/chrome/en-US.jar =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |