title: Why using googletest PrintToStringParamName() to print test suffix not working?
body: <p>I wanna google test to show different suffix in parametrized test, my code is as following:</p>
  <pre><code>class CacheTestP
      : public ::testing::TestWithParam&lt;std::string&gt;
  {
  
  };
  
  TEST_P(CacheTestP, NewTest)
  {
  }
  
  vector&lt;string&gt; GetStrings()
  {
      vector&lt;string&gt; ret;
      ret.push_back(&quot;Insert&quot;s);
      ret.push_back(&quot;Query&quot;s);
      return ret;
  }
  
  INSTANTIATE_TEST_SUITE_P(Preffix, CacheTestP, ::testing::ValuesIn(GetStrings()), testing::PrintToStringParamName());
  </code></pre>
  <p>It seems that the function <code>PrintToStringParamName()</code> convert the std::string <code>Insert</code> into <code>\&quot;Insert\&quot;</code>, which is weird, because in their source code they clearly wrote:</p>
  <blockquote>
  <p>// The last argument to INSTANTIATE_TEST_SUITE_P allows the user to specify
  generator and an optional function or functor that generates custom test name
  suffixes based on the test parameters.</p>
  </blockquote>
  <blockquote>
  <p>// testing::PrintToStringParamName is a builtin test suffix generator that returns the value of testing::PrintToString(GetParam()).</p>
  </blockquote>
  <p>So why I did it wrongly? I think it supposes to work regarding to their comments.</p>