Skip to content

Commit 60956d4

Browse files
authored
feat-fix(dep-query): argument markers for stdout functions (#1336)
1 parent 2a6c9ed commit 60956d4

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/queries/catalog/dependencies-query/dependencies-query-format.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ export const ReadFunctions: FunctionInfo[] = [
8787
{ name: 'Import', argIdx: 0, argName: 'file' },
8888
] as const;
8989
export const WriteFunctions: FunctionInfo[] = [
90-
{ name: 'save', argIdx: 2, argName: 'file' },
91-
{ name: 'save.image', argIdx: 0, argName: 'file' },
90+
{ name: 'save', argName: 'file' },
91+
{ name: 'save.image', argIdx: 1, argName: 'file' },
9292
{ name: 'write', argIdx: 1, argName: 'file' },
9393
{ name: 'dput', argIdx: 1, argName: 'file' },
9494
{ name: 'dump', argIdx: 1, argName: 'file' },
@@ -97,7 +97,7 @@ export const WriteFunctions: FunctionInfo[] = [
9797
{ name: 'saveRDS', argIdx: 1, argName: 'file' },
9898
// write functions that don't have argIndex are assumed to write to stdout
9999
{ name: 'print', linkTo: 'sink' },
100-
{ name: 'cat', linkTo: 'sink', argIdx: 1, argName: 'file' },
100+
{ name: 'cat', linkTo: 'sink', argName: 'file' },
101101
{ name: 'message', linkTo: 'sink' },
102102
{ name: 'warning', linkTo: 'sink' },
103103
// readr

test/functionality/dataflow/query/dependencies-query.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ describe.sequential('Dependencies Query', withShell(shell => {
141141
testQuery('dump (argument)', 'dump(file="foo.txt", "foo")', { writtenData: [{ nodeId: '1@dump', functionName: 'dump', destination: 'foo.txt' }] });
142142
testQuery('cat', 'cat("Hello!")', { writtenData: [{ nodeId: '1@cat', functionName: 'cat', destination: 'stdout' }] });
143143
testQuery('cat with sink', 'sink("foo")\ncat("Hello!")', { writtenData: [{ nodeId: '2@cat', functionName: 'cat', destination: 'unknown', linkedIds: [3] }] });
144+
testQuery('cat', 'cat("Hello", "World")', { writtenData: [{ nodeId: '1@cat', functionName: 'cat', destination: 'stdout' }] });
145+
testQuery('cat', 'cat("Hello", "World", file="foo.txt")', { writtenData: [{ nodeId: '1@cat', functionName: 'cat', destination: 'foo.txt' }] });
144146

145147
testQuery('Unknown write', 'write.csv(data, file=u)', { writtenData: [{ nodeId: '1@write.csv', functionName: 'write.csv', destination: 'unknown', lexemeOfArgument: 'u' }] });
146148
testQuery('File save', 'save(foo,file="a.Rda")', { writtenData: [{ nodeId: '1@save', functionName: 'save', destination: 'a.Rda' }] });

0 commit comments

Comments
 (0)