From 79dc7afd87a97a42df595a8ef043dd028291f676 Mon Sep 17 00:00:00 2001 From: Ben Blank Date: Sat, 16 Jun 2012 11:03:56 -0700 Subject: [PATCH 1/4] don't barf on paths without spaces (resolves jsdoc3#115) --- jsdoc.cmd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jsdoc.cmd b/jsdoc.cmd index 0744b884..b4f5bbc6 100644 --- a/jsdoc.cmd +++ b/jsdoc.cmd @@ -10,11 +10,13 @@ SET _BASEPATH=%_BASEPATH:~0,-1% REM for whatever reason, Rhino requires module paths to be valid URIs SET _URLPATH=file:/%_BASEPATH% +IF "%_URLPATH%"=="%_URLPATH: =%" GOTO NO_SPACES :ESCAPE_SPACE SET _TRAILING=%_URLPATH:* =% CALL SET _URLPATH=%%_URLPATH: %_TRAILING%=%% SET _URLPATH=%_URLPATH%%%20%_TRAILING% IF NOT "%_URLPATH%"=="%_URLPATH: =%" GOTO ESCAPE_SPACE +:NO_SPACES java -classpath "%_BASEPATH%/lib/js.jar" org.mozilla.javascript.tools.shell.Main -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %* --dirname="%_BASEPATH%/ From e7dd88da46eff7d085b1a0063a0355d31adc3dbd Mon Sep 17 00:00:00 2001 From: Ben Blank Date: Sat, 16 Jun 2012 11:06:19 -0700 Subject: [PATCH 2/4] restore parity between `jsdoc` and `jsdoc.cmd` --- jsdoc | 2 -- jsdoc.cmd | 16 ++++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/jsdoc b/jsdoc index dd161e05..d31d0072 100755 --- a/jsdoc +++ b/jsdoc @@ -23,5 +23,3 @@ else # normal mode should be quiet java -classpath ${BASEDIR}/lib/js.jar ${CMD} -modules ${BASEDIR}/node_modules -modules ${BASEDIR}/rhino_modules -modules ${BASEDIR} ${BASEDIR}/jsdoc.js --dirname=${BASEDIR} $@ fi - -#java -classpath ${BASEDIR}/lib/js.jar ${CMD} -modules ${BASEDIR}/node_modules -modules ${BASEDIR}/rhino_modules -modules ${BASEDIR} ${BASEDIR}/jsdoc.js --dirname=${BASEDIR} $@ \ No newline at end of file diff --git a/jsdoc.cmd b/jsdoc.cmd index b4f5bbc6..3d8937dd 100644 --- a/jsdoc.cmd +++ b/jsdoc.cmd @@ -18,8 +18,20 @@ SET _URLPATH=%_URLPATH%%%20%_TRAILING% IF NOT "%_URLPATH%"=="%_URLPATH: =%" GOTO ESCAPE_SPACE :NO_SPACES -java -classpath "%_BASEPATH%/lib/js.jar" org.mozilla.javascript.tools.shell.Main -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %* --dirname="%_BASEPATH%/ +IF [%1]==[--debug] ( + ECHO Running Debug + SET CMD=org.mozilla.javascript.tools.debugger.Main -debug + SHIFT +) ELSE ( + SET CMD=org.mozilla.javascript.tools.shell.Main +) -REM java -classpath "%_BASEPATH%/lib/js.jar" org.mozilla.javascript.tools.debugger.Main -debug -modules "%_URLPATH%/node_modules/" -modules "%_URLPATH%/rhino_modules/" -modules "%_URLPATH%/" "%_BASEPATH%/jsdoc.js" %* --dirname="%_BASEPATH%/ +IF [%1]==[-T] ( + ECHO Running Tests + java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -opt -1 -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %* --dirname="%_BASEPATH%/ +) ELSE ( + REM normal mode should be quiet + java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %* --dirname="%_BASEPATH%/ +) ENDLOCAL From 378572ae3243cf2a3bbd7604f57ba66a337dee2d Mon Sep 17 00:00:00 2001 From: Ben Blank Date: Sat, 16 Jun 2012 14:13:24 -0700 Subject: [PATCH 3/4] `SHIFT` doesn't seeem to affect `%*` --- jsdoc.cmd | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/jsdoc.cmd b/jsdoc.cmd index 3d8937dd..96db593b 100644 --- a/jsdoc.cmd +++ b/jsdoc.cmd @@ -21,17 +21,25 @@ IF NOT "%_URLPATH%"=="%_URLPATH: =%" GOTO ESCAPE_SPACE IF [%1]==[--debug] ( ECHO Running Debug SET CMD=org.mozilla.javascript.tools.debugger.Main -debug + + REM `SHIFT` doesn't affect %* + :COLLECT_ARGS + IF [%2]==[] GOTO LAST_ARG + SET ARGS=%ARGS% %2 SHIFT + GOTO COLLECT_ARGS ) ELSE ( SET CMD=org.mozilla.javascript.tools.shell.Main + SET ARGS=%* ) +:LAST_ARG IF [%1]==[-T] ( ECHO Running Tests - java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -opt -1 -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %* --dirname="%_BASEPATH%/ + java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -opt -1 -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %ARGS% --dirname="%_BASEPATH%/ ) ELSE ( REM normal mode should be quiet - java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %* --dirname="%_BASEPATH%/ + java -classpath "%_BASEPATH%/lib/js.jar" %CMD% -modules "%_URLPATH%/node_modules" -modules "%_URLPATH%/rhino_modules" -modules "%_URLPATH%" "%_BASEPATH%/jsdoc.js" %ARGS% --dirname="%_BASEPATH%/ ) ENDLOCAL From a3c2147e17f4c103d9cded19457b208f4ee11bd1 Mon Sep 17 00:00:00 2001 From: Ben Blank Date: Sat, 16 Jun 2012 15:41:31 -0700 Subject: [PATCH 4/4] make allowances for Windows-style paths when testing --- node_modules/wrench/wrench.js | 2 +- test/jasmine-jsdoc.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/node_modules/wrench/wrench.js b/node_modules/wrench/wrench.js index 592aa6fe..7cf90892 100644 --- a/node_modules/wrench/wrench.js +++ b/node_modules/wrench/wrench.js @@ -49,7 +49,7 @@ exports.readdirSyncRecursive = function(baseDir) { // convert absolute paths to relative var fileList = readdirSyncRecursive(baseDir).map(function(val){ - return val.replace(baseDir + '/', ''); + return val.replace(/\\/g, '/').replace(baseDir + '/', ''); }); return fileList; diff --git a/test/jasmine-jsdoc.js b/test/jasmine-jsdoc.js index 51213ca9..eac659c9 100644 --- a/test/jasmine-jsdoc.js +++ b/test/jasmine-jsdoc.js @@ -15,7 +15,7 @@ jasmine.loadHelpersInFolder = function(folder, matcher) { helpers = helperCollection.getSpecs(); for ( var i = 0, len = helpers.length; i < len; ++i) { var file = helpers[i].path(); - var helper = require(file.replace(/\.*$/, "")); + var helper = require(file.replace(/\\/g, '/').replace(new RegExp('^' + __dirname + '/'), "").replace(/\.*$/, "")); for (var key in helper) { this[key] = helper[key]; @@ -79,7 +79,7 @@ jasmine.executeSpecsInFolder = function(folder, done, verbose, matcher) { var specsList = specs.getSpecs(); for ( var i = 0, len = specsList.length; i < len; ++i) { var filename = specsList[i]; - require(filename.path().replace(/\.\w+$/, "")); + require(filename.path().replace(/\\/g, '/').replace(new RegExp('^' + __dirname + '/'), "").replace(/\.\w+$/, "")); } //Run Jasmine