コード例 #1
0
/**
 * Test escaping.
 */
void StringUtilsTest::testEscape() {
  string s1 = "foo\"";
  Escape(&s1);
  OLA_ASSERT_EQ(string("foo\\\""), s1);

  s1 = "he said \"foo\"";
  Escape(&s1);
  OLA_ASSERT_EQ(string("he said \\\"foo\\\""), s1);

  s1 = "backslash\\test";
  Escape(&s1);
  OLA_ASSERT_EQ(string("backslash\\\\test"), s1);

  s1 = "newline\ntest";
  Escape(&s1);
  OLA_ASSERT_EQ(string("newline\\ntest"), s1);

  s1 = "tab\ttest";
  Escape(&s1);
  OLA_ASSERT_EQ(string("tab\\ttest"), s1);

  s1 = "one\"two\\three/four\bfive\fsix\nseven\reight\tnine";
  Escape(&s1);
  OLA_ASSERT_EQ(
      string("one\\\"two\\\\three\\/four\\bfive\\fsix\\nseven\\reight\\tnine"),
      s1);

  s1 = "one\"two\\three/four\bfive\fsix\nseven\reight\tnine";
  string result = EscapeString(s1);
  OLA_ASSERT_EQ(
      string("one\\\"two\\\\three\\/four\\bfive\\fsix\\nseven\\reight\\tnine"),
      result);
}