This revision was automatically updated to reflect the committed changes. Closed by commit rL269282: clang-format: [JS] respect clang-format off when requoting strings. (authored by mprobst).
Changed prior to commit: http://reviews.llvm.org/D20200?vs=57014&id=57018#toc Repository: rL LLVM http://reviews.llvm.org/D20200 Files: cfe/trunk/lib/Format/Format.cpp cfe/trunk/unittests/Format/FormatTestJS.cpp Index: cfe/trunk/lib/Format/Format.cpp =================================================================== --- cfe/trunk/lib/Format/Format.cpp +++ cfe/trunk/lib/Format/Format.cpp @@ -1652,7 +1652,7 @@ for (FormatToken *FormatTok = Line->First; FormatTok; FormatTok = FormatTok->Next) { StringRef Input = FormatTok->TokenText; - if (!FormatTok->isStringLiteral() || + if (FormatTok->Finalized || !FormatTok->isStringLiteral() || // NB: testing for not starting with a double quote to avoid // breaking // `template strings`. Index: cfe/trunk/unittests/Format/FormatTestJS.cpp =================================================================== --- cfe/trunk/unittests/Format/FormatTestJS.cpp +++ cfe/trunk/unittests/Format/FormatTestJS.cpp @@ -1236,6 +1236,14 @@ // Code below fits into 15 chars *after* removing the \ escape. verifyFormat("var x = 'fo\"o';", "var x = \"fo\\\"o\";", getGoogleJSStyleWithColumns(15)); + verifyFormat("// clang-format off\n" + "let x = \"double\";\n" + "// clang-format on\n" + "let x = 'single';\n", + "// clang-format off\n" + "let x = \"double\";\n" + "// clang-format on\n" + "let x = \"single\";\n"); } TEST_F(FormatTestJS, RequoteStringsDouble) {
Index: cfe/trunk/lib/Format/Format.cpp =================================================================== --- cfe/trunk/lib/Format/Format.cpp +++ cfe/trunk/lib/Format/Format.cpp @@ -1652,7 +1652,7 @@ for (FormatToken *FormatTok = Line->First; FormatTok; FormatTok = FormatTok->Next) { StringRef Input = FormatTok->TokenText; - if (!FormatTok->isStringLiteral() || + if (FormatTok->Finalized || !FormatTok->isStringLiteral() || // NB: testing for not starting with a double quote to avoid // breaking // `template strings`. Index: cfe/trunk/unittests/Format/FormatTestJS.cpp =================================================================== --- cfe/trunk/unittests/Format/FormatTestJS.cpp +++ cfe/trunk/unittests/Format/FormatTestJS.cpp @@ -1236,6 +1236,14 @@ // Code below fits into 15 chars *after* removing the \ escape. verifyFormat("var x = 'fo\"o';", "var x = \"fo\\\"o\";", getGoogleJSStyleWithColumns(15)); + verifyFormat("// clang-format off\n" + "let x = \"double\";\n" + "// clang-format on\n" + "let x = 'single';\n", + "// clang-format off\n" + "let x = \"double\";\n" + "// clang-format on\n" + "let x = \"single\";\n"); } TEST_F(FormatTestJS, RequoteStringsDouble) {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits