TEST(fxcrt, ByteStringConcatInPlace) {
  CFX_ByteString fred;
  fred.ConcatInPlace(4, "FRED");
  EXPECT_EQ("FRED", fred);

  fred.ConcatInPlace(2, "DY");
  EXPECT_EQ("FREDDY", fred);

  fred.Delete(3, 3);
  EXPECT_EQ("FRE", fred);

  fred.ConcatInPlace(1, "D");
  EXPECT_EQ("FRED", fred);

  CFX_ByteString copy = fred;
  fred.ConcatInPlace(2, "DY");
  EXPECT_EQ("FREDDY", fred);
  EXPECT_EQ("FRED", copy);

  // Test invalid arguments.
  copy = fred;
  fred.ConcatInPlace(-6, "freddy");
  CFX_ByteString not_aliased("xxxxxx");
  EXPECT_EQ("FREDDY", fred);
  EXPECT_EQ("xxxxxx", not_aliased);
}