Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

synching with SVN

  • Loading branch information...
commit 4854af1eb0de7c81816f0b5d43aedc7028d6a97f 1 parent 63944f7
bill shelton authored
View
2  build.xml
@@ -46,7 +46,7 @@
<target name="package" depends="clean,version" description="--> packages the appropriate files into the deployment-ready zip file. use this for testing; otherwise, use publish">
<echo message="building ${zipfile}. basedir is ${basedir}" />
<zip destfile="${zipfile}" casesensitive="false">
- <zipfileset dir="${basedir}" includes="*.*,ant/,buildprops/,cfeclipse/,doc/,framework/,generator/,images/,PluginDemoTests/,resources/,runner/,samples/,tests/,lib/ant-contrib**" excludes="MXUnitInstallTest.cfc,**/testresults/,**/stats/,**/junithtml/,.project,.deployment,**/unames.properties,tests/tmp/,ftp.listing,**/*.db,**/copysnippets.properties,**/copydictionary**,**/*.bak,buildprops/nightlyversion.properties" prefix="mxunit" casesensitive="false" />
+ <zipfileset dir="${basedir}" includes="*.*,ant/,buildprops/,eclipse/,doc/,framework/,generator/,images/,PluginDemoTests/,resources/,runner/,samples/,tests/,lib/ant-contrib**" excludes=".gitignore,MXUnitInstallTest.cfc,**/testresults/,**/stats/,**/junithtml/,.project,.deployment,**/unames.properties,tests/tmp/,ftp.listing,**/*.db,**/copysnippets.properties,**/copydictionary**,**/*.bak,buildprops/nightlyversion.properties" prefix="mxunit" casesensitive="false" />
</zip>
</target>
View
9 eclipse/snippets/keyCombos.properties
@@ -1,24 +1,28 @@
-#Mon Mar 30 11:26:00 EDT 2009
+#Fri May 21 12:28:50 EDT 2010
injectproperty=/mxunit/helpers/injectProperty.xml
true=/mxunit/assert/assertTrue.xml
assertdecorator=/mxunit/assert/addAssertDecorator.xml
teardown=/mxunit/tearDown.xml
istypeof=/mxunit/assert/assertIsTypeOf.xml
isxmldoc=/mxunit/assert/assertIsXMLDoc.xml
+errorpaths=/mxunit/new test error path function cfscript.xml
false=/mxunit/assert/assertFalse.xml
+setups=/mxunit/setUp cfscript.xml
querysim=/mxunit/helpers/querysim.xml
queryrowcount=/mxunit/assert/assertQueryRowCount.xml
injectMethod=/mxunit/helpers/injectMethod.xml
isarray=/mxunit/assert/assertIsArray.xml
trycatcherrorpath=/mxunit/assert/try catch error path.xml
+tests=/mxunit/new test function cfscript.xml
isempty=/mxunit/assert/assertIsEmpty.xml
fail=/mxunit/assert/fail.xml
notequals=/mxunit/assert/assertNotEquals.xml
-dts=/mxunit/testrunner/Directory Test Suite Skeleton.xml
notsame=/mxunit/assert/assertNotSame.xml
+dts=/mxunit/testrunner/Directory Test Suite Skeleton.xml
override=/mxunit/helpers/test-time override function.xml
equals=/mxunit/assert/assertEquals.xml
failnotequals=/mxunit/assert/failNotEquals.xml
+teardowns=/mxunit/tearDown cfscript.xml
makepublic=/mxunit/helpers/makepublic.xml
debug=/mxunit/helpers/debug.xml
setup=/mxunit/setUp.xml
@@ -27,5 +31,6 @@ errorpath=/mxunit/new test error path function.xml
same=/mxunit/assert/assertSame.xml
failequals=/mxunit/assert/failEquals.xml
test=/mxunit/new test function.xml
+mxunits=/mxunit/new MXUnit TestCase cfscript.xml
mxunit=/mxunit/new MXUnit TestCase.xml
regexp=/mxunit/assert/assertRegExp.xml
View
16 eclipse/snippets/mxunit/helpers/cfquerysim.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<snippet filetemplate="false" extension="cfm">
+<name>cfquerysim</name>
+<help></help>
+<starttext><![CDATA[<cfset var q = "">
+<cfoutput>
+<cf_querysim>
+q
+]]></starttext>
+<endtext><![CDATA[
+one,two
+val1|val2
+</cf_querysim>
+</cfoutput>
+<cfreturn q>]]></endtext>
+</snippet>
View
29 eclipse/snippets/mxunit/new MXUnit TestCase cfscript.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<snippet filetemplate="false" extension="">
+<name>new MXUnit TestCase cfscript</name>
+<help></help>
+<starttext><![CDATA[component extends="mxunit.framework.TestCase"{
+
+ function setUp(){
+
+ }
+
+
+ function tearDown(){
+
+ }
+
+
+ function xxx_should_xxx_when_xxx(){
+ fail("Not yet implemented");
+ }
+
+
+ function xxx_should_throw_error_when_xxx(){
+ expectException("SomeException");
+ //do something here to cause an exception
+ }
+
+}]]></starttext>
+<endtext><![CDATA[]]></endtext>
+</snippet>
View
11 eclipse/snippets/mxunit/new test error path function cfscript.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<snippet filetemplate="false" extension="">
+<name>new test error path function cfscript</name>
+<help></help>
+<starttext><![CDATA[function xxx_should_throw_error_when_xxx(){
+ expectException("$${What exception type(s) are you expecting?}");
+ //do something here to cause an exception
+
+}]]></starttext>
+<endtext><![CDATA[]]></endtext>
+</snippet>
View
9 eclipse/snippets/mxunit/new test function cfscript.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<snippet filetemplate="false" extension="">
+<name>new test function cfscript</name>
+<help></help>
+<starttext><![CDATA[function $${Name your test:}(){
+ var XX = "";
+ fail("$${Name your test:} not yet implemented");]]></starttext>
+<endtext><![CDATA[}]]></endtext>
+</snippet>
View
9 eclipse/snippets/mxunit/setUp cfscript.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<snippet filetemplate="false" extension="">
+<name>setUp cfscript</name>
+<help></help>
+<starttext><![CDATA[function setUp(){
+
+}]]></starttext>
+<endtext><![CDATA[]]></endtext>
+</snippet>
View
9 eclipse/snippets/mxunit/tearDown cfscript.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<snippet filetemplate="false" extension="">
+<name>tearDown cfscript</name>
+<help></help>
+<starttext><![CDATA[function tearDown(){
+
+}]]></starttext>
+<endtext><![CDATA[]]></endtext>
+</snippet>
View
1  framework/DataproviderHandler.cfc
@@ -212,6 +212,7 @@
if(not localQuery.RecordCount) _$throw(message="Query DataProvider #dataProvider# did not contain any rows");
while( localQuery.next() ) {
invokeComponentForQueryProvider(objectUnderTest, methodName, getTopRow(localQuery));
+ //This fails on Railo-different Java interface than ColdFusion
localQuery.removeRows(javacast('int',localQuery.getRow()-1), javacast('int',1));
localQuery.beforefirst();
}
View
2  framework/TestSuiteRunner.cfc
@@ -101,7 +101,7 @@
<cfset results.addContent(outputOfTest) />
<cfcatch type="mxunit.exception.AssertionFailedError">
- <cfset addFailureToResults(results=results,expected=testCase.expectedExceptionType,actual=testCase.actual,exception=cfcatch,content=outputOfTest)>
+ <cfset addFailureToResults(results=results,expected=testCase.expected,actual=testCase.actual,exception=cfcatch,content=outputOfTest)>
</cfcatch>
<cfcatch type="any">
View
71 framework/XPathAssert.cfc
@@ -1,41 +1,50 @@
<cfcomponent hint="Assertions for XML and well formed HTML" output="false">
- <cffunction name="assertXpath" access="public" returntype="any">
- <cfargument name="xpath" type="String" hint="string representing an xpath expression" required="true" />
- <cfargument name="data" hint="String or URL to search" required="true" type="any" />
- <!--- To Do: Maybe TEXT can also accepts regular expressions? --->
- <cfargument name="text" type="string" required="false" default="" hint="The text to match against the xpath expression. If omitted, this assertion returns true if any elements of the xpath epxression are found." />
- <cfargument name="message" type="string" required="false" hint="The mssage to display when this assertion fails" default="The XPath expression, #arguments.xpath#, did not match the data." />
- <cfset var dom = javacast("null","java.lang.Object") />
- <cfset var isUrl= "" />
- <cfset var results = javacast("null","java.lang.Object") />
- <cfif not isXMLDoc(arguments.data)>
+ <cffunction name="assertXpath" access="public" returntype="any">
+ <cfargument name="xpath" type="String" hint="string representing an
+xpath expression" required="true" />
+ <cfargument name="data" hint="String or URL to search" required="true"
+type="any" />
+ <!--- To Do: Maybe TEXT can also accepts regular expressions? --->
+ <cfargument name="text" type="string" required="false" default=""
+hint="The text to match against the xpath expression. If omitted, this
+assertion returns true if any elements of the xpath epxression are found." />
+ <cfargument name="message" type="string" required="false" hint="The
+mssage to display when this assertion fails" default="The XPath expression,
+#arguments.xpath#, did not match the data." />
+ <cfset var dom = javacast("null","java.lang.Object") />
+ <cfset var isUrl= "" />
+ <cfset var results = javacast("null","java.lang.Object") />
+
<cftry>
- <!---
- Note:
- SSL Not supported. Workaround is to use another http client
- and pass in a string.
+ <!---
+ Note:
+ SSL Not supported. Workaround is to use another http client
+ and pass in a string.
- To Do: allow pass in of org.xml.sax.InputSource
- --->
+ To Do: allow pass in of org.xml.sax.InputSource
+ --->
- <cfset isUrl = refindNoCase("^(http[s]*|file)://.+",data)>
- <cfset dom = buildXmlDom(arguments.data,isUrl) />
- <cfset results = xmlSearch(dom,arguments.xpath)>
- <cfif len(arguments.text) gt 0>
- <cfset assertEquals(arguments.text, results[1].xmlText, message) /> <!--- --->
- </cfif>
- <cfif arrayLen(results) lt 1>
- <cfset fail(message) />
- </cfif>
- <cfreturn results />
- <cfcatch type="any">
+ <cfset isUrl = refindNoCase("^(http[s]*|file)://.+",data)>
+ <cfif isXMLDoc(arguments.data)>
+ <cfset dom = arguments.data />
+ <cfelse>
+ <cfset dom = buildXmlDom(arguments.data,isUrl) />
+ </cfif>
+ <cfset results = xmlSearch(dom,arguments.xpath)>
+ <cfif len(arguments.text) gt 0>
+ <cfset assertEquals(arguments.text, results[1].xmlText, message) />
+ </cfif>
+ <cfif arrayLen(results) lt 1>
+ <cfset fail(message) />
+ </cfif>
+ <cfreturn results />
+ <cfcatch type="any">
<cfthrow object="#cfcatch#">
- </cfcatch>
- </cftry>
- </cfif>
- </cffunction>
+ </cfcatch>
+ </cftry>
+ </cffunction>
<cffunction name="buildXmlDom" access="public" static="true" returntype="any" hint="Experimental!">
View
2  framework/mightymock/MightyMock.cfc
@@ -82,7 +82,7 @@
*/
- proxy.RETURNS = RETURNS ;
+ proxy.RETURNS = RETURNS ;
proxy._$SETSTATE = _$SETSTATE;
proxy.variables._$SETSTATE = _$SETSTATE;
proxy.DEBUGMOCK = DEBUGMOCK;
View
3  samples/HttpAntRunner.cfc
@@ -0,0 +1,3 @@
+<cfcomponent extends="mxunit.runner.HttpAntRunner">
+
+</cfcomponent>
View
84 samples/build.xml
@@ -1,41 +1,44 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<project name="Sample" basedir="." default="runtests">
+<project name="Sample Build. Replace Me!" basedir="." default="runtests">
<target name="init">
- <!-- what's the directory name of your application? this value will be used throughout this build file; if you don't want that, just replace the references to ${application.name} with your desired values -->
- <property name="application.name" value="MyAppName" />
- <!-- where do your tests live, relative to this build file? -->
- <!-- if running from hudson, simply set this property in the hudson configuration; for example:
- test.dir=c:/inetpub/wwwroot/myapp/test
+ <!-- //////// DIRECTORY AND CFC PATH SETUP (used in all targets) -->
- if running against network paths on windows, you'll need to escape slashes in the hudson configuration, for example:
- \\\\server\\some\\dir\\webapps\\myapp\\test
- -->
- <property name="test.dir" location="test" />
+ <!-- what's the directory name of your application? this value will be used throughout this build file; if you don't want that, just replace the references to ${application.name} with your desired values -->
+ <property name="application.name" value="DirectoryNameOfYourProject" />
+
+ <!-- what's the name of the directory where your tests live? Note: this is just the name of the directory, not the full path-->
+ <property name="test.dir.name" value="test" />
+
+ <!-- where do your tests live, relative to this build file? test.dir.location will be a full path to a directory -->
+ <property name="test.dir.location" location="${test.dir.name}" />
+
<!-- what is the cfc dot-notation path to that directory, as ColdFusion sees it? -->
- <property name="test.cfcpath" value="${application.name}.test" />
- <!-- what "runner" URL should the tests hit. -->
- <property name="test.runner" value="/${application.name}/test/HttpAntRunner.cfc" />
+ <property name="test.cfcpath" value="${application.name}.${test.dir.name}" />
+
+
+
+
+ <!-- //////// MXUNIT ANT TASK SETUP (used in runtests and junitreport targets) -->
+
<!-- what server and port should your tests run against? -->
<property name="test.server" value="localhost" />
<property name="test.serverport" value="80" />
-
- <!-- where does the mxunit ant jar file live? it's easiest to copy it out of the mxunit install and put it into your app;
- you can include other jars in that directory as well... svn jars for the svnant task, for example-->
- <path id="project.classpath">
- <fileset dir="lib">
- <include name="**/*.jar" />
- </fileset>
- </path>
-
+ <!-- what "runner" URL should the tests hit. In this example, you'd be hitting http://localhost:80/DirectoryNameOfYourProject/test/HttpAntRunner.cfc Simply copy mxunit/samples/HttpAntRunner.cfc into your test directory! -->
+ <property name="test.runner" value="/${application.name}/${test.dir.name}/HttpAntRunner.cfc" />
<!-- this is where the xml and html will live for the report generator -->
- <property name="test.output" location="test/testresults" />
- <property name="test.output.tmp" location="${test.output}/tmp" />
+ <property name="test.output" location="${test.dir.name}/testresults" />
+ <property name="test.output.xml" location="${test.output}/xml" />
<property name="test.junitoutput" location="${test.output}/html" />
+
+
+
+ <!-- //////// ZIP-FILE SETUP (used by "dist" target) -->
+
<!-- where the zip file for deployment will live -->
<property name="dist.dir" location="deploy" />
<!-- what to call it -->
@@ -43,31 +46,44 @@
<!-- what to start the "path" in the zip with -->
<property name="dist.prefixInZip" value="${application.name}" />
+
+
+ <!-- //////// JAR FILES WE NEED FOR EXTERNAL TASKS -->
+
+ <!-- where does the mxunit ant jar file live? it's easiest to copy it out of the mxunit install and put it into your app
+ You can also put any other ant-relatd jars in this directory; for example, if you want to use svnant, you'll need to put those jars here
+ -->
+ <path id="project.classpath">
+ <fileset dir="lib">
+ <include name="**/*.jar" />
+ </fileset>
+ </path>
+
<!-- dump the properties -->
<echoproperties prefix="test" />
<echoproperties prefix="dist" />
</target>
<target name="clean" depends="init">
- <delete dir="{test.output}" failonerror="false" />
- <delete dir="{dist.dir}" failonerror="false" />
- <mkdir dir="${test.output.tmp}" />
+ <delete dir="${test.output}" failonerror="false" />
+ <delete dir="${dist.dir}" failonerror="false" />
+ <mkdir dir="${test.output.xml}" />
<mkdir dir="${test.junitoutput}" />
<mkdir dir="${dist.dir}" />
</target>
<target name="svn.update" depends="init">
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="project.classpath" />
- <echo message="updating ${test.dir}" />
+ <echo message="updating ${test.dir.location}" />
<svn svnkit="true">
- <update dir="${test.dir}" />
+ <update dir="${test.dir.location}" />
</svn>
</target>
<target name="runtests" description="Make output directories and run the MXUnit task" depends="init,clean">
- <taskdef name="mxunittask" classname="org.mxunit.ant.MXUnitAntTask" classpath="${test.mxunit.jar}" />
- <mxunittask server="${test.server}" port="${test.serverport}" defaultrunner="${test.runner}" outputdir="${test.output.tmp}" verbose="true">
- <directory path="${test.dir}" recurse="true" packageName="${test.cfcpath}" componentPath="${test.cfcpath}" />
+ <taskdef name="mxunittask" classname="org.mxunit.ant.MXUnitAntTask" classpathref="project.classpath" />
+ <mxunittask server="${test.server}" port="${test.serverport}" defaultrunner="${test.runner}" outputdir="${test.output.xml}" verbose="true">
+ <directory path="${test.dir.location}" recurse="true" packageName="${test.cfcpath}" componentPath="${test.cfcpath}" />
</mxunittask>
<!-- generate pretty reports -->
@@ -76,7 +92,7 @@
<target name="junitreport" depends="init,clean" description="Runs the report without running the tests">
<junitreport todir="${test.junitoutput}">
- <fileset dir="${test.output.tmp}">
+ <fileset dir="${test.output.xml}">
<include name="*.xml" />
</fileset>
<report format="frames" todir="${test.junitoutput}" />
@@ -85,7 +101,7 @@
<target name="dist" depends="init,clean" description="Builds the zip file for deployment">
<zip destfile="${dist.dir}/${dist.zip}">
- <zipfileset dir="." excludes="test/, deploy/, lib/, .apptacular/, .project, build.xml, settings.xml, .settings" prefix="${dist.prefixInZip}" casesensitive="false" />
+ <zipfileset dir="." excludes="${test.dir.name}/, deploy/, lib/, .apptacular/, .project, build.xml, settings.xml, .settings" prefix="${dist.prefixInZip}" casesensitive="false" />
</zip>
</target>
View
12 tests/framework/DataproviderHandlerTest.cfc
@@ -55,24 +55,12 @@ function spyTest() {
</cfscript>
-<cffunction name="genSomeData" access="private">
-<cfscript>
- var generator = createObject( 'component', 'sandbox.randomizer.Randomizer' );
- var rows = 10;
- var colDef = { id='int', data='string',isok='boolean',salary='money' };
- var q = generator.genRandomQuery(rows,colDef);
- return q;
-</cfscript>
-</cffunction>
-
<cf_querysim>
-<cfoutput>
q
col1,col2,col3,col4
1|1.2|1.3|1.4
2|2.2|2.3|2.4
3|3.2|3.3|3.4
-</cfoutput>
</cf_querysim>
</cfcomponent>
View
10 tests/framework/XPathAssertionTest.cfc
@@ -63,6 +63,16 @@
</cfscript>
</cffunction>
+ <cffunction name="testFindNode1_WithPreBuiltXMLObject">
+ <cfset var nodes = "" />
+ <cfset var xml = "">
+ <cffile action="read" file="#expandPath("/mxunit/tests/framework/fixture/xpath/nodes.html")#" variable="nodes">
+ <cfset xml = xmlParse(nodes)>
+ <cfset assertXPath('/ul/li',xml)>
+ </cffunction>
+
+
+
<cffunction name="testFindNode2">
<cfset var mxunit = "" />
<cffile action="read" file="#expandPath("/mxunit/tests/framework/fixture/xpath/mxunit.org.html")#" variable="mxunit">
View
24 tests/framework/fixture/querysim.cfm
@@ -1,7 +1,7 @@
<!--------------------------------------------------------------------
Original QuerySim.cfm by hal.helms@TeamAllaire.com
-Update by bill s. - 04.09.2009
+Update by bill s. - 04.09.2010
This will only work in ColdFusion 8 and later due to conditional
syntax usage - && in lieu of AND, and i++, etc.
@@ -18,19 +18,19 @@ because 'i' don't use that.
<cfsetting enablecfoutputonly="yes">
<cfscript>
- localvars.queryName = '';
- localvars.raw = '';
- localvars.q = chr(0);
+ local.queryName = '';
+ local.raw = '';
+ local.q = chr(0);
if (thistag.HasEndTag and thistag.ExecutionMode is 'start'){
//no worries
}
else if (thistag.HasEndTag and thistag.ExecutionMode is 'end'){
- localvars.raw = trim( Thistag.generatedContent );
- // thistag.generatedContent = '';
- localvars.q = parse(localvars.raw);
- setVariable( 'caller.' & localvars.queryName, localvars.q );
+ local.raw = trim( Thistag.generatedContent );
+ thistag.generatedContent = '';
+ local.q = parse(local.raw);
+ setVariable( 'caller.' & local.queryName, local.q );
}
@@ -47,20 +47,20 @@ function parse(input){
var row = '';
for(i; i <= arrayLen(lines); i ++ ){
- line = lines[i];
+ line = trim(lines[i]);
//to do: simply ignore blank lines or lines with only whitespace.
//if ( refind ( line, '^[[:space:]]*$' ) ) continue;
if(line != '' && queryName == '') {
- queryName = lines[i];
+ queryName = line;
setQueryName(queryName);
columnListLine = i+1;
continue;
}
if(i == columnListLine) {
- columnList = lines[i];
+ columnList = line;
q = queryNew(columnList);
continue;
}
@@ -81,7 +81,7 @@ function parse(input){
function setQueryName(qName){
- localvars.queryName = qName;
+ local.queryName = qName;
}
</cfscript>
View
88 tests/framework/querysim.cfm
@@ -0,0 +1,88 @@
+
+<!--------------------------------------------------------------------
+Original QuerySim.cfm by hal.helms@TeamAllaire.com
+Update by bill s. - 04.09.2010
+
+This will only work in ColdFusion 8 and later due to conditional
+syntax usage - && in lieu of AND, and i++, etc.
+
+This decouples string parsing logic into a somewhat testable function.
+For some reason, the orginal was throwing a list parsing exception on
+what appeared to be normal text. So, it was dissasembled and i decided
+to use java's String.split(regex) instead.
+
+Note, one possibly major omission from the original is the lack of
+reading querysim info from a profile file; ie, .ini. This was omitted
+because 'i' don't use that.
+--------------------------------------------------------------------->
+
+<cfsetting enablecfoutputonly="yes">
+<cfscript>
+ local.queryName = '';
+ local.raw = '';
+ local.q = chr(0);
+
+ if (thistag.HasEndTag and thistag.ExecutionMode is 'start'){
+ //no worries
+ }
+
+ else if (thistag.HasEndTag and thistag.ExecutionMode is 'end'){
+ local.raw = trim( Thistag.generatedContent );
+ thistag.generatedContent = '';
+ local.q = parse(local.raw);
+ setVariable( 'caller.' & local.queryName, local.q );
+ }
+
+
+function parse(input){
+ var s = trim(input);
+ var lines = s.split('\n');
+ var line = '';
+ var i = 1;
+ var j = 1;
+ var columnListLine = -1;
+ var queryName = '';
+ var columnList = '';
+ var q = '';
+ var row = '';
+
+ for(i; i <= arrayLen(lines); i ++ ){
+ line = trim(lines[i]);
+
+ //to do: simply ignore blank lines or lines with only whitespace.
+ //if ( refind ( line, '^[[:space:]]*$' ) ) continue;
+
+ if(line != '' && queryName == '') {
+ queryName = line;
+ setQueryName(queryName);
+ columnListLine = i+1;
+ continue;
+ }
+
+ if(i == columnListLine) {
+ columnList = line;
+ q = queryNew(columnList);
+ continue;
+ }
+
+ if(line != ''){
+ row = line.split("\|");
+ queryAddRow(q);
+ for(j=1; j <= arrayLen(row); j++){
+ if(j <= listLen(columnList)) querySetCell(q, listGetAt(columnList,j) ,row[j]);
+ }
+ continue;
+ }
+
+ }//end for()
+
+ return q;
+ } //end parse()
+
+
+ function setQueryName(qName){
+ local.queryName = qName;
+ }
+
+</cfscript>
+<cfsetting enablecfoutputonly="No">
Please sign in to comment.
Something went wrong with that request. Please try again.