@@ -10,14 +10,14 @@ async function test(name, fn) {
10
10
11
11
async function run ( json , code = '' ) {
12
12
const { spawnSync} = await import ( 'node:child_process' )
13
- return spawnSync ( `echo '${ typeof json === 'string' ? json : JSON . stringify ( json ) } ' | node index.js ${ code } ` , {
13
+ return spawnSync ( `printf -- '${ typeof json === 'string' ? json : JSON . stringify ( json ) } ' | node index.js ${ code } ` , {
14
14
stdio : 'pipe' ,
15
15
encoding : 'utf8' ,
16
16
shell : true
17
17
} )
18
18
}
19
19
20
- async function runSimple ( code = '' ) {
20
+ async function runNoPipe ( code = '' ) {
21
21
const { spawnSync} = await import ( 'node:child_process' )
22
22
return spawnSync ( `node index.js ${ code } ` , {
23
23
stdio : 'pipe' ,
@@ -197,6 +197,11 @@ void async function main() {
197
197
t . equal ( stdout , 'string\n' )
198
198
} )
199
199
200
+ await test ( 'flags - raw reads entire input' , async t => {
201
+ const { stdout} = await run ( 'foo\bbar' , `-r` )
202
+ t . equal ( stdout , 'foo\bbar\n' )
203
+ } )
204
+
200
205
await test ( 'flags - slurp flag' , async t => {
201
206
const { stdout} = await run ( '{"foo": "bar"}\n{"foo": "baz"}' , `-s '.[1].foo'` )
202
207
t . equal ( stdout , 'baz\n' )
@@ -208,12 +213,12 @@ void async function main() {
208
213
} )
209
214
210
215
await test ( 'cli - first arg is file' , async t => {
211
- const { stdout} = await runSimple ( `package.json .name` )
216
+ const { stdout} = await runNoPipe ( `package.json .name` )
212
217
t . equal ( stdout , 'fx\n' )
213
218
} )
214
219
215
220
await test ( 'cli - last arg is file' , async t => {
216
- const { stdout} = await runSimple ( `.name package.json` )
221
+ const { stdout} = await runNoPipe ( `.name package.json` )
217
222
t . equal ( stdout , 'fx\n' )
218
223
} )
219
224
} ( )
0 commit comments