=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== node-puka-1.0.1+dfsg/README.md-59-const arg = 'file with spaces.txt'; node-puka-1.0.1+dfsg/README.md:60:execSync(sh`some-command ${arg}`); node-puka-1.0.1+dfsg/README.md-61-``` ############################################## node-puka-1.0.1+dfsg/README.md-113-const title = '"this" & "that"'; node-puka-1.0.1+dfsg/README.md:114:sh`script --title=${title}`; // => "script '--title=\"this\" & \"that\"'" node-puka-1.0.1+dfsg/README.md-115-// Note: these examples show results for non-Windows platforms. ############################################## node-puka-1.0.1+dfsg/README.md-119-const names = ['file1', 'file 2']; node-puka-1.0.1+dfsg/README.md:120:sh`rimraf ${names}.txt`; // => "rimraf file1.txt 'file 2.txt'" node-puka-1.0.1+dfsg/README.md-121- ############################################## node-puka-1.0.1+dfsg/README.md-123-const cmd2 = ['use-input', '-abc']; node-puka-1.0.1+dfsg/README.md:124:sh`${cmd1}|${cmd2}`; // => "cat 'file 1.txt' 'file 2.txt'|use-input -abc" node-puka-1.0.1+dfsg/README.md-125-``` ############################################## node-puka-1.0.1+dfsg/README.md-146-const both = true; node-puka-1.0.1+dfsg/README.md:147:sh`foo ${unquoted(both ? '&&' : '||')} bar`; // => 'foo && bar' node-puka-1.0.1+dfsg/README.md-148-``` ############################################## node-puka-1.0.1+dfsg/README.md-166-console.log('cmd' + args.map(a => ' ' + quoteForShell(a)).join('')); node-puka-1.0.1+dfsg/README.md:167:console.log(sh`cmd ${args}`); // same as above node-puka-1.0.1+dfsg/README.md-168- node-puka-1.0.1+dfsg/README.md-169-console.log('cmd' + args.map(a => ' ' + quoteForShell(a, true)).join('')); node-puka-1.0.1+dfsg/README.md:170:console.log(sh`cmd "${args}"`); // same as above node-puka-1.0.1+dfsg/README.md-171-``` ############################################## node-puka-1.0.1+dfsg/README.md-272- double quotes, or any of the special characters node-puka-1.0.1+dfsg/README.md:273: ``# $ & ( ) ; < > \ ` |``; node-puka-1.0.1+dfsg/README.md-274-- quotations, which are matching single or double quotes surrounding any node-puka-1.0.1+dfsg/README.md-275- characters other than the delimiting quote; and node-puka-1.0.1+dfsg/README.md:276:- placeholders, using the standard JavaScript template syntax (`${}`). node-puka-1.0.1+dfsg/README.md-277- (Placeholders may also appear inside quotations.) node-puka-1.0.1+dfsg/README.md-278- node-puka-1.0.1+dfsg/README.md:279:The special characters ``# $ & ( ) ; < > \ ` |``, if unquoted, form their own node-puka-1.0.1+dfsg/README.md-280-words. ############################################## node-puka-1.0.1+dfsg/README.md-292-```javascript node-puka-1.0.1+dfsg/README.md:293:sh`echo "${'single = \', double = "'}"` // => "echo 'single = '\\'', double = \"'" node-puka-1.0.1+dfsg/README.md-294-``` ############################################## node-puka-1.0.1+dfsg/README.md-324-```javascript node-puka-1.0.1+dfsg/README.md:325:sh`script --file="${'herp derp'}.txt"`; // => "script --file='herp derp.txt'" node-puka-1.0.1+dfsg/README.md-326-``` ############################################## node-puka-1.0.1+dfsg/README.md-332-const words = ['oneword', 'two words']; node-puka-1.0.1+dfsg/README.md:333:sh`minimal ${words[0]}`; // => "minimal oneword" node-puka-1.0.1+dfsg/README.md:334:sh`minimal ${words[1]}`; // => "minimal 'two words'" node-puka-1.0.1+dfsg/README.md:335:sh`consistent '${words[0]}'`; // => "consistent 'oneword'" node-puka-1.0.1+dfsg/README.md:336:sh`consistent '${words[1]}'`; // => "consistent 'two words'" node-puka-1.0.1+dfsg/README.md-337-``` ############################################## node-puka-1.0.1+dfsg/README.md-347-const files = ['foo', 'bar']; node-puka-1.0.1+dfsg/README.md:348:sh`script ${files}`; // => "script foo bar" node-puka-1.0.1+dfsg/README.md:349:sh`script --file=${files}`; // => "script --file=foo --file=bar" node-puka-1.0.1+dfsg/README.md:350:sh`script --file=${[]}`; // => "script" node-puka-1.0.1+dfsg/README.md-351-``` ############################################## node-puka-1.0.1+dfsg/README.md-357-const cmd = ['script', 'foo', 'bar']; node-puka-1.0.1+dfsg/README.md:358:sh`${cmd}|another-script`; // => "script foo bar|another-script" node-puka-1.0.1+dfsg/README.md-359-``` ############################################## node-puka-1.0.1+dfsg/README.md-365-// Same word node-puka-1.0.1+dfsg/README.md:366:sh`... ${names}.${exts}`; // => "... foo.log foo.txt bar.log bar.txt" node-puka-1.0.1+dfsg/README.md:367:sh`... "${names} ${exts}"`; // => "... 'foo log' 'foo txt' 'bar log' 'bar txt'" node-puka-1.0.1+dfsg/README.md-368- node-puka-1.0.1+dfsg/README.md-369-// Not the same word (extra space just for emphasis): node-puka-1.0.1+dfsg/README.md:370:sh`... ${names} ${exts}`; // => "... foo bar log txt" node-puka-1.0.1+dfsg/README.md:371:sh`... ${names};${exts}`; // => "... foo bar;log txt" node-puka-1.0.1+dfsg/README.md-372-``` ############################################## node-puka-1.0.1+dfsg/README.md-377-```javascript node-puka-1.0.1+dfsg/README.md:378:sh`script > ${['foo', 'bar']}.txt`; // => "script > foo.txt > bar.txt" node-puka-1.0.1+dfsg/README.md:379:sh`script > ${[]}.txt`; // => "script" node-puka-1.0.1+dfsg/README.md-380-``` ############################################## node-puka-1.0.1+dfsg/README.md-389-const fields = ['foo', 'bar']; node-puka-1.0.1+dfsg/README.md:390:sh`${unquoted(cmd)} | json ${fields}`; // => "script < input.txt | json foo bar" node-puka-1.0.1+dfsg/README.md-391-``` ############################################## node-puka-1.0.1+dfsg/README.md-402-const url = 'http://example.com/data.json?x=1&y=2'; node-puka-1.0.1+dfsg/README.md:403:const curl = ShellString.sh`curl -L ${url}`; node-puka-1.0.1+dfsg/README.md-404-const fields = ['foo', 'bar']; node-puka-1.0.1+dfsg/README.md:405:sh`${curl} | json ${fields}`; // => "curl -L 'http://example.com/data.json?x=1&y=2' | json foo bar" node-puka-1.0.1+dfsg/README.md-406-``` ############################################## node-puka-1.0.1+dfsg/gulpfile.babel.js-58- return writeFile(path.join(dir, 'index.js'), node-puka-1.0.1+dfsg/gulpfile.babel.js:59: files.map(f => `export * from './${f.slice(0, -3)}';\n`).join('')); node-puka-1.0.1+dfsg/gulpfile.babel.js-60-}; ############################################## node-puka-1.0.1+dfsg/src/ShellString.secret.test.js-36-test("can redirect to a platform-appropriate /dev/null", t => { node-puka-1.0.1+dfsg/src/ShellString.secret.test.js:37: const cmd = sh`script > ${devNull}`; node-puka-1.0.1+dfsg/src/ShellString.secret.test.js-38- t.expect(cmd.toString('linux'), ############################################## node-puka-1.0.1+dfsg/src/ShellString.secret.test.js-45- const args = ['%test%']; node-puka-1.0.1+dfsg/src/ShellString.secret.test.js:46: const cmd = sh`script | ${exe(sh`node ${args}`)} | script`; node-puka-1.0.1+dfsg/src/ShellString.secret.test.js-47- t.expect(cmd.toString('linux'), ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-12- const nice = 'world'; node-puka-1.0.1+dfsg/src/ShellString.test.js:13: t.expect(sh`hello ${nice}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-14- "to be", 'hello world'); node-puka-1.0.1+dfsg/src/ShellString.test.js-15- const ugly = "don't go"; node-puka-1.0.1+dfsg/src/ShellString.test.js:16: t.expect(sh`hello ${ugly}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-17- "to be", "hello 'don'\\''t go'"); node-puka-1.0.1+dfsg/src/ShellString.test.js:18: t.expect(sh`hello ${''}`.toString('linux'), "to be", "hello ''"); node-puka-1.0.1+dfsg/src/ShellString.test.js-19- t.expect(sh`open "Alice's file.txt" -a 'Notepad'`.toString('linux'), ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-24- const nice = 'world'; node-puka-1.0.1+dfsg/src/ShellString.test.js:25: t.expect(sh`hello ${nice}`.toString('win32'), node-puka-1.0.1+dfsg/src/ShellString.test.js-26- "to be", 'hello world'); node-puka-1.0.1+dfsg/src/ShellString.test.js-27- const ugly = '"human"'; node-puka-1.0.1+dfsg/src/ShellString.test.js:28: t.expect(sh`hello ${ugly}`.toString('win32'), node-puka-1.0.1+dfsg/src/ShellString.test.js-29- "to be", 'hello ^^^"\\^^^"human\\^^^"^^^"'); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-44-test("absorb prefix into interpolation", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:45: t.expect(sh`--x=${'y z'}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-46- "to be", "'--x=y z'")); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-48-test("don't absorb prefix into unquoted", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:49: t.expect(sh`--w=${'x y'}${unquoted(' z')}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-50- "to be", "'--w=x y' z")); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-56-test("absorb suffix into interpolation", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:57: t.expect(sh`${'My Program'}.exe`.toString('win32'), node-puka-1.0.1+dfsg/src/ShellString.test.js-58- "to be", '"My Program.exe"')); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-64-test("don't absorb redirect", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:65: t.expect(sh`script <${'file name'}`.toString('win32'), node-puka-1.0.1+dfsg/src/ShellString.test.js-66- "to be", 'script <"file name"')); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-75-test("don't absorb pipe", t => { node-puka-1.0.1+dfsg/src/ShellString.test.js:76: t.expect(sh`script ${'file name'}|next-script`.toString('win32'), node-puka-1.0.1+dfsg/src/ShellString.test.js-77- "to be", 'script "file name"|next-script'); node-puka-1.0.1+dfsg/src/ShellString.test.js:78: t.expect(sh`script stuff|${['next', 'script']}`.toString('win32'), node-puka-1.0.1+dfsg/src/ShellString.test.js-79- "to be", 'script stuff|next script'); node-puka-1.0.1+dfsg/src/ShellString.test.js:80: t.expect(sh`script ${'file name'}|${'next script'}`.toString('win32'), node-puka-1.0.1+dfsg/src/ShellString.test.js-81- "to be", 'script "file name"|"next script"'); node-puka-1.0.1+dfsg/src/ShellString.test.js:82: t.expect(sh`script stuff|do-${['next', 'my script']}`.toString('win32'), node-puka-1.0.1+dfsg/src/ShellString.test.js-83- "to be", 'script stuff|do-next "do-my script"'); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-90-test("interpolation inside quotes", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:91: t.expect(sh`"quoted ${'spaced string'}"`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-92- "to be", "'quoted spaced string'")); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-94-test("unquoted", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:95: t.expect(sh`script ${unquoted('>')} file`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-96- "to be", 'script > file')); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-98-test("unquoted inside quotes", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:99: t.expect(sh`"${unquoted('x x')}"`.toString('win32'), "to be", '"x x"')); node-puka-1.0.1+dfsg/src/ShellString.test.js-100- ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-103- const cmdB = sh`script bar`; node-puka-1.0.1+dfsg/src/ShellString.test.js:104: t.expect(sh`${cmdA} | ${cmdB}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-105- "to be", 'script foo | script bar'); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-109- const cmdA = sh`why 'would' you`; node-puka-1.0.1+dfsg/src/ShellString.test.js:110: t.expect(sh`"${cmdA} want this"`.toString('win32'), node-puka-1.0.1+dfsg/src/ShellString.test.js-111- "to be", '^"why^ \\^"would\\^"^ you^ want^ this^"'); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-114-test("concatenating special values", t => { node-puka-1.0.1+dfsg/src/ShellString.test.js:115: t.expect(sh`boo${sh`"h o o"`}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-116- "to be", "boo'h o o'"); node-puka-1.0.1+dfsg/src/ShellString.test.js:117: t.expect(sh`boo${unquoted('h o o')}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-118- "to be", "booh o o"); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-121-test("can interpolate arrays", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:122: t.expect(sh`cat ${["file one", "file two"]}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-123- "to be", "cat 'file one' 'file two'")); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-125-test("can quote interpolated arrays", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:126: t.expect(sh`cat '${["file_one", "file_two"]}'`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-127- "to be", "cat 'file_one' 'file_two'")); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-129-test("can handle empty arrays", t => { node-puka-1.0.1+dfsg/src/ShellString.test.js:130: t.expect(sh`cat ${[]}`.toString('linux'), "to be", 'cat'); node-puka-1.0.1+dfsg/src/ShellString.test.js:131: t.expect(sh`cat '${[]}'`.toString('linux'), "to be", 'cat'); node-puka-1.0.1+dfsg/src/ShellString.test.js-132-}); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-134-test("arrays with affixes", t => { node-puka-1.0.1+dfsg/src/ShellString.test.js:135: t.expect(sh`script --file=${['foo', 'bar']}.txt`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-136- "to be", "script --file=foo.txt --file=bar.txt"); node-puka-1.0.1+dfsg/src/ShellString.test.js:137: t.expect(sh`script --file=${[]}.txt`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-138- "to be", "script"); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-141-test("multiple arrays", t => { node-puka-1.0.1+dfsg/src/ShellString.test.js:142: t.expect(sh`cat ${[]} ${['foo', 'bar']}.${['txt', 'log']}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-143- "to be", "cat foo.txt foo.log bar.txt bar.log"); node-puka-1.0.1+dfsg/src/ShellString.test.js:144: t.expect(sh`cat ${[]} ${['foo', 'bar']}.${[]}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-145- "to be", "cat"); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-149- const n = '0123456789'.split(''); node-puka-1.0.1+dfsg/src/ShellString.test.js:150: t.expect(() => sh`echo ${n}${n}${n}${n}${n}${n}${n}${n}`, node-puka-1.0.1+dfsg/src/ShellString.test.js-151- "to throw", new RangeError("Far too many elements to interpolate")); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-154-test("redirect with arrays", t => { node-puka-1.0.1+dfsg/src/ShellString.test.js:155: t.expect(sh`script < ${['foo', 'bar']}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-156- "to be", "script < foo < bar"); node-puka-1.0.1+dfsg/src/ShellString.test.js:157: t.expect(sh`script >>${['foo', 'bar']}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-158- "to be", "script >>foo >>bar"); node-puka-1.0.1+dfsg/src/ShellString.test.js:159: t.expect(sh`script<${['foo', 'bar']}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-160- "to be", "script<foo<bar"); node-puka-1.0.1+dfsg/src/ShellString.test.js:161: t.expect(sh`script < ${[]}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-162- "to be", "script"); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-165-test("numbered redirects", t => { node-puka-1.0.1+dfsg/src/ShellString.test.js:166: t.expect(sh`script 2> ${['foo', 'bar']}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-167- "to be", "script 2> foo 2> bar"); node-puka-1.0.1+dfsg/src/ShellString.test.js:168: t.expect(sh`script 2 > ${['foo', 'bar']}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-169- "to be", "script 2 > foo > bar"); node-puka-1.0.1+dfsg/src/ShellString.test.js:170: t.expect(sh`script2> ${['foo', 'bar']}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-171- "to be", "script2> foo> bar"); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-202- }; node-puka-1.0.1+dfsg/src/ShellString.test.js:203: t.expect(sh`script ${gen()}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-204- "to be", "script foo bar baz 'qu ux'"); ############################################## node-puka-1.0.1+dfsg/src/ShellString.test.js-207-test("non-string values", t => node-puka-1.0.1+dfsg/src/ShellString.test.js:208: t.expect(sh`${[null, void 0, true, [], {}]}`.toString('linux'), node-puka-1.0.1+dfsg/src/ShellString.test.js-209- "to be", "null undefined true '' '[object Object]'")); ############################################## node-puka-1.0.1+dfsg/src/internal/parse.js-159- throw new SyntaxError( node-puka-1.0.1+dfsg/src/internal/parse.js:160: `String is missing a ${String.fromCharCode(quote)} character`); node-puka-1.0.1+dfsg/src/internal/parse.js-161- } ############################################## node-puka-1.0.1+dfsg/src/internal/parse.js-171-const reQuotation2 = sticky('[^"]+'); node-puka-1.0.1+dfsg/src/internal/parse.js:172:const reText = sticky('[^\\s"#$&\'();<>\\\\`|]+|([#$&()\\\\`|]+)'); node-puka-1.0.1+dfsg/src/internal/parse.js-173-const reRedirectOrSpace = sticky('(\\s*\\d*[<>]+\\s*)|\\s+'); ############################################## node-puka-1.0.1+dfsg/src/internal/platform-sh.js-3- ? forceQuote || shMetaChars.test(text) node-puka-1.0.1+dfsg/src/internal/platform-sh.js:4: ? `'${text.replace(/'/g, "'\\''")}'` node-puka-1.0.1+dfsg/src/internal/platform-sh.js-5- .replace(/^(?:'')+(?!$)/, '') ############################################## node-puka-1.0.1+dfsg/src/internal/platform-win32.js-28- forceQuote || /[\t "]/.test(text) node-puka-1.0.1+dfsg/src/internal/platform-win32.js:29: ? `"${text.replace(/\\+(?=$|")/g, '$&$&').replace(/"/g, '\\"')}"` node-puka-1.0.1+dfsg/src/internal/platform-win32.js-30- : text; ############################################## node-puka-1.0.1+dfsg/src/internal/regex-utils.js-11- ? source => new RegExp(source, 'y') node-puka-1.0.1+dfsg/src/internal/regex-utils.js:12: : source => new RegExp(`^(?:${source})`); node-puka-1.0.1+dfsg/src/internal/regex-utils.js-13- ############################################## node-puka-1.0.1+dfsg/src/quoteForShell.js-11- * console.log('cmd' + args.map(a => ' ' + quoteForShell(a)).join('')); node-puka-1.0.1+dfsg/src/quoteForShell.js:12: * console.log(sh`cmd ${args}`); // same as above node-puka-1.0.1+dfsg/src/quoteForShell.js-13- * node-puka-1.0.1+dfsg/src/quoteForShell.js-14- * console.log('cmd' + args.map(a => ' ' + quoteForShell(a, true)).join('')); node-puka-1.0.1+dfsg/src/quoteForShell.js:15: * console.log(sh`cmd "${args}"`); // same as above node-puka-1.0.1+dfsg/src/quoteForShell.js-16- * ``` ############################################## node-puka-1.0.1+dfsg/src/sh.js-14- * const title = '"this" & "that"'; node-puka-1.0.1+dfsg/src/sh.js:15: * sh`script --title=${title}`; // => "script '--title=\"this\" & \"that\"'" node-puka-1.0.1+dfsg/src/sh.js-16- * // Note: these examples show results for non-Windows platforms. ############################################## node-puka-1.0.1+dfsg/src/sh.js-20- * const names = ['file1', 'file 2']; node-puka-1.0.1+dfsg/src/sh.js:21: * sh`rimraf ${names}.txt`; // => "rimraf file1.txt 'file 2.txt'" node-puka-1.0.1+dfsg/src/sh.js-22- * ############################################## node-puka-1.0.1+dfsg/src/sh.js-24- * const cmd2 = ['use-input', '-abc']; node-puka-1.0.1+dfsg/src/sh.js:25: * sh`${cmd1}|${cmd2}`; // => "cat 'file 1.txt' 'file 2.txt'|use-input -abc" node-puka-1.0.1+dfsg/src/sh.js-26- * ############################################## node-puka-1.0.1+dfsg/src/sh.test.js-25- ? ["to satisfy", cmp] node-puka-1.0.1+dfsg/src/sh.test.js:26: : ["to be", `${cmp}\n`]); node-puka-1.0.1+dfsg/src/sh.test.js-27- }); ############################################## node-puka-1.0.1+dfsg/src/sh.test.js-68- expect( node-puka-1.0.1+dfsg/src/sh.test.js:69: sh`expect-arg 0 ${file} ${arg}`, node-puka-1.0.1+dfsg/src/sh.test.js-70- "to output to stderr satisfying", allOk(1)))); ############################################## node-puka-1.0.1+dfsg/src/sh.test.js-116- return tempFile('ok\n', arg, file => t.expect( node-puka-1.0.1+dfsg/src/sh.test.js:117: sh`nodecat < ${file} | nodecat`, node-puka-1.0.1+dfsg/src/sh.test.js-118- "to output to stdout", 'ok')); ############################################## node-puka-1.0.1+dfsg/src/sh.test.js-123- return tempFile('ok\n', arg, file => t.expect( node-puka-1.0.1+dfsg/src/sh.test.js:124: sh`< ${file} nodecat | nodecat`, node-puka-1.0.1+dfsg/src/sh.test.js-125- "to output to stdout", 'ok')); ############################################## node-puka-1.0.1+dfsg/src/sh.test.js-131- await t.expect( node-puka-1.0.1+dfsg/src/sh.test.js:132: sh`echo-cli foo | nodecat > ${file} && echo-cli ok`, node-puka-1.0.1+dfsg/src/sh.test.js-133- "to output to stdout", 'ok'); ############################################## node-puka-1.0.1+dfsg/src/sh.test.js-141- await t.expect( node-puka-1.0.1+dfsg/src/sh.test.js:142: sh`echo-cli foo | > ${file} nodecat && echo-cli ok`, node-puka-1.0.1+dfsg/src/sh.test.js-143- "to output to stdout", 'ok'); ############################################## node-puka-1.0.1+dfsg/src/sh.test.js-164-for (const str of ['^', ' ']) { node-puka-1.0.1+dfsg/src/sh.test.js:165: test.serial(`can redirect ${JSON.stringify(str)} [spawn]`, t => node-puka-1.0.1+dfsg/src/sh.test.js-166- tempFile('foo', str, async file => { node-puka-1.0.1+dfsg/src/sh.test.js-167- for (const cmd of [ node-puka-1.0.1+dfsg/src/sh.test.js:168: sh`expect-arg 0 - foo < ${file}`, node-puka-1.0.1+dfsg/src/sh.test.js:169: sh`expect-arg 0 - foo < ${file} | nodecat`, node-puka-1.0.1+dfsg/src/sh.test.js:170: sh`(expect-arg 0 - foo < ${file} | nodecat) | nodecat`, node-puka-1.0.1+dfsg/src/sh.test.js-171- ]) { ############################################## node-puka-1.0.1+dfsg/src/sh.test.js-180- node-puka-1.0.1+dfsg/src/sh.test.js:181: test.serial(`can pipe ${printableArg} [spawn]`, ignoreLineBreakErrors(t => node-puka-1.0.1+dfsg/src/sh.test.js-182- tempFile(arg, file => node-puka-1.0.1+dfsg/src/sh.test.js-183- t.expect( node-puka-1.0.1+dfsg/src/sh.test.js:184: sh`expect-arg 0 ${file} ${arg} | expect-arg 1 ${file} ${arg}`, node-puka-1.0.1+dfsg/src/sh.test.js-185- "to output to stderr satisfying", allOk(2))))); node-puka-1.0.1+dfsg/src/sh.test.js-186- node-puka-1.0.1+dfsg/src/sh.test.js:187: test.serial(`can concatenate ${printableArg} [spawn]`, node-puka-1.0.1+dfsg/src/sh.test.js-188- ignoreLineBreakErrors(t => node-puka-1.0.1+dfsg/src/sh.test.js:189: tempFile(`${arg}-xxx`, file => node-puka-1.0.1+dfsg/src/sh.test.js-190- t.expect( node-puka-1.0.1+dfsg/src/sh.test.js:191: sh`expect-arg 0 ${file} ${arg}-xxx`, node-puka-1.0.1+dfsg/src/sh.test.js-192- "to output to stderr satisfying", allOk(1))))); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-19-test("pipes add carets on the right", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:20: t.expect(sh`foo | bar ${'"'}`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-21- "to be", 'foo | bar ^^^^^^^"\\^^^^^^^"^^^^^^^"')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-23-test("pipes add carets on the left", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:24: t.expect(sh`foo ${'"'} | bar`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-25- "to be", 'foo ^^^^^^^"\\^^^^^^^"^^^^^^^" | bar')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-27-test("more pipes add more carets", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:28: t.expect(sh`foo | (bar | baz ${'"'})`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-29- "to be", ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-32-test("unquoted pipes count", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:33: t.expect(sh`foo ${unquoted('|')} bar ${'"'}`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-34- "to be", 'foo | bar ^^^^^^^"\\^^^^^^^"^^^^^^^"')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-36-test("careted pipes don't count", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:37: t.expect(sh`foo ${unquoted('^|')} bar ${'"'}`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-38- "to be", 'foo ^| bar ^^^"\\^^^"^^^"')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-40-test("quoted pipes don't count", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:41: t.expect(sh`foo ${unquoted('"> | <"')} bar ${'"'}`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-42- "to be", 'foo "> | <" bar ^^^"\\^^^"^^^"')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-44-test("sequence operators don't count", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:45: t.expect(sh`foo || bar ${'"'}`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-46- "to be", 'foo || bar ^^^"\\^^^"^^^"')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-48-test("unmatched parentheses don't ruin everything", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:49: t.expect(sh`foo | bar); baz ${'"'}`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-50- "to be", 'foo | bar)& baz ^^^"\\^^^"^^^"')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-52-test("redirects count", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:53: t.expect(sh`foo | (bar > ${'%'} | baz)`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-54- "to be", 'foo | (bar > ^^^^^^^% | baz)')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-72-test("placeholder paths that need escaping get carets", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:73: t.expect(sh`${'C:\\example%\\example.bat'} %`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-74- "to be", 'C:\\example^%\\example.bat ^^^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-76-test("placeholder arguments don't affect argument escaping", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:77: t.expect(sh`foo % ${'%'} %`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-78- "to be", 'foo ^^^% ^^^% ^^^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-80-test("placeholder word parts don't affect argument escaping", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:81: t.expect(sh`foo%${['x', 'y']}% %${'z'}%`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-82- "to be", 'foo^%x^% foo^^^%y^^^% ^^^%z^^^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-84-test("placeholder pipes do affect argument escaping", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:85: t.expect(sh`foo % ${unquoted('|')} %`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-86- "to be", 'foo ^^^^^^^% | ^^^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-88-test("placeholder redirects do affect argument escaping", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:89: t.expect(sh`foo % ${unquoted('>')} %`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-90- "to be", 'foo ^^^% > ^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-92-test("placeholder redirects, multiple outputs, and argument escaping", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:93: t.expect(sh`foo % ${unquoted('>')}${['%', '%%']} %`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-94- "to be", 'foo ^^^% >^% >^%^% ^^^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-100-test("redirects to placeholders that start the command", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:101: t.expect(sh`> ${'%'} C:\\example%\\example.bat %`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-102- "to be", '> ^% C:\\example^%\\example.bat ^^^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-104-test("placeholder redirects that start the command", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:105: t.expect(sh`${unquoted('>')} % C:\\example%\\example.bat %`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-106- "to be", '> ^% C:\\example^%\\example.bat ^^^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-108-test("placeholder partial redirects that start the command", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:109: t.expect(sh`${unquoted('> foo')}% C:\\example%\\example.bat %`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-110- "to be", '> foo^% C:\\example^%\\example.bat ^^^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-112-test("placeholder completed redirects that start the command", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:113: t.expect(sh`${unquoted('> foo')} C:\\example%\\example.bat %`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-114- "to be", '> foo C:\\example^%\\example.bat ^^^%')); ############################################## node-puka-1.0.1+dfsg/src/sh.win32.test.js-116-test("placeholder completed redirects with command", t => node-puka-1.0.1+dfsg/src/sh.win32.test.js:117: t.expect(sh`${unquoted('> foo script')} C:\\example%\\example.bat`, node-puka-1.0.1+dfsg/src/sh.win32.test.js-118- "to be", '> foo script C:\\example^^^%\\example.bat')); ############################################## node-puka-1.0.1+dfsg/src/unquoted.js-14- * const both = true; node-puka-1.0.1+dfsg/src/unquoted.js:15: * sh`foo ${unquoted(both ? '&&' : '||')} bar`; // => 'foo && bar' node-puka-1.0.1+dfsg/src/unquoted.js-16- */ ############################################## node-puka-1.0.1+dfsg/test/doc-check.js-14-vm.runInContext( node-puka-1.0.1+dfsg/test/doc-check.js:15: `exports = require(${JSON.stringify(path.resolve('.'))})`, node-puka-1.0.1+dfsg/test/doc-check.js-16- packageContext); ############################################## node-puka-1.0.1+dfsg/test/doc-check.js-98- for (const example of exampleGroup) { node-puka-1.0.1+dfsg/test/doc-check.js:99: test(`[example ${i++}]`, t => { node-puka-1.0.1+dfsg/test/doc-check.js-100- if (example instanceof Error) {