Do not quote YAML plain string myself. Let YAMLIO do that.
authorRui Ueyama <ruiu@google.com>
Wed, 11 Sep 2013 04:00:35 +0000 (04:00 +0000)
committerRui Ueyama <ruiu@google.com>
Wed, 11 Sep 2013 04:00:35 +0000 (04:00 +0000)
llvm-svn: 190486

clang/include/clang/Tooling/ReplacementsYaml.h
clang/unittests/Tooling/ReplacementsYamlTest.cpp

index 0bef5ed..18d3259 100644 (file)
@@ -29,10 +29,7 @@ namespace yaml {
 /// \brief ScalarTraits to read/write std::string objects.
 template <> struct ScalarTraits<std::string> {
   static void output(const std::string &Val, void *, llvm::raw_ostream &Out) {
-    // We need to put quotes around the string to make sure special characters
-    // in the string is not treated as YAML tokens.
-    std::string NormalizedVal = std::string("\"") + Val + std::string("\"");
-    Out << NormalizedVal;
+    Out << Val;
   }
 
   static StringRef input(StringRef Scalar, void *, std::string &Val) {
index 627002a..a20dde7 100644 (file)
@@ -36,34 +36,34 @@ TEST(ReplacementsYamlTest, serializesReplacements) {
 
   // NOTE: If this test starts to fail for no obvious reason, check whitespace.
   ASSERT_STREQ("---\n"
-               "MainSourceFile:  \"/path/to/source.cpp\"\n"
-               "Context:         \"some context\"\n"
+               "MainSourceFile:  /path/to/source.cpp\n"
+               "Context:         some context\n"
                "Replacements:    \n" // Extra whitespace here!
-               "  - FilePath:        \"/path/to/file1.h\"\n"
+               "  - FilePath:        /path/to/file1.h\n"
                "    Offset:          232\n"
                "    Length:          56\n"
-               "    ReplacementText: \"replacement #1\"\n"
-               "  - FilePath:        \"/path/to/file2.h\"\n"
+               "    ReplacementText: 'replacement #1'\n"
+               "  - FilePath:        /path/to/file2.h\n"
                "    Offset:          301\n"
                "    Length:          2\n"
-               "    ReplacementText: \"replacement #2\"\n"
+               "    ReplacementText: 'replacement #2'\n"
                "...\n",
                YamlContentStream.str().c_str());
 }
 
 TEST(ReplacementsYamlTest, deserializesReplacements) {
   std::string YamlContent = "---\n"
-                            "MainSourceFile:      \"/path/to/source.cpp\"\n"
-                            "Context:             \"some context\"\n"
+                            "MainSourceFile:      /path/to/source.cpp\n"
+                            "Context:             some context\n"
                             "Replacements:\n"
-                            "  - FilePath:        \"/path/to/file1.h\"\n"
+                            "  - FilePath:        /path/to/file1.h\n"
                             "    Offset:          232\n"
                             "    Length:          56\n"
-                            "    ReplacementText: \"replacement #1\"\n"
-                            "  - FilePath:        \"/path/to/file2.h\"\n"
+                            "    ReplacementText: 'replacement #1'\n"
+                            "  - FilePath:        /path/to/file2.h\n"
                             "    Offset:          301\n"
                             "    Length:          2\n"
-                            "    ReplacementText: \"replacement #2\"\n"
+                            "    ReplacementText: 'replacement #2'\n"
                             "...\n";
   TranslationUnitReplacements DocActual;
   yaml::Input YAML(YamlContent);
@@ -85,12 +85,12 @@ TEST(ReplacementsYamlTest, deserializesReplacements) {
 TEST(ReplacementsYamlTest, deserializesWithoutContext) {
   // Make sure a doc can be read without the context field.
   std::string YamlContent = "---\n"
-                            "MainSourceFile:      \"/path/to/source.cpp\"\n"
+                            "MainSourceFile:      /path/to/source.cpp\n"
                             "Replacements:\n"
-                            "  - FilePath:        \"target_file.h\"\n"
+                            "  - FilePath:        target_file.h\n"
                             "    Offset:          1\n"
                             "    Length:          10\n"
-                            "    ReplacementText: \"replacement\"\n"
+                            "    ReplacementText: replacement\n"
                             "...\n";
   TranslationUnitReplacements DocActual;
   yaml::Input YAML(YamlContent);