File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -107,7 +107,7 @@ type argParam struct {
107
107
value * string
108
108
}
109
109
110
- var argRegExp * regexp.Regexp = regexp .MustCompile (`^\ s*['" ]?([^= '" ]+?)['" ]?\s*=\s*['" ]?(.*?)['" ]?\s*$` )
110
+ var argRegExp * regexp.Regexp = regexp .MustCompile ("^ \\ s*['\" ` ]?([^= '\" ` ]+?)['\" ` ]?\\ s*=\\ s*['\" ` ]?(.*?)['\" ` ]?\\ s*$" )
111
111
112
112
func parseArgs (params []argParam , args []string ) {
113
113
// It's quadratic but the number of arguments is small
Original file line number Diff line number Diff line change @@ -78,6 +78,22 @@ func TestArgumentParsing(t *testing.T) {
78
78
require .Equal (t , "true" , useHeaderStr )
79
79
})
80
80
81
+ t .Run ("Argument is escaped with backticks" , func (t * testing.T ) {
82
+ fileName = ""
83
+ useHeaderStr = ""
84
+ parseArgs (args , []string {`file=` + "`example.csv`" , `header=` + "`true`" })
85
+ require .Equal (t , "example.csv" , fileName )
86
+ require .Equal (t , "true" , useHeaderStr )
87
+ })
88
+
89
+ t .Run ("Name and arg is escaped with backticks" , func (t * testing.T ) {
90
+ fileName = ""
91
+ useHeaderStr = ""
92
+ parseArgs (args , []string {"`file`=`example.csv`" , "`header`=\" true\" " })
93
+ require .Equal (t , "example.csv" , fileName )
94
+ require .Equal (t , "true" , useHeaderStr )
95
+ })
96
+
81
97
}
82
98
83
99
func TestColumnNameRewriter (t * testing.T ) {
You can’t perform that action at this time.
0 commit comments