Merge "bp2build/queryview: codegen control sequences literally."
This commit is contained in:
@@ -568,6 +568,13 @@ func isZero(value reflect.Value) bool {
|
|||||||
|
|
||||||
func escapeString(s string) string {
|
func escapeString(s string) string {
|
||||||
s = strings.ReplaceAll(s, "\\", "\\\\")
|
s = strings.ReplaceAll(s, "\\", "\\\\")
|
||||||
|
|
||||||
|
// b/184026959: Reverse the application of some common control sequences.
|
||||||
|
// These must be generated literally in the BUILD file.
|
||||||
|
s = strings.ReplaceAll(s, "\t", "\\t")
|
||||||
|
s = strings.ReplaceAll(s, "\n", "\\n")
|
||||||
|
s = strings.ReplaceAll(s, "\r", "\\r")
|
||||||
|
|
||||||
return strings.ReplaceAll(s, "\"", "\\\"")
|
return strings.ReplaceAll(s, "\"", "\\\"")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -239,6 +239,22 @@ func TestGenerateBazelTargetModules(t *testing.T) {
|
|||||||
"b",
|
"b",
|
||||||
],
|
],
|
||||||
string_prop = "a",
|
string_prop = "a",
|
||||||
|
)`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
bp: `custom {
|
||||||
|
name: "control_characters",
|
||||||
|
string_list_prop: ["\t", "\n"],
|
||||||
|
string_prop: "a\t\n\r",
|
||||||
|
bazel_module: { bp2build_available: true },
|
||||||
|
}`,
|
||||||
|
expectedBazelTarget: `custom(
|
||||||
|
name = "control_characters",
|
||||||
|
string_list_prop = [
|
||||||
|
"\t",
|
||||||
|
"\n",
|
||||||
|
],
|
||||||
|
string_prop = "a\t\n\r",
|
||||||
)`,
|
)`,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user