You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(45) |
Apr
(7) |
May
(2) |
Jun
(5) |
Jul
|
Aug
(8) |
Sep
(49) |
Oct
(13) |
Nov
(11) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(13) |
Feb
(4) |
Mar
(1) |
Apr
|
May
(2) |
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(7) |
Dec
(1) |
2008 |
Jan
|
Feb
(7) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(15) |
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2009 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <luk...@us...> - 2006-09-20 18:47:55
|
Revision: 108 http://svn.sourceforge.net/asunit/?rev=108&view=rev Author: lukebayes Date: 2006-09-20 11:47:52 -0700 (Wed, 20 Sep 2006) Log Message: ----------- updated ignore props Property Changed: ---------------- trunk/ruby/demo/ Property changes on: trunk/ruby/demo ___________________________________________________________________ Name: svn:ignore + html-template .settings This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-20 18:47:24
|
Revision: 107 http://svn.sourceforge.net/asunit/?rev=107&view=rev Author: lukebayes Date: 2006-09-20 11:47:21 -0700 (Wed, 20 Sep 2006) Log Message: ----------- updated ignore props Property Changed: ---------------- trunk/ruby/ Property changes on: trunk/ruby ___________________________________________________________________ Name: svn:ignore + .settings html-template This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-20 18:43:51
|
Revision: 106 http://svn.sourceforge.net/asunit/?rev=106&view=rev Author: lukebayes Date: 2006-09-20 11:42:22 -0700 (Wed, 20 Sep 2006) Log Message: ----------- worked on the ruby project tools Modified Paths: -------------- trunk/ruby/src/asunit trunk/ruby/src/asunit_arguments.rb trunk/ruby/src/template_resolver.rb trunk/ruby/src/templates/TestCase.erb Added Paths: ----------- trunk/ruby/demo/bin/ trunk/ruby/demo/bin/AC_OETags.js trunk/ruby/demo/bin/AsUnitRubyDemo-debug.html trunk/ruby/demo/bin/AsUnitRubyDemo-debug.swf trunk/ruby/demo/bin/AsUnitRubyDemo.html trunk/ruby/demo/bin/AsUnitRubyDemo.swf trunk/ruby/demo/bin/history.htm trunk/ruby/demo/bin/history.js trunk/ruby/demo/bin/history.swf trunk/ruby/demo/bin/playerProductInstall.swf trunk/ruby/demo/src/ trunk/ruby/demo/src/AsUnitRubyDemo.mxml trunk/ruby/demo/src/lifebin/ trunk/ruby/demo/src/lifebin/display/ trunk/ruby/demo/src/lifebin/display/Component.as trunk/ruby/demo/src/lifebin/display/Container.as trunk/ruby/demo/test/ trunk/ruby/demo/test/lifebin/ trunk/ruby/demo/test/lifebin/display/ trunk/ruby/demo/test/lifebin/display/ComponentTest.as trunk/ruby/demo/test/lifebin/display/ContainerTest.as trunk/ruby/src/asunit_application.rb Removed Paths: ------------- trunk/ruby/src/asunit.rb Added: trunk/ruby/demo/bin/AC_OETags.js =================================================================== --- trunk/ruby/demo/bin/AC_OETags.js (rev 0) +++ trunk/ruby/demo/bin/AC_OETags.js 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,269 @@ +// Flash Player Version Detection - Rev 1.5 +// Detect Client Browser type +// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved. +var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; +var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; +var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; + +function ControlVersion() +{ + var version; + var axo; + var e; + + // NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry + + try { + // version will be set for 7.X or greater players + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); + version = axo.GetVariable("$version"); + } catch (e) { + } + + if (!version) + { + try { + // version will be set for 6.X players only + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); + + // installed player is some revision of 6.0 + // GetVariable("$version") crashes for versions 6.0.22 through 6.0.29, + // so we have to be careful. + + // default to the first public version + version = "WIN 6,0,21,0"; + + // throws if AllowScripAccess does not exist (introduced in 6.0r47) + axo.AllowScriptAccess = "always"; + + // safe to call for 6.0r47 or greater + version = axo.GetVariable("$version"); + + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 4.X or 5.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = axo.GetVariable("$version"); + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 3.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3"); + version = "WIN 3,0,18,0"; + } catch (e) { + } + } + + if (!version) + { + try { + // version will be set for 2.X player + axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); + version = "WIN 2,0,0,11"; + } catch (e) { + version = -1; + } + } + + return version; +} + +// JavaScript helper required to detect Flash Player PlugIn version information +function GetSwfVer(){ + // NS/Opera version >= 3 check for Flash plugin in plugin array + var flashVer = -1; + + if (navigator.plugins != null && navigator.plugins.length > 0) { + if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { + var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; + var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description; + var descArray = flashDescription.split(" "); + var tempArrayMajor = descArray[2].split("."); + var versionMajor = tempArrayMajor[0]; + var versionMinor = tempArrayMajor[1]; + if ( descArray[3] != "" ) { + tempArrayMinor = descArray[3].split("r"); + } else { + tempArrayMinor = descArray[4].split("r"); + } + var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0; + var flashVer = versionMajor + "." + versionMinor + "." + versionRevision; + } + } + // MSN/WebTV 2.6 supports Flash 4 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4; + // WebTV 2.5 supports Flash 3 + else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3; + // older WebTV supports Flash 2 + else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2; + else if ( isIE && isWin && !isOpera ) { + flashVer = ControlVersion(); + } + return flashVer; +} + +// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available +function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) +{ + versionStr = GetSwfVer(); + if (versionStr == -1 ) { + return false; + } else if (versionStr != 0) { + if(isIE && isWin && !isOpera) { + // Given "WIN 2,0,0,11" + tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"] + tempString = tempArray[1]; // "2,0,0,11" + versionArray = tempString.split(","); // ['2', '0', '0', '11'] + } else { + versionArray = versionStr.split("."); + } + var versionMajor = versionArray[0]; + var versionMinor = versionArray[1]; + var versionRevision = versionArray[2]; + + // is the major.revision >= requested major.revision AND the minor version >= requested minor + if (versionMajor > parseFloat(reqMajorVer)) { + return true; + } else if (versionMajor == parseFloat(reqMajorVer)) { + if (versionMinor > parseFloat(reqMinorVer)) + return true; + else if (versionMinor == parseFloat(reqMinorVer)) { + if (versionRevision >= parseFloat(reqRevision)) + return true; + } + } + return false; + } +} + +function AC_AddExtension(src, ext) +{ + if (src.indexOf('?') != -1) + return src.replace(/\?/, ext+'?'); + else + return src + ext; +} + +function AC_Generateobj(objAttrs, params, embedAttrs) +{ + var str = ''; + if (isIE && isWin && !isOpera) + { + str += '<object '; + for (var i in objAttrs) + str += i + '="' + objAttrs[i] + '" '; + for (var i in params) + str += '><param name="' + i + '" value="' + params[i] + '" /> '; + str += '></object>'; + } else { + str += '<embed '; + for (var i in embedAttrs) + str += i + '="' + embedAttrs[i] + '" '; + str += '> </embed>'; + } + + document.write(str); +} + +function AC_FL_RunContent(){ + var ret = + AC_GetArgs + ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" + , "application/x-shockwave-flash" + ); + AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs); +} + +function AC_GetArgs(args, ext, srcParamName, classid, mimeType){ + var ret = new Object(); + ret.embedAttrs = new Object(); + ret.params = new Object(); + ret.objAttrs = new Object(); + for (var i=0; i < args.length; i=i+2){ + var currArg = args[i].toLowerCase(); + + switch (currArg){ + case "classid": + break; + case "pluginspage": + ret.embedAttrs[args[i]] = args[i+1]; + break; + case "src": + case "movie": + args[i+1] = AC_AddExtension(args[i+1], ext); + ret.embedAttrs["src"] = args[i+1]; + ret.params[srcParamName] = args[i+1]; + break; + case "onafterupdate": + case "onbeforeupdate": + case "onblur": + case "oncellchange": + case "onclick": + case "ondblClick": + case "ondrag": + case "ondragend": + case "ondragenter": + case "ondragleave": + case "ondragover": + case "ondrop": + case "onfinish": + case "onfocus": + case "onhelp": + case "onmousedown": + case "onmouseup": + case "onmouseover": + case "onmousemove": + case "onmouseout": + case "onkeypress": + case "onkeydown": + case "onkeyup": + case "onload": + case "onlosecapture": + case "onpropertychange": + case "onreadystatechange": + case "onrowsdelete": + case "onrowenter": + case "onrowexit": + case "onrowsinserted": + case "onstart": + case "onscroll": + case "onbeforeeditfocus": + case "onactivate": + case "onbeforedeactivate": + case "ondeactivate": + case "type": + case "codebase": + case "id": + ret.objAttrs[args[i]] = args[i+1]; + break; + case "width": + case "height": + case "align": + case "vspace": + case "hspace": + case "class": + case "title": + case "accesskey": + case "name": + case "tabindex": + ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1]; + break; + default: + ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1]; + } + } + ret.objAttrs["classid"] = classid; + if (mimeType) ret.embedAttrs["type"] = mimeType; + return ret; +} + + Added: trunk/ruby/demo/bin/AsUnitRubyDemo-debug.html =================================================================== --- trunk/ruby/demo/bin/AsUnitRubyDemo-debug.html (rev 0) +++ trunk/ruby/demo/bin/AsUnitRubyDemo-debug.html 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,107 @@ +<!-- saved from url=(0014)about:internet --> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title></title> +<script src="AC_OETags.js" language="javascript"></script> +<style> +body { margin: 0px; overflow:hidden } +</style> +<script language="JavaScript" type="text/javascript"> +<!-- +// ----------------------------------------------------------------------------- +// Globals +// Major version of Flash required +var requiredMajorVersion = 9; +// Minor version of Flash required +var requiredMinorVersion = 0; +// Minor version of Flash required +var requiredRevision = 0; +// ----------------------------------------------------------------------------- +// --> +</script> +</head> + +<body scroll="no"> +<script language="JavaScript" type="text/javascript" src="history.js"></script> +<script language="JavaScript" type="text/javascript"> +<!-- +// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65) +var hasProductInstall = DetectFlashVer(6, 0, 65); + +// Version check based upon the values defined in globals +var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision); + + +// Check to see if a player with Flash Product Install is available and the version does not meet the requirements for playback +if ( hasProductInstall && !hasRequestedVersion ) { + // MMdoctitle is the stored document.title value used by the installation process to close the window that started the process + // This is necessary in order to close browser windows that are still utilizing the older version of the player after installation has completed + // DO NOT MODIFY THE FOLLOWING FOUR LINES + // Location visited after installation is complete if installation is required + var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn"; + var MMredirectURL = window.location; + document.title = document.title.slice(0, 47) + " - Flash Player Installation"; + var MMdoctitle = document.title; + + AC_FL_RunContent( + "src", "playerProductInstall", + "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"", + "width", "100%", + "height", "100%", + "align", "middle", + "id", "AsUnitRubyDemo", + "quality", "high", + "bgcolor", "#869ca7", + "name", "AsUnitRubyDemo", + "allowScriptAccess","sameDomain", + "type", "application/x-shockwave-flash", + "pluginspage", "http://www.adobe.com/go/getflashplayer" + ); +} else if (hasRequestedVersion) { + // if we've detected an acceptable version + // embed the Flash Content SWF when all tests are passed + AC_FL_RunContent( + "src", "AsUnitRubyDemo-debug", + "width", "100%", + "height", "100%", + "align", "middle", + "id", "AsUnitRubyDemo", + "quality", "high", + "bgcolor", "#869ca7", + "name", "AsUnitRubyDemo", + "flashvars",'historyUrl=history.htm%3F&lconid=' + lc_id + '', + "allowScriptAccess","sameDomain", + "type", "application/x-shockwave-flash", + "pluginspage", "http://www.adobe.com/go/getflashplayer" + ); + } else { // flash is too old or we can't detect the plugin + var alternateContent = 'Alternate HTML content should be placed here. ' + + 'This content requires the Adobe Flash Player. ' + + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>'; + document.write(alternateContent); // insert non-flash content + } +// --> +</script> +<noscript> + <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + id="AsUnitRubyDemo" width="100%" height="100%" + codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"> + <param name="movie" value="AsUnitRubyDemo-debug.swf" /> + <param name="quality" value="high" /> + <param name="bgcolor" value="#869ca7" /> + <param name="allowScriptAccess" value="sameDomain" /> + <embed src="AsUnitRubyDemo-debug.swf" quality="high" bgcolor="#869ca7" + width="100%" height="100%" name="AsUnitRubyDemo" align="middle" + play="true" + loop="false" + quality="high" + allowScriptAccess="sameDomain" + type="application/x-shockwave-flash" + pluginspage="http://www.adobe.com/go/getflashplayer"> + </embed> + </object> +</noscript> +<iframe name="_history" src="history.htm" frameborder="0" scrolling="no" width="22" height="0"></iframe> +</body> +</html> Added: trunk/ruby/demo/bin/AsUnitRubyDemo-debug.swf =================================================================== (Binary files differ) Property changes on: trunk/ruby/demo/bin/AsUnitRubyDemo-debug.swf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/ruby/demo/bin/AsUnitRubyDemo.html =================================================================== --- trunk/ruby/demo/bin/AsUnitRubyDemo.html (rev 0) +++ trunk/ruby/demo/bin/AsUnitRubyDemo.html 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,107 @@ +<!-- saved from url=(0014)about:internet --> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title></title> +<script src="AC_OETags.js" language="javascript"></script> +<style> +body { margin: 0px; overflow:hidden } +</style> +<script language="JavaScript" type="text/javascript"> +<!-- +// ----------------------------------------------------------------------------- +// Globals +// Major version of Flash required +var requiredMajorVersion = 9; +// Minor version of Flash required +var requiredMinorVersion = 0; +// Minor version of Flash required +var requiredRevision = 0; +// ----------------------------------------------------------------------------- +// --> +</script> +</head> + +<body scroll="no"> +<script language="JavaScript" type="text/javascript" src="history.js"></script> +<script language="JavaScript" type="text/javascript"> +<!-- +// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65) +var hasProductInstall = DetectFlashVer(6, 0, 65); + +// Version check based upon the values defined in globals +var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision); + + +// Check to see if a player with Flash Product Install is available and the version does not meet the requirements for playback +if ( hasProductInstall && !hasRequestedVersion ) { + // MMdoctitle is the stored document.title value used by the installation process to close the window that started the process + // This is necessary in order to close browser windows that are still utilizing the older version of the player after installation has completed + // DO NOT MODIFY THE FOLLOWING FOUR LINES + // Location visited after installation is complete if installation is required + var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn"; + var MMredirectURL = window.location; + document.title = document.title.slice(0, 47) + " - Flash Player Installation"; + var MMdoctitle = document.title; + + AC_FL_RunContent( + "src", "playerProductInstall", + "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"", + "width", "100%", + "height", "100%", + "align", "middle", + "id", "AsUnitRubyDemo", + "quality", "high", + "bgcolor", "#869ca7", + "name", "AsUnitRubyDemo", + "allowScriptAccess","sameDomain", + "type", "application/x-shockwave-flash", + "pluginspage", "http://www.adobe.com/go/getflashplayer" + ); +} else if (hasRequestedVersion) { + // if we've detected an acceptable version + // embed the Flash Content SWF when all tests are passed + AC_FL_RunContent( + "src", "AsUnitRubyDemo", + "width", "100%", + "height", "100%", + "align", "middle", + "id", "AsUnitRubyDemo", + "quality", "high", + "bgcolor", "#869ca7", + "name", "AsUnitRubyDemo", + "flashvars",'historyUrl=history.htm%3F&lconid=' + lc_id + '', + "allowScriptAccess","sameDomain", + "type", "application/x-shockwave-flash", + "pluginspage", "http://www.adobe.com/go/getflashplayer" + ); + } else { // flash is too old or we can't detect the plugin + var alternateContent = 'Alternate HTML content should be placed here. ' + + 'This content requires the Adobe Flash Player. ' + + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>'; + document.write(alternateContent); // insert non-flash content + } +// --> +</script> +<noscript> + <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + id="AsUnitRubyDemo" width="100%" height="100%" + codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"> + <param name="movie" value="AsUnitRubyDemo.swf" /> + <param name="quality" value="high" /> + <param name="bgcolor" value="#869ca7" /> + <param name="allowScriptAccess" value="sameDomain" /> + <embed src="AsUnitRubyDemo.swf" quality="high" bgcolor="#869ca7" + width="100%" height="100%" name="AsUnitRubyDemo" align="middle" + play="true" + loop="false" + quality="high" + allowScriptAccess="sameDomain" + type="application/x-shockwave-flash" + pluginspage="http://www.adobe.com/go/getflashplayer"> + </embed> + </object> +</noscript> +<iframe name="_history" src="history.htm" frameborder="0" scrolling="no" width="22" height="0"></iframe> +</body> +</html> Added: trunk/ruby/demo/bin/AsUnitRubyDemo.swf =================================================================== (Binary files differ) Property changes on: trunk/ruby/demo/bin/AsUnitRubyDemo.swf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/ruby/demo/bin/history.htm =================================================================== --- trunk/ruby/demo/bin/history.htm (rev 0) +++ trunk/ruby/demo/bin/history.htm 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,21 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> +<script type='text/javascript' language='JavaScript1.2' charset='utf-8'> +var v = new top.Vars(top.getSearch(window)); +var fv = v.toString('$_'); +</script> +</head> +<body > +<script type='text/javascript' language='JavaScript1.2' charset='utf-8'> +document.writeln('<object id=\"utility\" name=\" \" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"" + activexDownloadURL + "#version=7,0,14,0\" width=\"100\" height=\"50\">'); +document.writeln('<param name=\"movie\" value=\"history.swf\" />'); +document.writeln('<param name=\"FlashVars\" value=\"'+fv+'&$_lconid='+top.lc_id+'\"/>'); +document.writeln('<param name=\"quality\" value=\"high\" />'); +document.writeln('<param name=\"bgcolor\" value=\"#FFFFFF\" />'); +document.writeln('<param name=\"profile\" value=\"false\" />'); +document.writeln('<embed id=\"utilityEmbed\" name=\"history.swf\" src=\"history.swf\" type=\"application/x-shockwave-flash\" flashvars=\"'+fv+'&$_lconid='+top.lc_id+'\" profile=\"false\" quality=\"high\" bgcolor=\"#FFFFFF\" width=\"100\" height=\"50\" align=\"\" pluginspage=\"" + pluginDownloadURL + "\"></embed>'); +document.writeln('</object>'); +</script> +</body> +</html> \ No newline at end of file Added: trunk/ruby/demo/bin/history.js =================================================================== --- trunk/ruby/demo/bin/history.js (rev 0) +++ trunk/ruby/demo/bin/history.js 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,48 @@ +// $Revision: 1.49 $ +// Vars +Vars = function(qStr) { + this.numVars = 0; + if(qStr != null) { + var nameValue, name; + var pairs = qStr.split('&'); + var pairLen = pairs.length; + for(var i = 0; i < pairLen; i++) { + var pair = pairs[i]; + if( (pair.indexOf('=')!= -1) && (pair.length > 3) ) { + var nameValue = pair.split('='); + var name = nameValue[0]; + var value = nameValue[1]; + if(this[name] == null && name.length > 0 && value.length > 0) { + this[name] = value; + this.numVars++; + } + } + } + } +} +Vars.prototype.toString = function(pre) { + var result = ''; + if(pre == null) { pre = ''; } + for(var i in this) { + if(this[i] != null && typeof(this[i]) != 'object' && typeof(this[i]) != 'function' && i != 'numVars') { + result += pre + i + '=' + this[i] + '&'; + } + } + if(result.length > 0) result = result.substr(0, result.length-1); + return result; +} +function getSearch(wRef) { + var searchStr = ''; + if(wRef.location.search.length > 1) { + searchStr = new String(wRef.location.search); + searchStr = searchStr.substring(1, searchStr.length); + } + return searchStr; +} +var lc_id = Math.floor(Math.random() * 100000).toString(16); +if (this != top) +{ + top.Vars = Vars; + top.getSearch = getSearch; + top.lc_id = lc_id; +} Added: trunk/ruby/demo/bin/history.swf =================================================================== (Binary files differ) Property changes on: trunk/ruby/demo/bin/history.swf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/ruby/demo/bin/playerProductInstall.swf =================================================================== (Binary files differ) Property changes on: trunk/ruby/demo/bin/playerProductInstall.swf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/ruby/demo/src/AsUnitRubyDemo.mxml =================================================================== --- trunk/ruby/demo/src/AsUnitRubyDemo.mxml (rev 0) +++ trunk/ruby/demo/src/AsUnitRubyDemo.mxml 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> + <mx:Label text="Hello World" /> +</mx:Application> Added: trunk/ruby/demo/src/lifebin/display/Component.as =================================================================== --- trunk/ruby/demo/src/lifebin/display/Component.as (rev 0) +++ trunk/ruby/demo/src/lifebin/display/Component.as 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,10 @@ + +package lifebin.display { + + public class Component { + + public function Component() { + super(); + } + } +} Added: trunk/ruby/demo/src/lifebin/display/Container.as =================================================================== --- trunk/ruby/demo/src/lifebin/display/Container.as (rev 0) +++ trunk/ruby/demo/src/lifebin/display/Container.as 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,10 @@ + +package lifebin.display { + + public class Container { + + public function Container() { + super(); + } + } +} Added: trunk/ruby/demo/test/lifebin/display/ComponentTest.as =================================================================== --- trunk/ruby/demo/test/lifebin/display/ComponentTest.as (rev 0) +++ trunk/ruby/demo/test/lifebin/display/ComponentTest.as 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,29 @@ +package lifebin.display { + import asunit.framework.TestCase; + + public class ComponentTest extends TestCase { + private var instance:Component; + + public function ComponentTest(testMethod:String = null) { + super(testMethod); + } + + protected override function setUp():void { + super.setUp(); + instance = new Component(); + } + + protected override function tearDown():void { + super.tearDown(); + instance = null; + } + + public function testInstantiated():void { + assertTrue("ComponentTest instantiated", instance is Component); + } + + public function test():void { + assertTrue("ComponentTest default failing test", false); + } + } +} Added: trunk/ruby/demo/test/lifebin/display/ContainerTest.as =================================================================== --- trunk/ruby/demo/test/lifebin/display/ContainerTest.as (rev 0) +++ trunk/ruby/demo/test/lifebin/display/ContainerTest.as 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,31 @@ +package lifebin.display { + import asunit.framework.TestCase; + + public class ContainerTest extends TestCase { + private var instance:Container; + + public function ContainerTest(testMethod:String = null) { + super(testMethod); + } + + protected override function setUp():void { + super.setUp(); + instance = new Container(); + addChild(instance); + } + + protected override function tearDown():void { + super.tearDown(); + removeChild(instance); + instance = null; + } + + public function testInstantiated():void { + assertTrue("ContainerTest instantiated", instance is Container); + } + + public function test():void { + assertTrue("ContainerTest default failing test", false); + } + } +} Modified: trunk/ruby/src/asunit =================================================================== --- trunk/ruby/src/asunit 2006-09-20 18:24:28 UTC (rev 105) +++ trunk/ruby/src/asunit 2006-09-20 18:42:22 UTC (rev 106) @@ -1,5 +1,7 @@ #!/bin/ruby +$:.push('~/projects/asunit/ruby/src') + module AsUnit # ------------------------------------------------------------------ # COPIED FROM RAKE! Rake module singleton methods. @@ -46,7 +48,7 @@ end end -require 'asunit.rb' +require 'asunit_application' if __FILE__ == $0 then AsUnit::Application.new Deleted: trunk/ruby/src/asunit.rb =================================================================== --- trunk/ruby/src/asunit.rb 2006-09-20 18:24:28 UTC (rev 105) +++ trunk/ruby/src/asunit.rb 2006-09-20 18:42:22 UTC (rev 106) @@ -1,71 +0,0 @@ -#!/bin/ruby - -module AsUnit - CLASS_TEMPLATE = 'Class.erb' - TEST_TEMPLATE = 'TestCase.erb' - PROJECT_FILE_NAME = '.asunit' - - require 'yaml' - require 'optparse' - require 'settings' - require 'create_class' - require 'asunit_arguments' - - class Application - - def initialize - super - arguments = AsUnitArguments.new(ARGV) - project_file = get_project_file Dir.pwd - prefs = YAML.load(project_file.read) - settings = AsUnit::Settings.new(prefs) - - results = Array.new - arguments.classnames.each { |name| - if(name.ends_with? "Test") - begin - create_class(name, settings, TEST_TEMPLATE, arguments) - rescue Exception => e - results.push(e) - end - else - begin - create_class(name, settings, AsUnit::CLASS_TEMPLATE, arguments) - rescue Exception => e - results.push(e) - end - begin - create_class(name + "Test", settings, AsUnit::TEST_TEMPLATE, arguments) - rescue Exception => e - results.push(e) - end - end - } - if(results.length > 0) - puts results.join("\n") - end - end - - def create_class(name, settings, template, arguments) - begin - class_creator = AsUnit::CreateClass.new(name, settings, template) - class_creator.run(arguments) - puts 'File Created at: ' + class_creator.final_path - return nil - rescue Exception => e - raise e - end - end - - def get_project_file(dir) - if(dir == '/') - raise 'Project file not found, please create a new asunit project by typing "asunit -create-project [-src, -test, -templates]"' - end - Dir.chdir dir - if(File.exists? AsUnit::PROJECT_FILE_NAME) - return File.open(AsUnit::PROJECT_FILE_NAME, 'r') - end - get_project_file(File.dirname(dir)) - end - end -end Added: trunk/ruby/src/asunit_application.rb =================================================================== --- trunk/ruby/src/asunit_application.rb (rev 0) +++ trunk/ruby/src/asunit_application.rb 2006-09-20 18:42:22 UTC (rev 106) @@ -0,0 +1,83 @@ +#!/bin/ruby + +module AsUnit + CLASS_TEMPLATE = 'Class.erb' + TEST_TEMPLATE = 'TestCase.erb' + PROJECT_FILE_NAME = '.asunit' + FLEX_PROJECT_FILE_NAME = '.actionScriptProperties' + + require 'yaml' + require 'optparse' + require 'settings' + require 'create_class' + require 'asunit_arguments' + + class Application + + def initialize + super + arguments = AsUnitArguments.new(ARGV) + @starting_dir = Dir.pwd + project_file = get_project_file(Dir.pwd, AsUnit::PROJECT_FILE_NAME) + if(project_file.nil?) + Dir.chdir @starting_dir + project_file = get_project_file(Dir.pwd, AsUnit::PROJECT_FILE_NAME) + end + + if(project_file.nil?) + puts 'No project file found!' + end + + prefs = YAML.load(project_file.read) + settings = AsUnit::Settings.new(prefs) + + results = Array.new + arguments.classnames.each { |name| + if(name.ends_with? "Test") + begin + create_class(name, settings, TEST_TEMPLATE, arguments) + rescue Exception => e + results.push(e) + end + else + begin + create_class(name, settings, AsUnit::CLASS_TEMPLATE, arguments) + rescue Exception => e + results.push(e) + end + begin + create_class(name + "Test", settings, AsUnit::TEST_TEMPLATE, arguments) + rescue Exception => e + results.push(e) + end + end + } + if(results.length > 0) + puts results.join("\n") + end + end + + def create_class(name, settings, template, arguments) + begin + class_creator = AsUnit::CreateClass.new(name, settings, template) + class_creator.run(arguments) + puts 'File Created at: ' + class_creator.final_path + return nil + rescue Exception => e + raise e + end + end + + def get_project_file(dir, project_file_name) + if(dir == '/') + return nil +# raise 'Project file not found, please create a new asunit project by typing "asunit -create-project [-src, -test, -templates]"' + end + Dir.chdir dir + if(File.exists? project_file_name) + return File.open(project_file_name, 'r') + end + get_project_file(File.dirname(dir), project_file_name) + end + end +end Modified: trunk/ruby/src/asunit_arguments.rb =================================================================== --- trunk/ruby/src/asunit_arguments.rb 2006-09-20 18:24:28 UTC (rev 105) +++ trunk/ruby/src/asunit_arguments.rb 2006-09-20 18:42:22 UTC (rev 106) @@ -10,6 +10,7 @@ self[:display_object] = false self[:force] = false self[:interfaces] = Array.new + self[:is_interface] = false self[:project_file] = nil self[:superclass] = nil @@ -31,6 +32,10 @@ self[:interfaces].push(inf || '$') end + opts.on('-I', '--is-interface', 'class being created is an interface') do + self[:is_interface] = true + end + opts.on('-p', '--project-file [FILE]', 'use provided project file [FILE]') do |file| if(file.nil?) raise '-p [--project-file] argument must be followed by a relative or absolute file target"' Modified: trunk/ruby/src/template_resolver.rb =================================================================== --- trunk/ruby/src/template_resolver.rb 2006-09-20 18:24:28 UTC (rev 105) +++ trunk/ruby/src/template_resolver.rb 2006-09-20 18:42:22 UTC (rev 106) @@ -21,7 +21,7 @@ def template=(template) @template = template - @parsed = nil + @parsed = nil end def parse @@ -53,6 +53,10 @@ @test_cases.sort! end + def class_under_test + return classname.sub(/Test$/, '') + end + def display_object? return @display_object end Modified: trunk/ruby/src/templates/TestCase.erb =================================================================== --- trunk/ruby/src/templates/TestCase.erb 2006-09-20 18:24:28 UTC (rev 105) +++ trunk/ruby/src/templates/TestCase.erb 2006-09-20 18:42:22 UTC (rev 106) @@ -2,7 +2,7 @@ import asunit.framework.TestCase; public class <%= classname %> extends TestCase { - private var instance:<%= classname %>; + private var instance:<%= class_under_test %>; public function <%= classname %>(testMethod:String = null) { super(testMethod); @@ -10,7 +10,7 @@ protected override function setUp():void { super.setUp(); - instance = new <%= classname %>();<% + instance = new <%= class_under_test %>();<% if display_object? %> addChild(instance);<% end %> } @@ -23,7 +23,7 @@ } public function testInstantiated():void { - assertTrue("<%= classname %> instantiated", instance is <%= classname %>); + assertTrue("<%= classname %> instantiated", instance is <%= class_under_test %>); } public function test():void { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-20 18:24:39
|
Revision: 105 http://svn.sourceforge.net/asunit/?rev=105&view=rev Author: lukebayes Date: 2006-09-20 11:24:28 -0700 (Wed, 20 Sep 2006) Log Message: ----------- moving test classes into their own directory Added Paths: ----------- trunk/framework-test/ trunk/framework-test/as3/ trunk/framework-test/as3/asunit/ trunk/framework-test/as3/asunit/framework/ trunk/framework-test/as3/asunit/framework/AssertTest.as trunk/framework-test/as3/asunit/framework/MockData.xml trunk/framework-test/as3/asunit/framework/TestCaseMock.as trunk/framework-test/as3/asunit/framework/TestCaseTest.as trunk/framework-test/as3/asunit/framework/TestFailureTest.as trunk/framework-test/as3/asunit/framework/VisualTestCaseTest.as trunk/framework-test/as3/asunit/runner/ trunk/framework-test/as3/asunit/runner/BaseTestRunnerMock.as trunk/framework-test/as3/asunit/textui/ trunk/framework-test/as3/asunit/textui/TestRunnerTest.as trunk/framework-test/as3/asunit/textui/TestRunnerTestCaseMock.as trunk/framework-test/as3/asunit/util/ trunk/framework-test/as3/asunit/util/ArrayIteratorTest.as Added: trunk/framework-test/as3/asunit/framework/AssertTest.as =================================================================== --- trunk/framework-test/as3/asunit/framework/AssertTest.as (rev 0) +++ trunk/framework-test/as3/asunit/framework/AssertTest.as 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,187 @@ +package asunit.framework { + + import flash.errors.IllegalOperationError; + import flash.display.Sprite; + + public class AssertTest extends TestCase { + + public function AssertTest(testMethod:String = null) { + super(testMethod); + } + + public function testAssertTrue():void { + assertTrue(true); + } + + public function testAssertFalse():void { + assertFalse(false); + } + + public function testAssertFalseWithMessage():void { + assertFalse("message", false); + } + + public function testAssertTrueWithMessage():void { + assertTrue("message", true); + } + + public function testAssertTrueFailure():void { + try { + assertTrue(false); + } + catch(e:Error) { + return; + } + assertTrue("assertTrue(false) should have failed but didn't", false); + } + + public function testAssertTrueMessage():void { + assertTrue("asertTrue with message", true); + } + + public function testAssertTrueMessageFailure():void { + try { + assertTrue("trueMessage", false); + } + catch(e:Error) { + return; + } + assertTrue("assertTrue('message', false) should have failed but didn't", false); + } + + public function testFail():void { + try { + Assert.fail("this shouldn't be caught"); + } + catch(e:Error) { + assertTrue("passed", true); + return; + } + fail("failure should be thrown"); + } + + public function testAssertEqualsSimple():void { + var obj1:Object = new Object(); + assertEquals(obj1, obj1); + } + + public function testEqualsMethod():void { + var obj1:Object = new Object(); + obj1.equals = function():Boolean { + return true; + } + + var obj2:Object = new Object(); + obj2.equals = function():Boolean { + return true; + } + assertEquals(obj1, obj2); + } + + public function testEqualsSimpleMessage():void { + var obj1:Object = new Object(); + assertEquals("message", obj1, obj1); + } + + public function testEqualsFailure():void { + var obj1:Object = new Object(); + var obj2:Object = new Object(); + try { + assertEquals(obj1, obj2); + } + catch(e:Error) { + return; + } + fail("obj1 does not equal obj2"); + } + + public function testEqualsSimpleMessageFailure():void { + try { + var obj1:Object = new Object(); + var obj2:Object = new Object(); + assertEquals("message", obj1, obj2); + } + catch(e:Error) { + return; + } + fail("obj1 does not equal obj2 with message"); + } + + public function testNull():void { + assertNull(null); + } + + public function testNullMessage():void { + assertNull("message", null); + } + + public function testNullFailure():void { + var obj:Object = new Object(); + try { + assertNull("message", obj); + } + catch(e:Error) { + return; + } + fail("null failure"); + } + + public function testNotNull():void { + var obj:Object = new Object(); + assertNotNull(obj); + } + + public function testNotNullFailure():void { + try { + assertNotNull(null); + } + catch(e:Error) { + return; + } + fail("not null failed"); + } + + public function testNotNullMessage():void { + var obj:Object = new Object(); + assertNotNull("not null", obj); + } + + public function testSame():void { + var obj:Object = new Object(); + assertSame(obj, obj); + } + + public function testSameFailure():void { + try { + assertSame(new Object(), new Object()); + } + catch(e:Error) { + return; + } + fail("same failure"); + } + + public function testNotSame():void { + var obj1:Object = new Object(); + var obj2:Object = new Object(); + assertNotSame(obj1, obj2); + } + + public function testNotSameFailure():void { + var obj1:Object = new Object(); + try { + assertNotSame(obj1, obj1); + } + catch(e:Error) { + return; + } + fail("not same failure"); + } + + public function testNotSameMessage():void { + var obj1:Object = new Object(); + var obj2:Object = new Object(); + assertNotSame("not same message", obj1, obj2); + } + } +} \ No newline at end of file Added: trunk/framework-test/as3/asunit/framework/MockData.xml =================================================================== --- trunk/framework-test/as3/asunit/framework/MockData.xml (rev 0) +++ trunk/framework-test/as3/asunit/framework/MockData.xml 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,8 @@ +<books> + <book publisher="Addison-Wesley" name="Design Patterns" /> + <book publisher="Addison-Wesley" name="The Pragmatic Programmer" /> + <book publisher="Addison-Wesley" name="Test Driven Development" /> + <book publisher="Addison-Wesley" name="Refactoring to Patterns" /> + <book publisher="O'Reilly Media" name="The Cathedral & the Bazaar" /> + <book publisher="O'Reilly Media" name="Unit Test Frameworks" /> +</books> \ No newline at end of file Added: trunk/framework-test/as3/asunit/framework/TestCaseMock.as =================================================================== --- trunk/framework-test/as3/asunit/framework/TestCaseMock.as (rev 0) +++ trunk/framework-test/as3/asunit/framework/TestCaseMock.as 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,24 @@ +package asunit.framework { + + public class TestCaseMock extends TestCase { + public var testMethod1Run:Boolean; + public var testMethod2Run:Boolean; + public var testMethod3Run:Boolean; + + public function TestCaseMock(methodName:String = null) { + super(methodName); + } + + public function testMethod1():void { + testMethod1Run = true; + } + + public function testMethod2():void { + testMethod2Run = true; + } + + public function testMethod3():void { + testMethod3Run = true; + } + } +} \ No newline at end of file Added: trunk/framework-test/as3/asunit/framework/TestCaseTest.as =================================================================== --- trunk/framework-test/as3/asunit/framework/TestCaseTest.as (rev 0) +++ trunk/framework-test/as3/asunit/framework/TestCaseTest.as 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,45 @@ +package asunit.framework { + + public class TestCaseTest extends TestCase { + + public function TestCaseTest(testMethod:String = null) { + super(testMethod); + } + + public function testInstantiated():void { + assertTrue(this is TestCase); + } + + public function testCustomConstructor():void { + var mock:TestCaseMock = new TestCaseMock("testMethod1"); + mock.run(); + assertTrue("testMethod1Run", mock.testMethod1Run); + assertFalse("testMethod2Run", mock.testMethod2Run); + assertFalse("testMethod3Run", mock.testMethod3Run); + } + + public function testCustomConstructor2():void { + var mock:TestCaseMock = new TestCaseMock("testMethod1, testMethod3"); + mock.run(); + assertTrue("testMethod1Run", mock.testMethod1Run); + assertFalse("testMethod2Run", mock.testMethod2Run); + assertTrue("testMethod3Run", mock.testMethod3Run); + } + + public function testCustomConstructor3():void { + var mock:TestCaseMock = new TestCaseMock("testMethod1,testMethod3"); + mock.run(); + assertTrue("testMethod1Run", mock.testMethod1Run); + assertFalse("testMethod2Run", mock.testMethod2Run); + assertTrue("testMethod3Run", mock.testMethod3Run); + } + + public function testCustomConstructor4():void { + var mock:TestCaseMock = new TestCaseMock("testMethod1, testMethod2,testMethod3"); + mock.run(); + assertTrue("testMethod1Run", mock.testMethod1Run); + assertTrue("testMethod2Run", mock.testMethod2Run); + assertTrue("testMethod3Run", mock.testMethod3Run); + } + } +} \ No newline at end of file Added: trunk/framework-test/as3/asunit/framework/TestFailureTest.as =================================================================== --- trunk/framework-test/as3/asunit/framework/TestFailureTest.as (rev 0) +++ trunk/framework-test/as3/asunit/framework/TestFailureTest.as 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,14 @@ +package asunit.framework { + + public class TestFailureTest extends TestCase { + + public function TestFailureTest(testMethod:String = null) { + super(testMethod); + } + + public function testInstantiated():void { + var failure:TestFailure = new TestFailure(this, new Error()); + assertTrue(failure is TestFailure); + } + } +} \ No newline at end of file Added: trunk/framework-test/as3/asunit/framework/VisualTestCaseTest.as =================================================================== --- trunk/framework-test/as3/asunit/framework/VisualTestCaseTest.as (rev 0) +++ trunk/framework-test/as3/asunit/framework/VisualTestCaseTest.as 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,43 @@ +package asunit.framework { + import flash.display.Sprite; + + public class VisualTestCaseTest extends TestCase { + private var instance:Sprite; + + public function VisualTestCaseTest(testMethod:String = null) { + super(testMethod); + } + + protected override function setUp():void { + instance = new Sprite(); + addChild(instance); + } + + protected override function tearDown():void { + removeChild(instance); + } + + public function testInstance():void { + assertTrue(instance is Sprite); + } + + public function testSize():void { + assertTrue(instance.width == 0); + assertTrue(instance.height == 0); + } + + public function testDrawnSize():void { + instance.graphics.beginFill(0xFF0000); + instance.graphics.drawRect(0, 0, 10, 20); + + assertTrue(instance.width == 10); + assertTrue(instance.height == 20); + } + + public function testSecondSize():void { + assertTrue(instance.width == 0); + assertTrue(instance.height == 0); + } + + } +} \ No newline at end of file Added: trunk/framework-test/as3/asunit/runner/BaseTestRunnerMock.as =================================================================== --- trunk/framework-test/as3/asunit/runner/BaseTestRunnerMock.as (rev 0) +++ trunk/framework-test/as3/asunit/runner/BaseTestRunnerMock.as 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,6 @@ +package asunit.runner { + + public class BaseTestRunnerMock extends BaseTestRunner { + + } +} \ No newline at end of file Added: trunk/framework-test/as3/asunit/textui/TestRunnerTest.as =================================================================== --- trunk/framework-test/as3/asunit/textui/TestRunnerTest.as (rev 0) +++ trunk/framework-test/as3/asunit/textui/TestRunnerTest.as 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,55 @@ +package asunit.textui { + import asunit.framework.TestCase; + import flash.utils.setTimeout; + import flash.events.Event; + import flash.errors.IllegalOperationError; + + public class TestRunnerTest extends TestCase { + private var instance:TestRunner; + + public function TestRunnerTest(testMethod:String = null) { + super(testMethod); + } + + protected override function setUp():void { + instance = new TestRunner(); + addChild(instance); + } + + protected override function tearDown():void { + removeChild(instance); + instance = null; + } + + public function testInstantiated():void { + assertTrue("TestRunner instantiated with: " + instance, instance is TestRunner); + } + + public function testAsync():void { + var handler:Function = addAsync(asyncCompleteHandler); + setTimeout(handler, 400, new Event(Event.ACTIVATE)); + } + + public function asyncCompleteHandler(event:Event):void { +// throw new IllegalOperationError("what the heck?"); + } + + public function testAsync2():void { + var handler:Function = addAsync(async2CompleteHandler); + setTimeout(handler, 40); + } + + public function async2CompleteHandler():void { +// fail("test async complete failed"); + } + + public function testSomethingComplete():void { + } + + public function testSomethingElse():void { + } + + public function testAnotherThing():void { + } + } +} Added: trunk/framework-test/as3/asunit/textui/TestRunnerTestCaseMock.as =================================================================== --- trunk/framework-test/as3/asunit/textui/TestRunnerTestCaseMock.as (rev 0) +++ trunk/framework-test/as3/asunit/textui/TestRunnerTestCaseMock.as 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,30 @@ +package asunit.textui { + + import asunit.framework.TestCase; + + public class TestRunnerTestCaseMock extends TestCase { + public var testMethod1Run:Boolean; + public var testMethod2Run:Boolean; + public var testMethod3Run:Boolean; + + public function TestRunnerTestCaseMock(methodName:String = null) { + super(methodName); + } + + public function testMethod1():void { + testMethod1Run = true; + } + + public function testMethod1Completed():void { + trace("testMethod1Handler called"); + } + + public function testMethod2():void { + testMethod2Run = true; + } + + public function testMethod3():void { + testMethod3Run = true; + } + } +} \ No newline at end of file Added: trunk/framework-test/as3/asunit/util/ArrayIteratorTest.as =================================================================== --- trunk/framework-test/as3/asunit/util/ArrayIteratorTest.as (rev 0) +++ trunk/framework-test/as3/asunit/util/ArrayIteratorTest.as 2006-09-20 18:24:28 UTC (rev 105) @@ -0,0 +1,65 @@ +package asunit.util { + import asunit.framework.TestCase; + + public class ArrayIteratorTest extends TestCase { + private var itr:ArrayIterator; + + public function ArrayIteratorTest(testMethod:String = null) { + super(testMethod); + } + + protected override function setUp():void { + itr = new ArrayIterator(getSimpleArray(5)); + } + + private function getSimpleArray(count:Number):Array { + var arr:Array = new Array(); + for(var i:Number = 0; i < count; i++) { + arr.push("item-" + i); + } + return arr; + } + + protected override function tearDown():void { + itr = null; + } + + public function testInstantiated():void { + assertTrue("ArrayIterator instantiated", itr is ArrayIterator); + } + + public function testHasNext():void { + assertTrue(itr.hasNext()); + } + + public function testNext():void { + assertEquals("item-0", itr.next()); + } + + public function testNextTwice():void { + assertEquals("item-0", itr.next()); + assertEquals("item-1", itr.next()); + } + + public function testLast():void { + assertTrue(itr.hasNext()); + assertEquals("item-0", itr.next()); + assertTrue(itr.hasNext()); + assertEquals("item-1", itr.next()); + assertTrue(itr.hasNext()); + assertEquals("item-2", itr.next()); + assertTrue(itr.hasNext()); + assertEquals("item-3", itr.next()); + assertTrue(itr.hasNext()); + assertEquals("item-4", itr.next()); + assertFalse(itr.hasNext()); + } + + public function testReset():void { + testLast(); + itr.reset(); + assertTrue(itr.hasNext()); + assertEquals("item-0", itr.next()); + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-20 18:21:15
|
Revision: 104 http://svn.sourceforge.net/asunit/?rev=104&view=rev Author: lukebayes Date: 2006-09-20 11:20:59 -0700 (Wed, 20 Sep 2006) Log Message: ----------- moving test classes to framework-test Removed Paths: ------------- trunk/framework/as3/AllTests.as trunk/framework/as3/asunit/framework/AllTests.as trunk/framework/as3/asunit/framework/AssertTest.as trunk/framework/as3/asunit/framework/MockData.xml trunk/framework/as3/asunit/framework/TestCaseMock.as trunk/framework/as3/asunit/framework/TestCaseTest.as trunk/framework/as3/asunit/framework/TestFailureTest.as trunk/framework/as3/asunit/framework/VisualTestCaseTest.as trunk/framework/as3/asunit/runner/BaseTestRunnerMock.as trunk/framework/as3/asunit/textui/AllTests.as trunk/framework/as3/asunit/textui/TestRunnerTest.as trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as trunk/framework/as3/asunit/util/AllTests.as trunk/framework/as3/asunit/util/ArrayIteratorTest.as Deleted: trunk/framework/as3/AllTests.as =================================================================== --- trunk/framework/as3/AllTests.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/AllTests.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,11 +0,0 @@ -package { - import asunit.framework.TestSuite; - import asunit.AllTests; - - public class AllTests extends TestSuite { - - public function AllTests() { - addTest(new asunit.AllTests()); - } - } -} Deleted: trunk/framework/as3/asunit/framework/AllTests.as =================================================================== --- trunk/framework/as3/asunit/framework/AllTests.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/framework/AllTests.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,17 +0,0 @@ -package asunit.framework { - import asunit.framework.TestSuite; - import asunit.framework.AssertTest; - import asunit.framework.TestCaseTest; - import asunit.framework.TestFailureTest; - import asunit.framework.VisualTestCaseTest; - - public class AllTests extends TestSuite { - - public function AllTests() { - addTest(new asunit.framework.AssertTest()); - addTest(new asunit.framework.TestCaseTest()); - addTest(new asunit.framework.TestFailureTest()); - addTest(new asunit.framework.VisualTestCaseTest()); - } - } -} Deleted: trunk/framework/as3/asunit/framework/AssertTest.as =================================================================== --- trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,187 +0,0 @@ -package asunit.framework { - - import flash.errors.IllegalOperationError; - import flash.display.Sprite; - - public class AssertTest extends TestCase { - - public function AssertTest(testMethod:String = null) { - super(testMethod); - } - - public function testAssertTrue():void { - assertTrue(true); - } - - public function testAssertFalse():void { - assertFalse(false); - } - - public function testAssertFalseWithMessage():void { - assertFalse("message", false); - } - - public function testAssertTrueWithMessage():void { - assertTrue("message", true); - } - - public function testAssertTrueFailure():void { - try { - assertTrue(false); - } - catch(e:Error) { - return; - } - assertTrue("assertTrue(false) should have failed but didn't", false); - } - - public function testAssertTrueMessage():void { - assertTrue("asertTrue with message", true); - } - - public function testAssertTrueMessageFailure():void { - try { - assertTrue("trueMessage", false); - } - catch(e:Error) { - return; - } - assertTrue("assertTrue('message', false) should have failed but didn't", false); - } - - public function testFail():void { - try { - Assert.fail("this shouldn't be caught"); - } - catch(e:Error) { - assertTrue("passed", true); - return; - } - fail("failure should be thrown"); - } - - public function testAssertEqualsSimple():void { - var obj1:Object = new Object(); - assertEquals(obj1, obj1); - } - - public function testEqualsMethod():void { - var obj1:Object = new Object(); - obj1.equals = function():Boolean { - return true; - } - - var obj2:Object = new Object(); - obj2.equals = function():Boolean { - return true; - } - assertEquals(obj1, obj2); - } - - public function testEqualsSimpleMessage():void { - var obj1:Object = new Object(); - assertEquals("message", obj1, obj1); - } - - public function testEqualsFailure():void { - var obj1:Object = new Object(); - var obj2:Object = new Object(); - try { - assertEquals(obj1, obj2); - } - catch(e:Error) { - return; - } - fail("obj1 does not equal obj2"); - } - - public function testEqualsSimpleMessageFailure():void { - try { - var obj1:Object = new Object(); - var obj2:Object = new Object(); - assertEquals("message", obj1, obj2); - } - catch(e:Error) { - return; - } - fail("obj1 does not equal obj2 with message"); - } - - public function testNull():void { - assertNull(null); - } - - public function testNullMessage():void { - assertNull("message", null); - } - - public function testNullFailure():void { - var obj:Object = new Object(); - try { - assertNull("message", obj); - } - catch(e:Error) { - return; - } - fail("null failure"); - } - - public function testNotNull():void { - var obj:Object = new Object(); - assertNotNull(obj); - } - - public function testNotNullFailure():void { - try { - assertNotNull(null); - } - catch(e:Error) { - return; - } - fail("not null failed"); - } - - public function testNotNullMessage():void { - var obj:Object = new Object(); - assertNotNull("not null", obj); - } - - public function testSame():void { - var obj:Object = new Object(); - assertSame(obj, obj); - } - - public function testSameFailure():void { - try { - assertSame(new Object(), new Object()); - } - catch(e:Error) { - return; - } - fail("same failure"); - } - - public function testNotSame():void { - var obj1:Object = new Object(); - var obj2:Object = new Object(); - assertNotSame(obj1, obj2); - } - - public function testNotSameFailure():void { - var obj1:Object = new Object(); - try { - assertNotSame(obj1, obj1); - } - catch(e:Error) { - return; - } - fail("not same failure"); - } - - public function testNotSameMessage():void { - var obj1:Object = new Object(); - var obj2:Object = new Object(); - assertNotSame("not same message", obj1, obj2); - } - } -} \ No newline at end of file Deleted: trunk/framework/as3/asunit/framework/MockData.xml =================================================================== --- trunk/framework/as3/asunit/framework/MockData.xml 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/framework/MockData.xml 2006-09-20 18:20:59 UTC (rev 104) @@ -1,8 +0,0 @@ -<books> - <book publisher="Addison-Wesley" name="Design Patterns" /> - <book publisher="Addison-Wesley" name="The Pragmatic Programmer" /> - <book publisher="Addison-Wesley" name="Test Driven Development" /> - <book publisher="Addison-Wesley" name="Refactoring to Patterns" /> - <book publisher="O'Reilly Media" name="The Cathedral & the Bazaar" /> - <book publisher="O'Reilly Media" name="Unit Test Frameworks" /> -</books> \ No newline at end of file Deleted: trunk/framework/as3/asunit/framework/TestCaseMock.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCaseMock.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/framework/TestCaseMock.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,24 +0,0 @@ -package asunit.framework { - - public class TestCaseMock extends TestCase { - public var testMethod1Run:Boolean; - public var testMethod2Run:Boolean; - public var testMethod3Run:Boolean; - - public function TestCaseMock(methodName:String = null) { - super(methodName); - } - - public function testMethod1():void { - testMethod1Run = true; - } - - public function testMethod2():void { - testMethod2Run = true; - } - - public function testMethod3():void { - testMethod3Run = true; - } - } -} \ No newline at end of file Deleted: trunk/framework/as3/asunit/framework/TestCaseTest.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCaseTest.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/framework/TestCaseTest.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,45 +0,0 @@ -package asunit.framework { - - public class TestCaseTest extends TestCase { - - public function TestCaseTest(testMethod:String = null) { - super(testMethod); - } - - public function testInstantiated():void { - assertTrue(this is TestCase); - } - - public function testCustomConstructor():void { - var mock:TestCaseMock = new TestCaseMock("testMethod1"); - mock.run(); - assertTrue("testMethod1Run", mock.testMethod1Run); - assertFalse("testMethod2Run", mock.testMethod2Run); - assertFalse("testMethod3Run", mock.testMethod3Run); - } - - public function testCustomConstructor2():void { - var mock:TestCaseMock = new TestCaseMock("testMethod1, testMethod3"); - mock.run(); - assertTrue("testMethod1Run", mock.testMethod1Run); - assertFalse("testMethod2Run", mock.testMethod2Run); - assertTrue("testMethod3Run", mock.testMethod3Run); - } - - public function testCustomConstructor3():void { - var mock:TestCaseMock = new TestCaseMock("testMethod1,testMethod3"); - mock.run(); - assertTrue("testMethod1Run", mock.testMethod1Run); - assertFalse("testMethod2Run", mock.testMethod2Run); - assertTrue("testMethod3Run", mock.testMethod3Run); - } - - public function testCustomConstructor4():void { - var mock:TestCaseMock = new TestCaseMock("testMethod1, testMethod2,testMethod3"); - mock.run(); - assertTrue("testMethod1Run", mock.testMethod1Run); - assertTrue("testMethod2Run", mock.testMethod2Run); - assertTrue("testMethod3Run", mock.testMethod3Run); - } - } -} \ No newline at end of file Deleted: trunk/framework/as3/asunit/framework/TestFailureTest.as =================================================================== --- trunk/framework/as3/asunit/framework/TestFailureTest.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/framework/TestFailureTest.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,14 +0,0 @@ -package asunit.framework { - - public class TestFailureTest extends TestCase { - - public function TestFailureTest(testMethod:String = null) { - super(testMethod); - } - - public function testInstantiated():void { - var failure:TestFailure = new TestFailure(this, new Error()); - assertTrue(failure is TestFailure); - } - } -} \ No newline at end of file Deleted: trunk/framework/as3/asunit/framework/VisualTestCaseTest.as =================================================================== --- trunk/framework/as3/asunit/framework/VisualTestCaseTest.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/framework/VisualTestCaseTest.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,43 +0,0 @@ -package asunit.framework { - import flash.display.Sprite; - - public class VisualTestCaseTest extends TestCase { - private var instance:Sprite; - - public function VisualTestCaseTest(testMethod:String = null) { - super(testMethod); - } - - protected override function setUp():void { - instance = new Sprite(); - addChild(instance); - } - - protected override function tearDown():void { - removeChild(instance); - } - - public function testInstance():void { - assertTrue(instance is Sprite); - } - - public function testSize():void { - assertTrue(instance.width == 0); - assertTrue(instance.height == 0); - } - - public function testDrawnSize():void { - instance.graphics.beginFill(0xFF0000); - instance.graphics.drawRect(0, 0, 10, 20); - - assertTrue(instance.width == 10); - assertTrue(instance.height == 20); - } - - public function testSecondSize():void { - assertTrue(instance.width == 0); - assertTrue(instance.height == 0); - } - - } -} \ No newline at end of file Deleted: trunk/framework/as3/asunit/runner/BaseTestRunnerMock.as =================================================================== --- trunk/framework/as3/asunit/runner/BaseTestRunnerMock.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/runner/BaseTestRunnerMock.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,6 +0,0 @@ -package asunit.runner { - - public class BaseTestRunnerMock extends BaseTestRunner { - - } -} \ No newline at end of file Deleted: trunk/framework/as3/asunit/textui/AllTests.as =================================================================== --- trunk/framework/as3/asunit/textui/AllTests.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/textui/AllTests.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,11 +0,0 @@ -package asunit.textui { - import asunit.framework.TestSuite; - import asunit.textui.TestRunnerTest; - - public class AllTests extends TestSuite { - - public function AllTests() { - addTest(new asunit.textui.TestRunnerTest()); - } - } -} Deleted: trunk/framework/as3/asunit/textui/TestRunnerTest.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,55 +0,0 @@ -package asunit.textui { - import asunit.framework.TestCase; - import flash.utils.setTimeout; - import flash.events.Event; - import flash.errors.IllegalOperationError; - - public class TestRunnerTest extends TestCase { - private var instance:TestRunner; - - public function TestRunnerTest(testMethod:String = null) { - super(testMethod); - } - - protected override function setUp():void { - instance = new TestRunner(); - addChild(instance); - } - - protected override function tearDown():void { - removeChild(instance); - instance = null; - } - - public function testInstantiated():void { - assertTrue("TestRunner instantiated with: " + instance, instance is TestRunner); - } - - public function testAsync():void { - var handler:Function = addAsync(asyncCompleteHandler); - setTimeout(handler, 400, new Event(Event.ACTIVATE)); - } - - public function asyncCompleteHandler(event:Event):void { -// throw new IllegalOperationError("what the heck?"); - } - - public function testAsync2():void { - var handler:Function = addAsync(async2CompleteHandler); - setTimeout(handler, 40); - } - - public function async2CompleteHandler():void { -// fail("test async complete failed"); - } - - public function testSomethingComplete():void { - } - - public function testSomethingElse():void { - } - - public function testAnotherThing():void { - } - } -} Deleted: trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,30 +0,0 @@ -package asunit.textui { - - import asunit.framework.TestCase; - - public class TestRunnerTestCaseMock extends TestCase { - public var testMethod1Run:Boolean; - public var testMethod2Run:Boolean; - public var testMethod3Run:Boolean; - - public function TestRunnerTestCaseMock(methodName:String = null) { - super(methodName); - } - - public function testMethod1():void { - testMethod1Run = true; - } - - public function testMethod1Completed():void { - trace("testMethod1Handler called"); - } - - public function testMethod2():void { - testMethod2Run = true; - } - - public function testMethod3():void { - testMethod3Run = true; - } - } -} \ No newline at end of file Deleted: trunk/framework/as3/asunit/util/AllTests.as =================================================================== --- trunk/framework/as3/asunit/util/AllTests.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/util/AllTests.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,11 +0,0 @@ -package asunit.util { - import asunit.framework.TestSuite; - import asunit.util.ArrayIteratorTest; - - public class AllTests extends TestSuite { - - public function AllTests() { - addTest(new asunit.util.ArrayIteratorTest()); - } - } -} Deleted: trunk/framework/as3/asunit/util/ArrayIteratorTest.as =================================================================== --- trunk/framework/as3/asunit/util/ArrayIteratorTest.as 2006-09-20 18:16:23 UTC (rev 103) +++ trunk/framework/as3/asunit/util/ArrayIteratorTest.as 2006-09-20 18:20:59 UTC (rev 104) @@ -1,65 +0,0 @@ -package asunit.util { - import asunit.framework.TestCase; - - public class ArrayIteratorTest extends TestCase { - private var itr:ArrayIterator; - - public function ArrayIteratorTest(testMethod:String = null) { - super(testMethod); - } - - protected override function setUp():void { - itr = new ArrayIterator(getSimpleArray(5)); - } - - private function getSimpleArray(count:Number):Array { - var arr:Array = new Array(); - for(var i:Number = 0; i < count; i++) { - arr.push("item-" + i); - } - return arr; - } - - protected override function tearDown():void { - itr = null; - } - - public function testInstantiated():void { - assertTrue("ArrayIterator instantiated", itr is ArrayIterator); - } - - public function testHasNext():void { - assertTrue(itr.hasNext()); - } - - public function testNext():void { - assertEquals("item-0", itr.next()); - } - - public function testNextTwice():void { - assertEquals("item-0", itr.next()); - assertEquals("item-1", itr.next()); - } - - public function testLast():void { - assertTrue(itr.hasNext()); - assertEquals("item-0", itr.next()); - assertTrue(itr.hasNext()); - assertEquals("item-1", itr.next()); - assertTrue(itr.hasNext()); - assertEquals("item-2", itr.next()); - assertTrue(itr.hasNext()); - assertEquals("item-3", itr.next()); - assertTrue(itr.hasNext()); - assertEquals("item-4", itr.next()); - assertFalse(itr.hasNext()); - } - - public function testReset():void { - testLast(); - itr.reset(); - assertTrue(itr.hasNext()); - assertEquals("item-0", itr.next()); - } - } -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-20 18:16:27
|
Revision: 103 http://svn.sourceforge.net/asunit/?rev=103&view=rev Author: lukebayes Date: 2006-09-20 11:16:23 -0700 (Wed, 20 Sep 2006) Log Message: ----------- updated ignore props Property Changed: ---------------- trunk/framework/as3/ Property changes on: trunk/framework/as3 ___________________________________________________________________ Name: svn:ignore + bin html-template .settings This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 22:24:00
|
Revision: 102 http://svn.sourceforge.net/asunit/?rev=102&view=rev Author: lukebayes Date: 2006-09-19 15:23:56 -0700 (Tue, 19 Sep 2006) Log Message: ----------- adding test suites Added Paths: ----------- trunk/framework/as3/asunit/textui/AllTests.as Added: trunk/framework/as3/asunit/textui/AllTests.as =================================================================== --- trunk/framework/as3/asunit/textui/AllTests.as (rev 0) +++ trunk/framework/as3/asunit/textui/AllTests.as 2006-09-19 22:23:56 UTC (rev 102) @@ -0,0 +1,11 @@ +package asunit.textui { + import asunit.framework.TestSuite; + import asunit.textui.TestRunnerTest; + + public class AllTests extends TestSuite { + + public function AllTests() { + addTest(new asunit.textui.TestRunnerTest()); + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 22:23:05
|
Revision: 101 http://svn.sourceforge.net/asunit/?rev=101&view=rev Author: lukebayes Date: 2006-09-19 15:22:59 -0700 (Tue, 19 Sep 2006) Log Message: ----------- working toward async test methods, seems like it might be working. Modified Paths: -------------- trunk/framework/as3/asunit/framework/TestCase.as trunk/framework/as3/asunit/textui/TestRunnerTest.as Modified: trunk/framework/as3/asunit/framework/TestCase.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCase.as 2006-09-19 22:11:36 UTC (rev 100) +++ trunk/framework/as3/asunit/framework/TestCase.as 2006-09-19 22:22:59 UTC (rev 101) @@ -9,6 +9,7 @@ import asunit.util.ArrayIterator; import flash.net.getClassByAlias; import flash.utils.setTimeout; + import flash.utils.clearTimeout; /** * A test case defines the fixture to run multiple tests. To define a test case<br> @@ -78,11 +79,13 @@ /** * the name of the test case */ + protected var DEFAULT_TIMEOUT:int = 500; protected var fName:String; protected var result:TestResult; protected var testMethods:Array; protected var isComplete:Boolean; protected var context:DisplayObjectContainer; + private var asyncMethodTimeoutId:Number; private var currentMethod:String; private var runSingle:Boolean; private var methodIterator:Iterator; @@ -172,9 +175,7 @@ try { while(itr.hasNext()) { name = String(itr.next()); - trace("name: " + name); if(!runMethod(name)) { - trace("BLOCKING EXECUTION ON : " + name); break; } } @@ -182,8 +183,6 @@ finally { if(!runSingle) { if(!itr.hasNext() && !methodIsAsynchronous) { - trace("--------------"); - trace("INSIDE THE END"); cleanUp(); result.endTest(this); isComplete = true; @@ -207,6 +206,10 @@ private function runMethod(methodName:String):Boolean { try { + if(!isNaN(asyncMethodTimeoutId)) { + clearTimeout(asyncMethodTimeoutId); + asyncMethodTimeoutId = NaN; + } setUp(); currentMethod = methodName; try { @@ -277,6 +280,7 @@ protected function addAsync(handler:Function):Function { methodIsAsynchronous = true; var context:Object = this; + asyncMethodTimeoutId = setTimeout(timeoutHandler, DEFAULT_TIMEOUT); return function(args:*):* { try { handler.apply(context, arguments); @@ -292,6 +296,12 @@ } } + protected function timeoutHandler():void { + result.addError(this, new IllegalOperationError("TestCase.DEFAULT_TIMEOUT (" + DEFAULT_TIMEOUT + "ms) exceeded on an asynchronous test method.")); + methodIsAsynchronous = false; + runBare(); + } + protected function addChild(child:DisplayObject):DisplayObject { return getContext().addChild(child); } Modified: trunk/framework/as3/asunit/textui/TestRunnerTest.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-19 22:11:36 UTC (rev 100) +++ trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-19 22:22:59 UTC (rev 101) @@ -27,14 +27,22 @@ public function testAsync():void { var handler:Function = addAsync(asyncCompleteHandler); - setTimeout(handler, 1000, new Event(Event.ACTIVATE)); + setTimeout(handler, 400, new Event(Event.ACTIVATE)); } public function asyncCompleteHandler(event:Event):void { -// throw new IllegalOperationError("what the fuck?"); - fail("test async complete failed"); +// throw new IllegalOperationError("what the heck?"); } + public function testAsync2():void { + var handler:Function = addAsync(async2CompleteHandler); + setTimeout(handler, 40); + } + + public function async2CompleteHandler():void { +// fail("test async complete failed"); + } + public function testSomethingComplete():void { } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 22:11:43
|
Revision: 100 http://svn.sourceforge.net/asunit/?rev=100&view=rev Author: lukebayes Date: 2006-09-19 15:11:36 -0700 (Tue, 19 Sep 2006) Log Message: ----------- working toward async test methods, almost there Modified Paths: -------------- trunk/framework/as3/AsUnitTestRunner.as trunk/framework/as3/asunit/framework/Assert.as trunk/framework/as3/asunit/framework/AssertTest.as trunk/framework/as3/asunit/framework/TestCase.as trunk/framework/as3/asunit/textui/TestRunnerTest.as Modified: trunk/framework/as3/AsUnitTestRunner.as =================================================================== --- trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 21:40:51 UTC (rev 99) +++ trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 22:11:36 UTC (rev 100) @@ -6,8 +6,8 @@ public class AsUnitTestRunner extends TestRunner { public function AsUnitTestRunner() { -// start(AllTests, null, TestRunner.SHOW_TRACE); - start(TestRunnerTest); + start(AllTests, null, TestRunner.SHOW_TRACE); +// start(TestRunnerTest); } } } Modified: trunk/framework/as3/asunit/framework/Assert.as =================================================================== --- trunk/framework/as3/asunit/framework/Assert.as 2006-09-19 21:40:51 UTC (rev 99) +++ trunk/framework/as3/asunit/framework/Assert.as 2006-09-19 22:11:36 UTC (rev 100) @@ -8,7 +8,7 @@ * A set of assert methods. Messages are only displayed when an assert fails. */ - public class Assert extends Proxy { + public class Assert { /** * Protect constructor since it is a static only class */ Modified: trunk/framework/as3/asunit/framework/AssertTest.as =================================================================== --- trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-19 21:40:51 UTC (rev 99) +++ trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-19 22:11:36 UTC (rev 100) @@ -51,7 +51,7 @@ public function testFail():void { try { - fail("this shouldn't be caught"); + Assert.fail("this shouldn't be caught"); } catch(e:Error) { assertTrue("passed", true); Modified: trunk/framework/as3/asunit/framework/TestCase.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCase.as 2006-09-19 21:40:51 UTC (rev 99) +++ trunk/framework/as3/asunit/framework/TestCase.as 2006-09-19 22:11:36 UTC (rev 100) @@ -9,9 +9,7 @@ import asunit.util.ArrayIterator; import flash.net.getClassByAlias; import flash.utils.setTimeout; - import flash.utils.flash_proxy; - use namespace flash_proxy; /** * A test case defines the fixture to run multiple tests. To define a test case<br> * 1) implement a subclass of TestCase<br> @@ -76,7 +74,7 @@ * @see TestResult * @see TestSuite */ - dynamic public class TestCase extends Assert implements Test { + public class TestCase extends Assert implements Test { /** * the name of the test case */ @@ -88,14 +86,12 @@ private var currentMethod:String; private var runSingle:Boolean; private var methodIterator:Iterator; - private var asyncMethods:Object; + private var methodIsAsynchronous:Boolean; - /** * Constructs a test case with the given name. */ public function TestCase(testMethod:String = null) { - asyncMethods = new Object(); var description:XML = describeType(this); var className:Object = description.@name; var methods:XMLList = description..method.(@name.match("^test")); @@ -119,27 +115,11 @@ protected function setTestMethods(methodNodes:XMLList):void { testMethods = new Array(); var methodNames:Object = methodNodes.@name; - var completeMethods:Array = new Array(); var name:String; for each(var item:Object in methodNames) { name = item.toString(); - if(name.match(/Complete$/)) { - completeMethods.push(name); - } - else { - testMethods.push(name); - } + testMethods.push(name); } - for each(name in completeMethods) { - var index:int = name.indexOf("Complete"); - var baseName:String = name.substr(0, index); - if(testMethods.indexOf(baseName) == -1) { - testMethods.push(name); - } - else { - swapCompleteMethod(name); - } - } } /** @@ -189,23 +169,22 @@ public function runBare():void { var name:String; var itr:Iterator = getMethodIterator(); - var isWaiting:Boolean = false; try { while(itr.hasNext()) { name = String(itr.next()); trace("name: " + name); if(!runMethod(name)) { trace("BLOCKING EXECUTION ON : " + name); - isWaiting = true; break; } } } finally { if(!runSingle) { - cleanUp(); - if(!itr.hasNext() && !isWaiting) { - trace("itr hasNext was false"); + if(!itr.hasNext() && !methodIsAsynchronous) { + trace("--------------"); + trace("INSIDE THE END"); + cleanUp(); result.endTest(this); isComplete = true; } @@ -225,39 +204,16 @@ // member cleanup after all test methods have run protected function cleanUp():void { } - - override flash_proxy function hasProperty(name:*):Boolean { - return (this[name] != undefined); - } - override flash_proxy function getProperty(name:*):* { - return asyncMethods[name]; - } - -// override flash_proxy function setProperty(name:*, value:*):void { -// this[name] = value; -// } - private function runMethod(methodName:String):Boolean { try { setUp(); currentMethod = methodName; try { - if((methodName + "Complete") in this) { - trace("FOUND YOU! at: " + methodName); - this[methodName](); + this[methodName](); + if(methodIsAsynchronous) { return false; } -// var ns:Namespace = flash_proxy; -// if(this.flash_proxy::hasProperty(methodName + "Complete")) { -// trace("HAS PROP : " + methodName); -// } -// if(this[methodName + "Complete"] != null) { -// if(this.hasOwnProperty(methodName + "Complete")) { -// setTimeout(this[methodName], 1); -// return false; -// } - this[methodName](); } finally { if(!runSingle) { @@ -274,18 +230,6 @@ return true; } - private function swapCompleteMethod(name:String):void { - trace("swapping complete method with: " + name); - asyncMethods["__" + name] = this[name]; - asyncMethods[name] = defaultCompleteMethod; -// this[name] = this.defaultCompleteMethod; - //var result:Boolean = delete this[name]; - //trace("RESULT: " + result); - } - - public function defaultCompleteMethod():void { - trace("asunit complete called"); - } /** * Sets up the fixture, for example, instantiate a mock object. * This method is called before each test is executed. @@ -330,6 +274,24 @@ return context; } + protected function addAsync(handler:Function):Function { + methodIsAsynchronous = true; + var context:Object = this; + return function(args:*):* { + try { + handler.apply(context, arguments); + } + catch(e:AssertionFailedError) { + context.result.addFailure(context, e); + } + catch(ioe:IllegalOperationError) { + context.result.addError(context, ioe); + } + context.methodIsAsynchronous = false; + context.runBare(); + } + } + protected function addChild(child:DisplayObject):DisplayObject { return getContext().addChild(child); } @@ -338,8 +300,8 @@ return getContext().removeChild(child); } - public function fail(message:String):void { - result.addFailure(this, new AssertionFailedError(message)); - } +// public function fail(message:String):void { +// result.addFailure(this, new AssertionFailedError(message)); +// } } } \ No newline at end of file Modified: trunk/framework/as3/asunit/textui/TestRunnerTest.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-19 21:40:51 UTC (rev 99) +++ trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-19 22:11:36 UTC (rev 100) @@ -1,6 +1,8 @@ package asunit.textui { import asunit.framework.TestCase; - import flash.utils.setTimeout; + import flash.utils.setTimeout; + import flash.events.Event; + import flash.errors.IllegalOperationError; public class TestRunnerTest extends TestCase { private var instance:TestRunner; @@ -20,20 +22,26 @@ } public function testInstantiated():void { - assertTrue("TestRunner instantiated", instance is TestRunner); + assertTrue("TestRunner instantiated with: " + instance, instance is TestRunner); } public function testAsync():void { - setTimeout(testAsyncComplete, 10); + var handler:Function = addAsync(asyncCompleteHandler); + setTimeout(handler, 1000, new Event(Event.ACTIVATE)); } - public function testAsyncComplete():void { - trace("user complete called"); + public function asyncCompleteHandler(event:Event):void { +// throw new IllegalOperationError("what the fuck?"); fail("test async complete failed"); - runBare(); } public function testSomethingComplete():void { } + + public function testSomethingElse():void { + } + + public function testAnotherThing():void { + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 21:40:56
|
Revision: 99 http://svn.sourceforge.net/asunit/?rev=99&view=rev Author: lukebayes Date: 2006-09-19 14:40:51 -0700 (Tue, 19 Sep 2006) Log Message: ----------- got a basic async test method working, still not ideal though Modified Paths: -------------- trunk/framework/as3/AsUnitTestRunner.as trunk/framework/as3/asunit/framework/TestCase.as trunk/framework/as3/asunit/textui/TestRunnerTest.as Modified: trunk/framework/as3/AsUnitTestRunner.as =================================================================== --- trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 20:35:05 UTC (rev 98) +++ trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 21:40:51 UTC (rev 99) @@ -6,8 +6,8 @@ public class AsUnitTestRunner extends TestRunner { public function AsUnitTestRunner() { - start(AllTests, null, TestRunner.SHOW_TRACE); -// start(TestRunnerTest); +// start(AllTests, null, TestRunner.SHOW_TRACE); + start(TestRunnerTest); } } } Modified: trunk/framework/as3/asunit/framework/TestCase.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCase.as 2006-09-19 20:35:05 UTC (rev 98) +++ trunk/framework/as3/asunit/framework/TestCase.as 2006-09-19 21:40:51 UTC (rev 99) @@ -76,7 +76,7 @@ * @see TestResult * @see TestSuite */ - public class TestCase extends Assert implements Test { + dynamic public class TestCase extends Assert implements Test { /** * the name of the test case */ @@ -88,12 +88,14 @@ private var currentMethod:String; private var runSingle:Boolean; private var methodIterator:Iterator; + private var asyncMethods:Object; /** * Constructs a test case with the given name. */ public function TestCase(testMethod:String = null) { + asyncMethods = new Object(); var description:XML = describeType(this); var className:Object = description.@name; var methods:XMLList = description..method.(@name.match("^test")); @@ -123,7 +125,6 @@ name = item.toString(); if(name.match(/Complete$/)) { completeMethods.push(name); - swapCompleteMethod(name); } else { testMethods.push(name); @@ -135,6 +136,9 @@ if(testMethods.indexOf(baseName) == -1) { testMethods.push(name); } + else { + swapCompleteMethod(name); + } } } @@ -185,12 +189,14 @@ public function runBare():void { var name:String; var itr:Iterator = getMethodIterator(); + var isWaiting:Boolean = false; try { while(itr.hasNext()) { name = String(itr.next()); - trace("itrating with: " + getName() + "." + name); + trace("name: " + name); if(!runMethod(name)) { - trace("RETURNING ON : " + name); + trace("BLOCKING EXECUTION ON : " + name); + isWaiting = true; break; } } @@ -198,7 +204,8 @@ finally { if(!runSingle) { cleanUp(); - if(!itr.hasNext()) { + if(!itr.hasNext() && !isWaiting) { + trace("itr hasNext was false"); result.endTest(this); isComplete = true; } @@ -219,12 +226,16 @@ protected function cleanUp():void { } -// override flash_proxy function hasProperty(name:*):Boolean { -// return (this[name] != undefined); -// } + override flash_proxy function hasProperty(name:*):Boolean { + return (this[name] != undefined); + } -// override flash_proxy function getProperty(name:*):* { -// return this[name]; + override flash_proxy function getProperty(name:*):* { + return asyncMethods[name]; + } + +// override flash_proxy function setProperty(name:*, value:*):void { +// this[name] = value; // } private function runMethod(methodName:String):Boolean { @@ -232,6 +243,11 @@ setUp(); currentMethod = methodName; try { + if((methodName + "Complete") in this) { + trace("FOUND YOU! at: " + methodName); + this[methodName](); + return false; + } // var ns:Namespace = flash_proxy; // if(this.flash_proxy::hasProperty(methodName + "Complete")) { // trace("HAS PROP : " + methodName); @@ -260,15 +276,15 @@ private function swapCompleteMethod(name:String):void { trace("swapping complete method with: " + name); - var obj:Object = new Object(); - obj[name] = this[name]; -// this[name] = defaultCompleteMethod; -// this.prototype["__" + name] = this.prototype[name]; -// this[name] = defaultCompleteMethod; + asyncMethods["__" + name] = this[name]; + asyncMethods[name] = defaultCompleteMethod; +// this[name] = this.defaultCompleteMethod; + //var result:Boolean = delete this[name]; + //trace("RESULT: " + result); } - private function defaultCompleteMethod():void { - trace("default complete method called"); + public function defaultCompleteMethod():void { + trace("asunit complete called"); } /** * Sets up the fixture, for example, instantiate a mock object. @@ -322,5 +338,8 @@ return getContext().removeChild(child); } + public function fail(message:String):void { + result.addFailure(this, new AssertionFailedError(message)); + } } } \ No newline at end of file Modified: trunk/framework/as3/asunit/textui/TestRunnerTest.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-19 20:35:05 UTC (rev 98) +++ trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-19 21:40:51 UTC (rev 99) @@ -23,17 +23,17 @@ assertTrue("TestRunner instantiated", instance is TestRunner); } -// public function testAsync():void { -// setTimeout(testAsyncComplete, 10); -// } + public function testAsync():void { + setTimeout(testAsyncComplete, 10); + } -// public function testAsyncComplete():void { -// fail("test async complete failed"); -// runBare(); -// } + public function testAsyncComplete():void { + trace("user complete called"); + fail("test async complete failed"); + runBare(); + } public function testSomethingComplete():void { - trace("testSomethignCOmplete executed"); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 20:35:14
|
Revision: 98 http://svn.sourceforge.net/asunit/?rev=98&view=rev Author: lukebayes Date: 2006-09-19 13:35:05 -0700 (Tue, 19 Sep 2006) Log Message: ----------- Working on async test methods Modified Paths: -------------- trunk/framework/as3/AsUnitTestRunner.as trunk/framework/as3/asunit/framework/Assert.as trunk/framework/as3/asunit/framework/TestCase.as trunk/framework/as3/asunit/framework/TestResult.as trunk/framework/as3/asunit/textui/TestRunnerTest.as trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as Modified: trunk/framework/as3/AsUnitTestRunner.as =================================================================== --- trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 16:57:15 UTC (rev 97) +++ trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 20:35:05 UTC (rev 98) @@ -1,12 +1,13 @@ package { import asunit.textui.TestRunner; import asunit.framework.TestCaseTest; + import asunit.textui.TestRunnerTest; public class AsUnitTestRunner extends TestRunner { public function AsUnitTestRunner() { start(AllTests, null, TestRunner.SHOW_TRACE); -// start(TestCaseTest, "testAsyncMethod"); +// start(TestRunnerTest); } } } Modified: trunk/framework/as3/asunit/framework/Assert.as =================================================================== --- trunk/framework/as3/asunit/framework/Assert.as 2006-09-19 16:57:15 UTC (rev 97) +++ trunk/framework/as3/asunit/framework/Assert.as 2006-09-19 20:35:05 UTC (rev 98) @@ -2,12 +2,13 @@ import flash.errors.IllegalOperationError; import asunit.errors.AssertionFailedError; + import flash.utils.Proxy; /** * A set of assert methods. Messages are only displayed when an assert fails. */ - public class Assert { + public class Assert extends Proxy { /** * Protect constructor since it is a static only class */ Modified: trunk/framework/as3/asunit/framework/TestCase.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCase.as 2006-09-19 16:57:15 UTC (rev 97) +++ trunk/framework/as3/asunit/framework/TestCase.as 2006-09-19 20:35:05 UTC (rev 98) @@ -5,7 +5,13 @@ import flash.display.DisplayObjectContainer; import flash.errors.IllegalOperationError; import flash.utils.describeType; + import asunit.util.Iterator; + import asunit.util.ArrayIterator; + import flash.net.getClassByAlias; + import flash.utils.setTimeout; + import flash.utils.flash_proxy; + use namespace flash_proxy; /** * A test case defines the fixture to run multiple tests. To define a test case<br> * 1) implement a subclass of TestCase<br> @@ -70,7 +76,6 @@ * @see TestResult * @see TestSuite */ - public class TestCase extends Assert implements Test { /** * the name of the test case @@ -82,6 +87,7 @@ protected var context:DisplayObjectContainer; private var currentMethod:String; private var runSingle:Boolean; + private var methodIterator:Iterator; /** @@ -111,9 +117,25 @@ protected function setTestMethods(methodNodes:XMLList):void { testMethods = new Array(); var methodNames:Object = methodNodes.@name; + var completeMethods:Array = new Array(); + var name:String; for each(var item:Object in methodNames) { - testMethods.push(item.toString()); + name = item.toString(); + if(name.match(/Complete$/)) { + completeMethods.push(name); + swapCompleteMethod(name); + } + else { + testMethods.push(name); + } } + for each(name in completeMethods) { + var index:int = name.indexOf("Complete"); + var baseName:String = name.substr(0, index); + if(testMethods.indexOf(baseName) == -1) { + testMethods.push(name); + } + } } /** @@ -161,28 +183,35 @@ * throws Error */ public function runBare():void { - var methods:Array = testMethods; + var name:String; + var itr:Iterator = getMethodIterator(); try { - for each(var name:String in methods) { - try { - runMethod(name); + while(itr.hasNext()) { + name = String(itr.next()); + trace("itrating with: " + getName() + "." + name); + if(!runMethod(name)) { + trace("RETURNING ON : " + name); + break; } - catch(e:AssertionFailedError) { - result.addFailure(this, e); - } - catch(ioe:Error) { - result.addError(this, ioe); - } } } finally { if(!runSingle) { cleanUp(); + if(!itr.hasNext()) { + result.endTest(this); + isComplete = true; + } } } - - isComplete = true; } + + private function getMethodIterator():Iterator { + if(methodIterator == null) { + methodIterator = new ArrayIterator(testMethods); + } + return methodIterator; + } // Override this method in Asynchronous test cases // or any other time you want to perform additional @@ -190,19 +219,57 @@ protected function cleanUp():void { } - private function runMethod(methodName:String):void { - setUp(); - currentMethod = methodName; +// override flash_proxy function hasProperty(name:*):Boolean { +// return (this[name] != undefined); +// } + +// override flash_proxy function getProperty(name:*):* { +// return this[name]; +// } + + private function runMethod(methodName:String):Boolean { try { - this[methodName](); - } - finally { - if(!runSingle) { - tearDown(); + setUp(); + currentMethod = methodName; + try { +// var ns:Namespace = flash_proxy; +// if(this.flash_proxy::hasProperty(methodName + "Complete")) { +// trace("HAS PROP : " + methodName); +// } +// if(this[methodName + "Complete"] != null) { +// if(this.hasOwnProperty(methodName + "Complete")) { +// setTimeout(this[methodName], 1); +// return false; +// } + this[methodName](); } + finally { + if(!runSingle) { + tearDown(); + } + } } + catch(e:AssertionFailedError) { + result.addFailure(this, e); + } + catch(ioe:Error) { + result.addError(this, ioe); + } + return true; } + private function swapCompleteMethod(name:String):void { + trace("swapping complete method with: " + name); + var obj:Object = new Object(); + obj[name] = this[name]; +// this[name] = defaultCompleteMethod; +// this.prototype["__" + name] = this.prototype[name]; +// this[name] = defaultCompleteMethod; + } + + private function defaultCompleteMethod():void { + trace("default complete method called"); + } /** * Sets up the fixture, for example, instantiate a mock object. * This method is called before each test is executed. Modified: trunk/framework/as3/asunit/framework/TestResult.as =================================================================== --- trunk/framework/as3/asunit/framework/TestResult.as 2006-09-19 16:57:15 UTC (rev 97) +++ trunk/framework/as3/asunit/framework/TestResult.as 2006-09-19 20:35:05 UTC (rev 98) @@ -103,18 +103,7 @@ */ public function run(test:TestCase):void { startTest(test); - try { - test.runBare(); - } - catch(e:AssertionFailedError) { - addFailure(test, e); - } - catch(ioe:IllegalOperationError) { - addError(test, ioe); - } - finally { - endTest(test); - } + test.runBare(); } /** * Gets the number of run tests. Modified: trunk/framework/as3/asunit/textui/TestRunnerTest.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-19 16:57:15 UTC (rev 97) +++ trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-19 20:35:05 UTC (rev 98) @@ -1,5 +1,6 @@ package asunit.textui { - import asunit.framework.TestCase; + import asunit.framework.TestCase; + import flash.utils.setTimeout; public class TestRunnerTest extends TestCase { private var instance:TestRunner; @@ -21,9 +22,18 @@ public function testInstantiated():void { assertTrue("TestRunner instantiated", instance is TestRunner); } + +// public function testAsync():void { +// setTimeout(testAsyncComplete, 10); +// } - public function testStart():void { - instance.start(TestRunnerTestCaseMock); +// public function testAsyncComplete():void { +// fail("test async complete failed"); +// runBare(); +// } + + public function testSomethingComplete():void { + trace("testSomethignCOmplete executed"); } } } Modified: trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as 2006-09-19 16:57:15 UTC (rev 97) +++ trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as 2006-09-19 20:35:05 UTC (rev 98) @@ -15,6 +15,10 @@ testMethod1Run = true; } + public function testMethod1Completed():void { + trace("testMethod1Handler called"); + } + public function testMethod2():void { testMethod2Run = true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 16:57:23
|
Revision: 97 http://svn.sourceforge.net/asunit/?rev=97&view=rev Author: lukebayes Date: 2006-09-19 09:57:15 -0700 (Tue, 19 Sep 2006) Log Message: ----------- added TestRunner test and mock Added Paths: ----------- trunk/framework/as3/asunit/textui/TestRunnerTest.as trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as Added: trunk/framework/as3/asunit/textui/TestRunnerTest.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunnerTest.as (rev 0) +++ trunk/framework/as3/asunit/textui/TestRunnerTest.as 2006-09-19 16:57:15 UTC (rev 97) @@ -0,0 +1,29 @@ +package asunit.textui { + import asunit.framework.TestCase; + + public class TestRunnerTest extends TestCase { + private var instance:TestRunner; + + public function TestRunnerTest(testMethod:String = null) { + super(testMethod); + } + + protected override function setUp():void { + instance = new TestRunner(); + addChild(instance); + } + + protected override function tearDown():void { + removeChild(instance); + instance = null; + } + + public function testInstantiated():void { + assertTrue("TestRunner instantiated", instance is TestRunner); + } + + public function testStart():void { + instance.start(TestRunnerTestCaseMock); + } + } +} Added: trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as (rev 0) +++ trunk/framework/as3/asunit/textui/TestRunnerTestCaseMock.as 2006-09-19 16:57:15 UTC (rev 97) @@ -0,0 +1,26 @@ +package asunit.textui { + + import asunit.framework.TestCase; + + public class TestRunnerTestCaseMock extends TestCase { + public var testMethod1Run:Boolean; + public var testMethod2Run:Boolean; + public var testMethod3Run:Boolean; + + public function TestRunnerTestCaseMock(methodName:String = null) { + super(methodName); + } + + public function testMethod1():void { + testMethod1Run = true; + } + + public function testMethod2():void { + testMethod2Run = true; + } + + public function testMethod3():void { + testMethod3Run = true; + } + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 16:56:33
|
Revision: 96 http://svn.sourceforge.net/asunit/?rev=96&view=rev Author: lukebayes Date: 2006-09-19 09:56:18 -0700 (Tue, 19 Sep 2006) Log Message: ----------- added ArrayIterator to framework Modified Paths: -------------- trunk/framework/as3/AsUnitTestRunner.as trunk/framework/as3/asunit/AllTests.as trunk/framework/as3/asunit/framework/AssertTest.as trunk/framework/as3/asunit/framework/TestCaseMock.as trunk/framework/as3/asunit/framework/TestCaseTest.as trunk/framework/as3/asunit/framework/TestFailureTest.as trunk/framework/as3/asunit/framework/VisualTestCaseTest.as Added Paths: ----------- trunk/framework/as3/asunit/util/AllTests.as trunk/framework/as3/asunit/util/ArrayIterator.as trunk/framework/as3/asunit/util/ArrayIteratorTest.as trunk/framework/as3/asunit/util/Iterator.as Modified: trunk/framework/as3/AsUnitTestRunner.as =================================================================== --- trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 16:41:23 UTC (rev 95) +++ trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 16:56:18 UTC (rev 96) @@ -1,17 +1,12 @@ package { import asunit.textui.TestRunner; - import flash.display.Stage; - import flash.display.StageAlign; - import flash.display.StageScaleMode; - import flash.system.fscommand; import asunit.framework.TestCaseTest; public class AsUnitTestRunner extends TestRunner { public function AsUnitTestRunner() { - stage.align = StageAlign.TOP_LEFT; - stage.scaleMode = StageScaleMode.NO_SCALE; - start(TestCaseTest, "testAsyncMethod"); + start(AllTests, null, TestRunner.SHOW_TRACE); +// start(TestCaseTest, "testAsyncMethod"); } } } Modified: trunk/framework/as3/asunit/AllTests.as =================================================================== --- trunk/framework/as3/asunit/AllTests.as 2006-09-19 16:41:23 UTC (rev 95) +++ trunk/framework/as3/asunit/AllTests.as 2006-09-19 16:56:18 UTC (rev 96) @@ -1,11 +1,15 @@ package asunit { import asunit.framework.TestSuite; import asunit.framework.AllTests; + import asunit.textui.AllTests; + import asunit.util.AllTests; public class AllTests extends TestSuite { public function AllTests() { addTest(new asunit.framework.AllTests()); + addTest(new asunit.textui.AllTests()); + addTest(new asunit.util.AllTests()); } } } Modified: trunk/framework/as3/asunit/framework/AssertTest.as =================================================================== --- trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-19 16:41:23 UTC (rev 95) +++ trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-19 16:56:18 UTC (rev 96) @@ -5,7 +5,7 @@ public class AssertTest extends TestCase { - public function AssertTest(testMethod:String) { + public function AssertTest(testMethod:String = null) { super(testMethod); } Modified: trunk/framework/as3/asunit/framework/TestCaseMock.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCaseMock.as 2006-09-19 16:41:23 UTC (rev 95) +++ trunk/framework/as3/asunit/framework/TestCaseMock.as 2006-09-19 16:56:18 UTC (rev 96) @@ -5,7 +5,7 @@ public var testMethod2Run:Boolean; public var testMethod3Run:Boolean; - public function TestCaseMock(methodName:String) { + public function TestCaseMock(methodName:String = null) { super(methodName); } Modified: trunk/framework/as3/asunit/framework/TestCaseTest.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCaseTest.as 2006-09-19 16:41:23 UTC (rev 95) +++ trunk/framework/as3/asunit/framework/TestCaseTest.as 2006-09-19 16:56:18 UTC (rev 96) @@ -2,7 +2,7 @@ public class TestCaseTest extends TestCase { - public function TestCaseTest(testMethod:String) { + public function TestCaseTest(testMethod:String = null) { super(testMethod); } @@ -41,9 +41,5 @@ assertTrue("testMethod2Run", mock.testMethod2Run); assertTrue("testMethod3Run", mock.testMethod3Run); } - - public function testAsyncMethod():void { - assertTrue(false); - } } } \ No newline at end of file Modified: trunk/framework/as3/asunit/framework/TestFailureTest.as =================================================================== --- trunk/framework/as3/asunit/framework/TestFailureTest.as 2006-09-19 16:41:23 UTC (rev 95) +++ trunk/framework/as3/asunit/framework/TestFailureTest.as 2006-09-19 16:56:18 UTC (rev 96) @@ -2,7 +2,7 @@ public class TestFailureTest extends TestCase { - public function TestFailureTest(testMethod:String) { + public function TestFailureTest(testMethod:String = null) { super(testMethod); } Modified: trunk/framework/as3/asunit/framework/VisualTestCaseTest.as =================================================================== --- trunk/framework/as3/asunit/framework/VisualTestCaseTest.as 2006-09-19 16:41:23 UTC (rev 95) +++ trunk/framework/as3/asunit/framework/VisualTestCaseTest.as 2006-09-19 16:56:18 UTC (rev 96) @@ -4,6 +4,10 @@ public class VisualTestCaseTest extends TestCase { private var instance:Sprite; + public function VisualTestCaseTest(testMethod:String = null) { + super(testMethod); + } + protected override function setUp():void { instance = new Sprite(); addChild(instance); Added: trunk/framework/as3/asunit/util/AllTests.as =================================================================== --- trunk/framework/as3/asunit/util/AllTests.as (rev 0) +++ trunk/framework/as3/asunit/util/AllTests.as 2006-09-19 16:56:18 UTC (rev 96) @@ -0,0 +1,11 @@ +package asunit.util { + import asunit.framework.TestSuite; + import asunit.util.ArrayIteratorTest; + + public class AllTests extends TestSuite { + + public function AllTests() { + addTest(new asunit.util.ArrayIteratorTest()); + } + } +} Added: trunk/framework/as3/asunit/util/ArrayIterator.as =================================================================== --- trunk/framework/as3/asunit/util/ArrayIterator.as (rev 0) +++ trunk/framework/as3/asunit/util/ArrayIterator.as 2006-09-19 16:56:18 UTC (rev 96) @@ -0,0 +1,24 @@ +package asunit.util { + import asunit.util.Iterator; + + public class ArrayIterator implements Iterator { + private var list:Array; + private var index:Number = 0; + + public function ArrayIterator(list:Array) { + this.list = list; + } + + public function hasNext():Boolean { + return list[index] != null; + } + + public function next():Object { + return list[index++]; + } + + public function reset():void { + index = 0; + } + } +} Added: trunk/framework/as3/asunit/util/ArrayIteratorTest.as =================================================================== --- trunk/framework/as3/asunit/util/ArrayIteratorTest.as (rev 0) +++ trunk/framework/as3/asunit/util/ArrayIteratorTest.as 2006-09-19 16:56:18 UTC (rev 96) @@ -0,0 +1,65 @@ +package asunit.util { + import asunit.framework.TestCase; + + public class ArrayIteratorTest extends TestCase { + private var itr:ArrayIterator; + + public function ArrayIteratorTest(testMethod:String = null) { + super(testMethod); + } + + protected override function setUp():void { + itr = new ArrayIterator(getSimpleArray(5)); + } + + private function getSimpleArray(count:Number):Array { + var arr:Array = new Array(); + for(var i:Number = 0; i < count; i++) { + arr.push("item-" + i); + } + return arr; + } + + protected override function tearDown():void { + itr = null; + } + + public function testInstantiated():void { + assertTrue("ArrayIterator instantiated", itr is ArrayIterator); + } + + public function testHasNext():void { + assertTrue(itr.hasNext()); + } + + public function testNext():void { + assertEquals("item-0", itr.next()); + } + + public function testNextTwice():void { + assertEquals("item-0", itr.next()); + assertEquals("item-1", itr.next()); + } + + public function testLast():void { + assertTrue(itr.hasNext()); + assertEquals("item-0", itr.next()); + assertTrue(itr.hasNext()); + assertEquals("item-1", itr.next()); + assertTrue(itr.hasNext()); + assertEquals("item-2", itr.next()); + assertTrue(itr.hasNext()); + assertEquals("item-3", itr.next()); + assertTrue(itr.hasNext()); + assertEquals("item-4", itr.next()); + assertFalse(itr.hasNext()); + } + + public function testReset():void { + testLast(); + itr.reset(); + assertTrue(itr.hasNext()); + assertEquals("item-0", itr.next()); + } + } +} Added: trunk/framework/as3/asunit/util/Iterator.as =================================================================== --- trunk/framework/as3/asunit/util/Iterator.as (rev 0) +++ trunk/framework/as3/asunit/util/Iterator.as 2006-09-19 16:56:18 UTC (rev 96) @@ -0,0 +1,8 @@ +package asunit.util { + + public interface Iterator { + function next():Object; + function hasNext():Boolean; + function reset():void; + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 16:41:28
|
Revision: 95 http://svn.sourceforge.net/asunit/?rev=95&view=rev Author: lukebayes Date: 2006-09-19 09:41:23 -0700 (Tue, 19 Sep 2006) Log Message: ----------- saved tagline.png source file Modified Paths: -------------- trunk/comm/www/art/TagLine.png Modified: trunk/comm/www/art/TagLine.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 16:36:31
|
Revision: 94 http://svn.sourceforge.net/asunit/?rev=94&view=rev Author: lukebayes Date: 2006-09-19 09:36:18 -0700 (Tue, 19 Sep 2006) Log Message: ----------- updated tagline to mention player 9 instead of 8.5 Modified Paths: -------------- trunk/comm/www/art/TagLine.png trunk/comm/www/html/img/TagLine.gif Added Paths: ----------- trunk/comm/www/html/AsUnitUi-2.8.swf Modified: trunk/comm/www/art/TagLine.png =================================================================== (Binary files differ) Added: trunk/comm/www/html/AsUnitUi-2.8.swf =================================================================== (Binary files differ) Property changes on: trunk/comm/www/html/AsUnitUi-2.8.swf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/comm/www/html/img/TagLine.gif =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 16:24:14
|
Revision: 93 http://svn.sourceforge.net/asunit/?rev=93&view=rev Author: lukebayes Date: 2006-09-19 09:24:06 -0700 (Tue, 19 Sep 2006) Log Message: ----------- fixing test case constructors Modified Paths: -------------- trunk/framework/as3/AsUnitTestRunner.as trunk/framework/as3/asunit/framework/AllTests.as trunk/framework/as3/asunit/framework/AssertTest.as trunk/framework/as3/asunit/framework/TestCaseTest.as trunk/framework/as3/asunit/framework/TestFailureTest.as Removed Paths: ------------- trunk/framework/as3/asunit/framework/TestSuiteTest.as Modified: trunk/framework/as3/AsUnitTestRunner.as =================================================================== --- trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 16:19:15 UTC (rev 92) +++ trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 16:24:06 UTC (rev 93) @@ -4,13 +4,14 @@ import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.system.fscommand; + import asunit.framework.TestCaseTest; public class AsUnitTestRunner extends TestRunner { public function AsUnitTestRunner() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; - start(AllTests); + start(TestCaseTest, "testAsyncMethod"); } } } Modified: trunk/framework/as3/asunit/framework/AllTests.as =================================================================== --- trunk/framework/as3/asunit/framework/AllTests.as 2006-09-19 16:19:15 UTC (rev 92) +++ trunk/framework/as3/asunit/framework/AllTests.as 2006-09-19 16:24:06 UTC (rev 93) @@ -3,7 +3,6 @@ import asunit.framework.AssertTest; import asunit.framework.TestCaseTest; import asunit.framework.TestFailureTest; - import asunit.framework.TestSuiteTest; import asunit.framework.VisualTestCaseTest; public class AllTests extends TestSuite { @@ -12,7 +11,6 @@ addTest(new asunit.framework.AssertTest()); addTest(new asunit.framework.TestCaseTest()); addTest(new asunit.framework.TestFailureTest()); - addTest(new asunit.framework.TestSuiteTest()); addTest(new asunit.framework.VisualTestCaseTest()); } } Modified: trunk/framework/as3/asunit/framework/AssertTest.as =================================================================== --- trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-19 16:19:15 UTC (rev 92) +++ trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-19 16:24:06 UTC (rev 93) @@ -5,7 +5,7 @@ public class AssertTest extends TestCase { - public function AssertTest(testMethod:String = null) { + public function AssertTest(testMethod:String) { super(testMethod); } Modified: trunk/framework/as3/asunit/framework/TestCaseTest.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCaseTest.as 2006-09-19 16:19:15 UTC (rev 92) +++ trunk/framework/as3/asunit/framework/TestCaseTest.as 2006-09-19 16:24:06 UTC (rev 93) @@ -2,6 +2,10 @@ public class TestCaseTest extends TestCase { + public function TestCaseTest(testMethod:String) { + super(testMethod); + } + public function testInstantiated():void { assertTrue(this is TestCase); } @@ -37,5 +41,9 @@ assertTrue("testMethod2Run", mock.testMethod2Run); assertTrue("testMethod3Run", mock.testMethod3Run); } + + public function testAsyncMethod():void { + assertTrue(false); + } } } \ No newline at end of file Modified: trunk/framework/as3/asunit/framework/TestFailureTest.as =================================================================== --- trunk/framework/as3/asunit/framework/TestFailureTest.as 2006-09-19 16:19:15 UTC (rev 92) +++ trunk/framework/as3/asunit/framework/TestFailureTest.as 2006-09-19 16:24:06 UTC (rev 93) @@ -2,6 +2,10 @@ public class TestFailureTest extends TestCase { + public function TestFailureTest(testMethod:String) { + super(testMethod); + } + public function testInstantiated():void { var failure:TestFailure = new TestFailure(this, new Error()); assertTrue(failure is TestFailure); Deleted: trunk/framework/as3/asunit/framework/TestSuiteTest.as =================================================================== --- trunk/framework/as3/asunit/framework/TestSuiteTest.as 2006-09-19 16:19:15 UTC (rev 92) +++ trunk/framework/as3/asunit/framework/TestSuiteTest.as 2006-09-19 16:24:06 UTC (rev 93) @@ -1,11 +0,0 @@ -package asunit.framework { - - public class TestSuiteTest extends TestSuite { - - public function TestSuiteTest() { -// addTest(new AssertTest()); -// addTest(new AssertTest()); -// addTest(new AssertTest()); - } - } -} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 16:19:22
|
Revision: 92 http://svn.sourceforge.net/asunit/?rev=92&view=rev Author: lukebayes Date: 2006-09-19 09:19:15 -0700 (Tue, 19 Sep 2006) Log Message: ----------- added test suites to repository Added Paths: ----------- trunk/framework/as3/AllTests.as trunk/framework/as3/asunit/AllTests.as trunk/framework/as3/asunit/framework/AllTests.as Added: trunk/framework/as3/AllTests.as =================================================================== --- trunk/framework/as3/AllTests.as (rev 0) +++ trunk/framework/as3/AllTests.as 2006-09-19 16:19:15 UTC (rev 92) @@ -0,0 +1,11 @@ +package { + import asunit.framework.TestSuite; + import asunit.AllTests; + + public class AllTests extends TestSuite { + + public function AllTests() { + addTest(new asunit.AllTests()); + } + } +} Added: trunk/framework/as3/asunit/AllTests.as =================================================================== --- trunk/framework/as3/asunit/AllTests.as (rev 0) +++ trunk/framework/as3/asunit/AllTests.as 2006-09-19 16:19:15 UTC (rev 92) @@ -0,0 +1,11 @@ +package asunit { + import asunit.framework.TestSuite; + import asunit.framework.AllTests; + + public class AllTests extends TestSuite { + + public function AllTests() { + addTest(new asunit.framework.AllTests()); + } + } +} Added: trunk/framework/as3/asunit/framework/AllTests.as =================================================================== --- trunk/framework/as3/asunit/framework/AllTests.as (rev 0) +++ trunk/framework/as3/asunit/framework/AllTests.as 2006-09-19 16:19:15 UTC (rev 92) @@ -0,0 +1,19 @@ +package asunit.framework { + import asunit.framework.TestSuite; + import asunit.framework.AssertTest; + import asunit.framework.TestCaseTest; + import asunit.framework.TestFailureTest; + import asunit.framework.TestSuiteTest; + import asunit.framework.VisualTestCaseTest; + + public class AllTests extends TestSuite { + + public function AllTests() { + addTest(new asunit.framework.AssertTest()); + addTest(new asunit.framework.TestCaseTest()); + addTest(new asunit.framework.TestFailureTest()); + addTest(new asunit.framework.TestSuiteTest()); + addTest(new asunit.framework.VisualTestCaseTest()); + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-19 16:13:26
|
Revision: 91 http://svn.sourceforge.net/asunit/?rev=91&view=rev Author: lukebayes Date: 2006-09-19 09:13:14 -0700 (Tue, 19 Sep 2006) Log Message: ----------- got test fixtures up to date Modified Paths: -------------- trunk/framework/as3/AsUnitTestRunner.as trunk/framework/as3/asunit/framework/AssertTest.as trunk/framework/as3/asunit/framework/TestCaseTest.as Modified: trunk/framework/as3/AsUnitTestRunner.as =================================================================== --- trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 16:11:28 UTC (rev 90) +++ trunk/framework/as3/AsUnitTestRunner.as 2006-09-19 16:13:14 UTC (rev 91) @@ -7,8 +7,7 @@ public class AsUnitTestRunner extends TestRunner { - public function AsUnit() { - fscommand("fullscreen", "true"); + public function AsUnitTestRunner() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; start(AllTests); Modified: trunk/framework/as3/asunit/framework/AssertTest.as =================================================================== --- trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-19 16:11:28 UTC (rev 90) +++ trunk/framework/as3/asunit/framework/AssertTest.as 2006-09-19 16:13:14 UTC (rev 91) @@ -1,6 +1,5 @@ package asunit.framework { - import flash.util.trace; import flash.errors.IllegalOperationError; import flash.display.Sprite; Modified: trunk/framework/as3/asunit/framework/TestCaseTest.as =================================================================== --- trunk/framework/as3/asunit/framework/TestCaseTest.as 2006-09-19 16:11:28 UTC (rev 90) +++ trunk/framework/as3/asunit/framework/TestCaseTest.as 2006-09-19 16:13:14 UTC (rev 91) @@ -1,5 +1,4 @@ package asunit.framework { - import flash.util.trace; public class TestCaseTest extends TestCase { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ali...@us...> - 2006-09-19 16:11:34
|
Revision: 90 http://svn.sourceforge.net/asunit/?rev=90&view=rev Author: alimills Date: 2006-09-19 09:11:28 -0700 (Tue, 19 Sep 2006) Log Message: ----------- fixing bug that broke AsUnit in ActionScript projects Modified Paths: -------------- trunk/framework/as3/asunit/textui/TestRunner.as Modified: trunk/framework/as3/asunit/textui/TestRunner.as =================================================================== --- trunk/framework/as3/asunit/textui/TestRunner.as 2006-09-06 15:30:26 UTC (rev 89) +++ trunk/framework/as3/asunit/textui/TestRunner.as 2006-09-19 16:11:28 UTC (rev 90) @@ -43,7 +43,7 @@ } protected function addedHandler(event:Event):void { - if(event.target === this) { + if(event.target === fPrinter) { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; stage.addEventListener(Event.RESIZE, resizeHandler); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-06 15:30:31
|
Revision: 89 http://svn.sourceforge.net/asunit/?rev=89&view=rev Author: lukebayes Date: 2006-09-06 08:30:26 -0700 (Wed, 06 Sep 2006) Log Message: ----------- extracted application feattures to asunit file Modified Paths: -------------- trunk/ruby/src/asunit.rb Added Paths: ----------- trunk/ruby/src/asunit Added: trunk/ruby/src/asunit =================================================================== --- trunk/ruby/src/asunit (rev 0) +++ trunk/ruby/src/asunit 2006-09-06 15:30:26 UTC (rev 89) @@ -0,0 +1,53 @@ +#!/bin/ruby + +module AsUnit + # ------------------------------------------------------------------ + # COPIED FROM RAKE! Rake module singleton methods. + # + class << self + # Current Rake Application + def application + @application ||= AsUnit::Application.new + end + + # Set the current Rake application object. + def application=(app) + @application = app + end + + # Return the original directory where the Rake application was + # started. + def original_dir + application.original_dir + end + + #################################################################### + # Mixin for creating easily cloned objects. + # + module Cloneable + # Clone an object by making a new object and setting all the + # instance variables to the same values. + def clone + sibling = self.class.new + instance_variables.each do |ivar| + value = self.instance_variable_get(ivar) + sibling.instance_variable_set(ivar, value.rake_dup) + end + sibling + end + alias dup clone + end + end +end + +class String + def ends_with? str + return false + end +end + +require 'asunit.rb' + +if __FILE__ == $0 then + AsUnit::Application.new +end Modified: trunk/ruby/src/asunit.rb =================================================================== --- trunk/ruby/src/asunit.rb 2006-09-06 15:23:22 UTC (rev 88) +++ trunk/ruby/src/asunit.rb 2006-09-06 15:30:26 UTC (rev 89) @@ -5,44 +5,6 @@ TEST_TEMPLATE = 'TestCase.erb' PROJECT_FILE_NAME = '.asunit' - # ------------------------------------------------------------------ - # COPIED FROM RAKE! Rake module singleton methods. - # - class << self - # Current Rake Application - def application - @application ||= AsUnit::Application.new - end - - # Set the current Rake application object. - def application=(app) - @application = app - end - - # Return the original directory where the Rake application was - # started. - def original_dir - application.original_dir - end - - #################################################################### - # Mixin for creating easily cloned objects. - # - module Cloneable - # Clone an object by making a new object and setting all the - # instance variables to the same values. - def clone - sibling = self.class.new - instance_variables.each do |ivar| - value = self.instance_variable_get(ivar) - sibling.instance_variable_set(ivar, value.rake_dup) - end - sibling - end - alias dup clone - end - end - require 'yaml' require 'optparse' require 'settings' @@ -105,16 +67,5 @@ end get_project_file(File.dirname(dir)) end - end - + end end - -class String - def ends_with? str - return false - end -end - -if __FILE__ == $0 then - AsUnit::Application.new -end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-06 15:23:28
|
Revision: 88 http://svn.sourceforge.net/asunit/?rev=88&view=rev Author: lukebayes Date: 2006-09-06 08:23:22 -0700 (Wed, 06 Sep 2006) Log Message: ----------- worked visual entities in the test case Modified Paths: -------------- trunk/ruby/src/create_class.rb trunk/ruby/src/template_resolver.rb trunk/ruby/src/templates/Class.erb trunk/ruby/src/templates/TestCase.erb Modified: trunk/ruby/src/create_class.rb =================================================================== --- trunk/ruby/src/create_class.rb 2006-09-06 08:11:07 UTC (rev 87) +++ trunk/ruby/src/create_class.rb 2006-09-06 15:23:22 UTC (rev 88) @@ -15,7 +15,7 @@ def run(args) @resolver.superclass = args.superclass - @resolver.visual = args.display_object? + @resolver.display_object = args.display_object? args.interfaces.each {|inf| @resolver.add_interface(inf) } Modified: trunk/ruby/src/template_resolver.rb =================================================================== --- trunk/ruby/src/template_resolver.rb 2006-09-06 08:11:07 UTC (rev 87) +++ trunk/ruby/src/template_resolver.rb 2006-09-06 15:23:22 UTC (rev 88) @@ -5,7 +5,7 @@ module AsUnit class TemplateResolver attr_reader :template, :fullclass, :interfaces, :test_cases - attr_accessor :superclass, :visual + attr_accessor :superclass, :display_object def initialize(fullclass) @fullclass = fullclass; @@ -14,7 +14,7 @@ @package = nil @parsed = nil @superclass = nil - @visual = nil + @display_object = false @interfaces = Array.new @test_cases = Array.new end @@ -52,6 +52,10 @@ @test_cases.push(test_case) @test_cases.sort! end + + def display_object? + return @display_object + end def superclass? return !@superclass.nil? @@ -66,10 +70,6 @@ @interfaces.sort! end - def visual? - return @visual.nil? - end - def superclass_decl if(superclass?) return ' extends ' + superclass.split('.').pop @@ -78,7 +78,7 @@ end end - def import_statements + def import_statements imports = Array.new if(superclass?) imports.push(import_statement(superclass)) @@ -88,8 +88,11 @@ imports.push(import_statement(inf)) } end + if(imports.length == 0) + return '' + end imports.sort! - return imports.join("\n") + return "\n" + imports.join("\n") + "\n" end def import_statement(target) Modified: trunk/ruby/src/templates/Class.erb =================================================================== --- trunk/ruby/src/templates/Class.erb 2006-09-06 08:11:07 UTC (rev 87) +++ trunk/ruby/src/templates/Class.erb 2006-09-06 15:23:22 UTC (rev 88) @@ -1,8 +1,6 @@ package <%= package %>{ - <%= import_statements %> - public class <%= classname %><%= superclass_decl %><%= interfaces_decl %> { public function <%= classname %>() { Modified: trunk/ruby/src/templates/TestCase.erb =================================================================== --- trunk/ruby/src/templates/TestCase.erb 2006-09-06 08:11:07 UTC (rev 87) +++ trunk/ruby/src/templates/TestCase.erb 2006-09-06 15:23:22 UTC (rev 88) @@ -10,17 +10,15 @@ protected override function setUp():void { super.setUp(); - instance = new <%= classname %>(); - <% if visual? %> - addChild(instance); - <% end %> + instance = new <%= classname %>();<% + if display_object? %> + addChild(instance);<% end %> } protected override function tearDown():void { - super.tearDown(); - <% if visual? %> - removeChild(instance); - <% end %> + super.tearDown();<% + if display_object? %> + removeChild(instance);<% end %> instance = null; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-06 08:11:15
|
Revision: 87 http://svn.sourceforge.net/asunit/?rev=87&view=rev Author: lukebayes Date: 2006-09-06 01:11:07 -0700 (Wed, 06 Sep 2006) Log Message: ----------- got robust template support Modified Paths: -------------- trunk/ruby/src/asunit.rb trunk/ruby/src/asunit_arguments.rb trunk/ruby/src/create_class.rb trunk/ruby/src/template_resolver.rb trunk/ruby/src/templates/Class.erb Modified: trunk/ruby/src/asunit.rb =================================================================== --- trunk/ruby/src/asunit.rb 2006-09-06 07:30:16 UTC (rev 86) +++ trunk/ruby/src/asunit.rb 2006-09-06 08:11:07 UTC (rev 87) @@ -62,18 +62,18 @@ arguments.classnames.each { |name| if(name.ends_with? "Test") begin - create_class(name, settings, TEST_TEMPLATE, arguments.force?) + create_class(name, settings, TEST_TEMPLATE, arguments) rescue Exception => e results.push(e) end else begin - create_class(name, settings, AsUnit::CLASS_TEMPLATE, arguments.force?) + create_class(name, settings, AsUnit::CLASS_TEMPLATE, arguments) rescue Exception => e results.push(e) end begin - create_class(name + "Test", settings, AsUnit::TEST_TEMPLATE, arguments.force?) + create_class(name + "Test", settings, AsUnit::TEST_TEMPLATE, arguments) rescue Exception => e results.push(e) end @@ -84,10 +84,10 @@ end end - def create_class(name, settings, template, force) + def create_class(name, settings, template, arguments) begin class_creator = AsUnit::CreateClass.new(name, settings, template) - class_creator.run(force) + class_creator.run(arguments) puts 'File Created at: ' + class_creator.final_path return nil rescue Exception => e Modified: trunk/ruby/src/asunit_arguments.rb =================================================================== --- trunk/ruby/src/asunit_arguments.rb 2006-09-06 07:30:16 UTC (rev 86) +++ trunk/ruby/src/asunit_arguments.rb 2006-09-06 08:11:07 UTC (rev 87) @@ -16,7 +16,7 @@ opts = OptionParser.new do |opts| opts.banner = "Usage: #$0 [options] CLASSNAME(s)" - opts.on('-d', '--display-object', 'class created is a subclass of flash.display.DisplayObject') do + opts.on('-d', '--display-object', 'class is a visual entity') do self[:display_object] = true end @@ -24,13 +24,6 @@ self[:force] = true end - opts.on('-p', '--project-file [FILE]', 'use this project file instead of looking for the nearest one [FILE]') do |file| - if(file.nil?) - raise '-p [--project-file] argument must be followed by a relative or absolute file target"' - end - self[:project_file] = (file || '$') - end - opts.on('-i', '--add-interface [STRING]', 'add an interface to this class [STRING]') do |inf| if(inf.nil?) raise '-i [--add-interface] argument must be followed by a fully-qualified interface name eg: "flash.events.IEventDispatcher"' @@ -38,6 +31,13 @@ self[:interfaces].push(inf || '$') end + opts.on('-p', '--project-file [FILE]', 'use provided project file [FILE]') do |file| + if(file.nil?) + raise '-p [--project-file] argument must be followed by a relative or absolute file target"' + end + self[:project_file] = (file || '$') + end + opts.on('-s', '--superclass [STRING]', 'superclass of class being created [STRING]') do |superclass| if(superclass.nil?) raise '-s [--superclass] argument must be followed by a fully-qualified class name eg: "flash.display.DisplayObject"' @@ -77,6 +77,10 @@ return self[:classnames] end + def display_object? + return self[:display_object] + end + def force? return self[:force] end Modified: trunk/ruby/src/create_class.rb =================================================================== --- trunk/ruby/src/create_class.rb 2006-09-06 07:30:16 UTC (rev 86) +++ trunk/ruby/src/create_class.rb 2006-09-06 08:11:07 UTC (rev 87) @@ -4,7 +4,7 @@ module AsUnit class CreateClass attr_accessor :settings, :template_name - attr_reader :final_path + attr_reader :final_path, :resolver def initialize(name, settings, template) @settings = settings @@ -13,12 +13,17 @@ @final_path = '' end - def run(force=false) + def run(args) + @resolver.superclass = args.superclass + @resolver.visual = args.display_object? + args.interfaces.each {|inf| + @resolver.add_interface(inf) + } src = Dir.pwd + File::SEPARATOR + settings.templates + File::SEPARATOR + template_name template = IO.read(src) @resolver.template = template parsed = @resolver.parse - file = create_file(target_file(settings.src), force) + file = create_file(target_file(settings.src), args.force?) file.write(parsed) end Modified: trunk/ruby/src/template_resolver.rb =================================================================== --- trunk/ruby/src/template_resolver.rb 2006-09-06 07:30:16 UTC (rev 86) +++ trunk/ruby/src/template_resolver.rb 2006-09-06 08:11:07 UTC (rev 87) @@ -4,7 +4,7 @@ module AsUnit class TemplateResolver - attr_reader :template, :fullclass, :classname, :interfaces, :test_cases + attr_reader :template, :fullclass, :interfaces, :test_cases attr_accessor :superclass, :visual def initialize(fullclass) @@ -28,16 +28,20 @@ return ERB.new(@template).result(binding) end - def package - if(@package.nil?) + def classname(fullname=@classname) + return fullname.split('.').pop + end + + def package(pkg=@package) + if(pkg.nil?) segments = fullclass.split('.') segments.pop - @package = segments.join('.') + pkg = segments.join('.') if(segments.length > 0) - @package += ' ' + pkg += ' ' end end - return @package + return pkg end def path @@ -65,5 +69,42 @@ def visual? return @visual.nil? end + + def superclass_decl + if(superclass?) + return ' extends ' + superclass.split('.').pop + else + return '' + end + end + + def import_statements + imports = Array.new + if(superclass?) + imports.push(import_statement(superclass)) + end + if(interfaces?) + interfaces.each {|inf| + imports.push(import_statement(inf)) + } + end + imports.sort! + return imports.join("\n") + end + + def import_statement(target) + return "\timport " + target + ";" + end + + def interfaces_decl + if(!interfaces?) + return '' + end + infs = Array.new + interfaces.each {|inf| + infs.push(classname(inf)) + } + return " implements " + infs.join(", ") + end end end Modified: trunk/ruby/src/templates/Class.erb =================================================================== --- trunk/ruby/src/templates/Class.erb 2006-09-06 07:30:16 UTC (rev 86) +++ trunk/ruby/src/templates/Class.erb 2006-09-06 08:11:07 UTC (rev 87) @@ -1,8 +1,10 @@ + package <%= package %>{ - <% if(superclass?) %>import superclass <% end %> + +<%= import_statements %> + + public class <%= classname %><%= superclass_decl %><%= interfaces_decl %> { - public class <%= classname %><% if(superclass?) %> extends <%= superclass %><% end %> { - public function <%= classname %>() { super(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-06 07:30:20
|
Revision: 86 http://svn.sourceforge.net/asunit/?rev=86&view=rev Author: lukebayes Date: 2006-09-06 00:30:16 -0700 (Wed, 06 Sep 2006) Log Message: ----------- moved static constant out of Application and into AsUnit module Modified Paths: -------------- trunk/ruby/src/asunit.rb Modified: trunk/ruby/src/asunit.rb =================================================================== --- trunk/ruby/src/asunit.rb 2006-09-06 07:28:02 UTC (rev 85) +++ trunk/ruby/src/asunit.rb 2006-09-06 07:30:16 UTC (rev 86) @@ -3,7 +3,7 @@ module AsUnit CLASS_TEMPLATE = 'Class.erb' TEST_TEMPLATE = 'TestCase.erb' - PROJECT_FILENAME = '.asunit' + PROJECT_FILE_NAME = '.asunit' # ------------------------------------------------------------------ # COPIED FROM RAKE! Rake module singleton methods. @@ -100,8 +100,8 @@ raise 'Project file not found, please create a new asunit project by typing "asunit -create-project [-src, -test, -templates]"' end Dir.chdir dir - if(File.exists? @@PROJECT_FILE_NAME) - return File.open(@@PROJECT_FILE_NAME, 'r') + if(File.exists? AsUnit::PROJECT_FILE_NAME) + return File.open(AsUnit::PROJECT_FILE_NAME, 'r') end get_project_file(File.dirname(dir)) end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-06 07:28:07
|
Revision: 85 http://svn.sourceforge.net/asunit/?rev=85&view=rev Author: lukebayes Date: 2006-09-06 00:28:02 -0700 (Wed, 06 Sep 2006) Log Message: ----------- added exception handling to support batch creation with singular failures Modified Paths: -------------- trunk/ruby/src/asunit.rb Modified: trunk/ruby/src/asunit.rb =================================================================== --- trunk/ruby/src/asunit.rb 2006-09-06 07:26:33 UTC (rev 84) +++ trunk/ruby/src/asunit.rb 2006-09-06 07:28:02 UTC (rev 85) @@ -3,9 +3,10 @@ module AsUnit CLASS_TEMPLATE = 'Class.erb' TEST_TEMPLATE = 'TestCase.erb' + PROJECT_FILENAME = '.asunit' # ------------------------------------------------------------------ - # Rake module singleton methods. + # COPIED FROM RAKE! Rake module singleton methods. # class << self # Current Rake Application @@ -49,7 +50,6 @@ require 'asunit_arguments' class Application - @@PROJECT_FILE_NAME = '.asunit' def initialize super This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <luk...@us...> - 2006-09-06 07:26:41
|
Revision: 84 http://svn.sourceforge.net/asunit/?rev=84&view=rev Author: lukebayes Date: 2006-09-06 00:26:33 -0700 (Wed, 06 Sep 2006) Log Message: ----------- added exception handling to support batch creation with singular failures Modified Paths: -------------- trunk/ruby/src/asunit.rb trunk/ruby/src/create_class.rb Added Paths: ----------- trunk/ruby/src/asunit_arguments.rb Modified: trunk/ruby/src/asunit.rb =================================================================== --- trunk/ruby/src/asunit.rb 2006-09-06 06:24:57 UTC (rev 83) +++ trunk/ruby/src/asunit.rb 2006-09-06 07:26:33 UTC (rev 84) @@ -46,6 +46,7 @@ require 'optparse' require 'settings' require 'create_class' + require 'asunit_arguments' class Application @@PROJECT_FILE_NAME = '.asunit' @@ -57,19 +58,41 @@ prefs = YAML.load(project_file.read) settings = AsUnit::Settings.new(prefs) + results = Array.new arguments.classnames.each { |name| if(name.ends_with? "Test") - create_class(name, settings, TEST_TEMPLATE) + begin + create_class(name, settings, TEST_TEMPLATE, arguments.force?) + rescue Exception => e + results.push(e) + end else - create_class(name, settings, AsUnit::CLASS_TEMPLATE) - create_class(name + "Test", settings, AsUnit::TEST_TEMPLATE) + begin + create_class(name, settings, AsUnit::CLASS_TEMPLATE, arguments.force?) + rescue Exception => e + results.push(e) + end + begin + create_class(name + "Test", settings, AsUnit::TEST_TEMPLATE, arguments.force?) + rescue Exception => e + results.push(e) + end end } + if(results.length > 0) + puts results.join("\n") + end end - def create_class(name, settings, template) - created_class = AsUnit::CreateClass.new(name, settings, template) - created_class.run + def create_class(name, settings, template, force) + begin + class_creator = AsUnit::CreateClass.new(name, settings, template) + class_creator.run(force) + puts 'File Created at: ' + class_creator.final_path + return nil + rescue Exception => e + raise e + end end def get_project_file(dir) @@ -84,76 +107,6 @@ end end - class AsUnitArguments < Hash - - def initialize(args) - super - self[:classnames] = nil - self[:display_object] = false - self[:interfaces] = Array.new - self[:project_file] = nil - self[:superclass] = nil - - opts = OptionParser.new do |opts| - opts.banner = "Usage: #$0 [options] CLASSNAME(s)" - - opts.on('-d', '--display-object', 'class created is a subclass of flash.display.DisplayObject') do - self[:display_object] = true - end - - opts.on('-p', '--project-file [FILE]', 'use this project file instead of looking for the nearest one [FILE]') do |file| - if(file.nil?) - raise '-p [--project-file] argument must be followed by a relative or absolute file target"' - end - self[:project_file] = (file || '$') - end - - opts.on('-i', '--add-interface [STRING]', 'add an interface to this class [STRING]') do |inf| - if(inf.nil?) - raise '-i [--add-interface] argument must be followed by a fully-qualified interface name eg: "flash.events.IEventDispatcher"' - end - self[:interfaces].push(inf || '$') - end - - opts.on('-s', '--superclass [STRING]', 'superclass of class being created [STRING]') do |superclass| - if(superclass.nil?) - raise '-s [--superclass] argument must be followed by a fully-qualified class name eg: "flash.display.DisplayObject"' - end - self[:superclass] = (superclass || '$') - end - - opts.on_tail('-h', '--help', 'display this help and exit') do - puts opts - exit - end - - if(args.length == 0) - puts opts - exit - end - - opts.parse!(args) - self[:classnames] = args - - end - end - - def project_file - return self[:project_file] - end - - def interfaces - return self[:interfaces] - end - - def superclass - return self[:superclass] - end - - def classnames - return self[:classnames] - end - end end class String Added: trunk/ruby/src/asunit_arguments.rb =================================================================== --- trunk/ruby/src/asunit_arguments.rb (rev 0) +++ trunk/ruby/src/asunit_arguments.rb 2006-09-06 07:26:33 UTC (rev 84) @@ -0,0 +1,84 @@ + +require 'optparse' + +module AsUnit + class AsUnitArguments < Hash + + def initialize(args) + super + self[:classnames] = nil + self[:display_object] = false + self[:force] = false + self[:interfaces] = Array.new + self[:project_file] = nil + self[:superclass] = nil + + opts = OptionParser.new do |opts| + opts.banner = "Usage: #$0 [options] CLASSNAME(s)" + + opts.on('-d', '--display-object', 'class created is a subclass of flash.display.DisplayObject') do + self[:display_object] = true + end + + opts.on('-f', '--force', 'force overwrite even if files exist') do + self[:force] = true + end + + opts.on('-p', '--project-file [FILE]', 'use this project file instead of looking for the nearest one [FILE]') do |file| + if(file.nil?) + raise '-p [--project-file] argument must be followed by a relative or absolute file target"' + end + self[:project_file] = (file || '$') + end + + opts.on('-i', '--add-interface [STRING]', 'add an interface to this class [STRING]') do |inf| + if(inf.nil?) + raise '-i [--add-interface] argument must be followed by a fully-qualified interface name eg: "flash.events.IEventDispatcher"' + end + self[:interfaces].push(inf || '$') + end + + opts.on('-s', '--superclass [STRING]', 'superclass of class being created [STRING]') do |superclass| + if(superclass.nil?) + raise '-s [--superclass] argument must be followed by a fully-qualified class name eg: "flash.display.DisplayObject"' + end + self[:superclass] = (superclass || '$') + end + + opts.on_tail('-h', '--help', 'display this help and exit') do + puts opts + exit + end + + if(args.length == 0) + puts opts + exit + end + + opts.parse!(args) + self[:classnames] = args + + end + end + + def project_file + return self[:project_file] + end + + def interfaces + return self[:interfaces] + end + + def superclass + return self[:superclass] + end + + def classnames + return self[:classnames] + end + + def force? + return self[:force] + end + end +end \ No newline at end of file Modified: trunk/ruby/src/create_class.rb =================================================================== --- trunk/ruby/src/create_class.rb 2006-09-06 06:24:57 UTC (rev 83) +++ trunk/ruby/src/create_class.rb 2006-09-06 07:26:33 UTC (rev 84) @@ -3,39 +3,42 @@ module AsUnit class CreateClass - attr_accessor :settings, :template_name + attr_accessor :settings, :template_name + attr_reader :final_path def initialize(name, settings, template) @settings = settings @template_name = template @resolver = AsUnit::TemplateResolver.new name + @final_path = '' end - def run + def run(force=false) src = Dir.pwd + File::SEPARATOR + settings.templates + File::SEPARATOR + template_name - puts 'opening: ' + src template = IO.read(src) @resolver.template = template parsed = @resolver.parse - file = create_file(target_file(settings.src)) + file = create_file(target_file(settings.src), force) file.write(parsed) end - def create_file(relative) + def create_file(relative, force) segments = relative.split(File::SEPARATOR) file_name = segments.pop current_path = '' segments.each { |dir| current_path << dir << File::SEPARATOR - if(!File.exists? current_path) + if(!File.exists?(current_path)) Dir.mkdir(current_path) end } current_path << file_name - if(File.exists?(current_path)) - raise 'Requested File Exists at: ' + Dir.pwd + File::SEPARATOR + current_path + if(!force && File.exists?(current_path)) + raise "\nRequested File Exists at: " + Dir.pwd + File::SEPARATOR + current_path + ". \n\nUse -f option to overwrite." else file = File.new(current_path, 'w') + @final_path = current_path + file end end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |