Use static_cast<char> in HTTPBalsaFrameTest.GibberishInHeadersAndTrailer.

Otherwise compilation fails on platforms with signed char with the following
error:
"constant expression evaluates to 138 which cannot be narrowed to type 'char' [-Wc++11-narrowing]"

Also use StrCat() for more efficient and less verbose concatenation of strings.

PiperOrigin-RevId: 447556082
diff --git a/quiche/common/balsa/balsa_frame_test.cc b/quiche/common/balsa/balsa_frame_test.cc
index 86b1c9f..c05d990 100644
--- a/quiche/common/balsa/balsa_frame_test.cc
+++ b/quiche/common/balsa/balsa_frame_test.cc
@@ -3482,31 +3482,33 @@
 // Test gibberish in headers and trailer. GFE does not crash but garbage in
 // garbage out.
 TEST_F(HTTPBalsaFrameTest, GibberishInHeadersAndTrailer) {
-  const char kGibberish1[] = {138, 175, 233, 0};
-  const char kGibberish2[] = {'?', '?', 128, 255, 129, 254, 0};
+  // Use static_cast<char> for values exceeding SCHAR_MAX to make sure this
+  // compiles on platforms where char is signed.
+  const char kGibberish1[] = {static_cast<char>(138), static_cast<char>(175),
+                              static_cast<char>(233), 0};
+  const char kGibberish2[] = {'?',
+                              '?',
+                              static_cast<char>(128),
+                              static_cast<char>(255),
+                              static_cast<char>(129),
+                              static_cast<char>(254),
+                              0};
   const char kGibberish3[] = "foo: bar : eeep : baz";
 
-  std::string gibberish_headers;
-  gibberish_headers += kGibberish1;
-  gibberish_headers += ":";
-  gibberish_headers += kGibberish2;
-  gibberish_headers += "\r\n";
-  gibberish_headers += kGibberish3;
-  gibberish_headers += "\r\n";
+  std::string gibberish_headers =
+      absl::StrCat(kGibberish1, ":", kGibberish2, "\r\n", kGibberish3, "\r\n");
 
-  std::string headers =
+  std::string headers = absl::StrCat(
       "HTTP/1.1 200 OK\r\n"
-      "transfer-encoding: chunked\r\n";
-  headers += gibberish_headers;
-  headers += "\r\n";
+      "transfer-encoding: chunked\r\n",
+      gibberish_headers, "\r\n");
 
   std::string chunks =
       "3\r\n"
       "123\r\n"
       "0\r\n";
-  std::string trailer = "k: v\n";
-  trailer += gibberish_headers;
-  trailer += "\n";
+
+  std::string trailer = absl::StrCat("k: v\n", gibberish_headers, "\n");
 
   balsa_frame_.set_is_request(false);
   balsa_frame_.set_balsa_trailer(&trailer_);