From 4bd657160d987818b1f6db67ee51fa2b51a0ff20 Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Sun, 11 Jul 2010 17:55:22 -0400 Subject: [PATCH] fixing bug in option parsing with flagged arguments and cake. --- lib/optparse.js | 2 +- src/optparse.coffee | 2 +- test/test_option_parser.coffee | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/optparse.js b/lib/optparse.js index f2e9ff61..edfb425f 100755 --- a/lib/optparse.js +++ b/lib/optparse.js @@ -21,7 +21,7 @@ for (_c = 0, _e = _d.length; _c < _e; _c++) { rule = _d[_c]; if (rule.shortFlag === arg || rule.longFlag === arg) { - options[rule.name] = rule.hasArgument ? args[i + 1] : true; + options[rule.name] = rule.hasArgument ? args[i += 1] : true; matchedRule = true; break; } diff --git a/src/optparse.coffee b/src/optparse.coffee index b3979ab6..f3595ac1 100644 --- a/src/optparse.coffee +++ b/src/optparse.coffee @@ -30,7 +30,7 @@ exports.OptionParser: class OptionParser matchedRule: no for rule in @rules if rule.shortFlag is arg or rule.longFlag is arg - options[rule.name]: if rule.hasArgument then args[i + 1] else true + options[rule.name]: if rule.hasArgument then args[i: + 1] else true matchedRule: yes break throw new Error "unrecognized option: $arg" if isOption and not matchedRule diff --git a/test/test_option_parser.coffee b/test/test_option_parser.coffee index fe8bcfce..b46d059d 100644 --- a/test/test_option_parser.coffee +++ b/test/test_option_parser.coffee @@ -16,5 +16,5 @@ result: opt.parse ['--optional', '-r', 'folder', 'one', 'two'] ok result.optional is true ok result.required is 'folder' -ok result.arguments.join(' ') is 'folder one two' +ok result.arguments.join(' ') is 'one two'