From f34ead9986476c94199f6bd843c394169bf67319 Mon Sep 17 00:00:00 2001 From: Mike111177 Date: Fri, 1 Dec 2017 00:41:14 -0500 Subject: [PATCH] fix: tokenizer should ignore spaces at the beginning of the argString (#106) --- lib/tokenize-arg-string.js | 2 ++ test/tokenize-arg-string.js | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/tokenize-arg-string.js b/lib/tokenize-arg-string.js index 70154425..6c8d23ef 100644 --- a/lib/tokenize-arg-string.js +++ b/lib/tokenize-arg-string.js @@ -2,6 +2,8 @@ module.exports = function (argString) { if (Array.isArray(argString)) return argString + argString = argString.trim() + var i = 0 var prevC = null var c = null diff --git a/test/tokenize-arg-string.js b/test/tokenize-arg-string.js index 63ad2954..2f7cffcc 100644 --- a/test/tokenize-arg-string.js +++ b/test/tokenize-arg-string.js @@ -39,8 +39,10 @@ describe('TokenizeArgString', function () { args[2].should.equal('--bar=foo "bar"') }) - it('multiple spaces only counted in quotes', function () { - var args = tokenizeArgString('foo bar "foo bar"') + // https://github.com/yargs/yargs-parser/pull/100 + // https://github.com/yargs/yargs-parser/pull/106 + it('ignores unneeded spaces', function () { + var args = tokenizeArgString(' foo bar "foo bar" ') args[0].should.equal('foo') expect(args[1]).equal('bar') expect(args[2]).equal('foo bar')