diff options
Diffstat (limited to 'clang/unittests/Format/FormatTest.cpp')
-rw-r--r-- | clang/unittests/Format/FormatTest.cpp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 80072b5ab57..a959bcbe55c 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -4873,5 +4873,80 @@ TEST_F(FormatTest, ConfigurationRoundTripTest) { EXPECT_EQ(Style, ParsedStyle); } +TEST_F(FormatTest, WorksFor8bitEncodings) { + EXPECT_EQ("\"\xce\xe4\xed\xe0\xe6\xe4\xfb \xe2 \"\n" + "\"\xf1\xf2\xf3\xe4\xb8\xed\xf3\xfe \"\n" + "\"\xe7\xe8\xec\xed\xfe\xfe \"\n" + "\"\xef\xee\xf0\xf3...\"", + format("\"\xce\xe4\xed\xe0\xe6\xe4\xfb \xe2 " + "\xf1\xf2\xf3\xe4\xb8\xed\xf3\xfe \xe7\xe8\xec\xed\xfe\xfe " + "\xef\xee\xf0\xf3...\"", + getLLVMStyleWithColumns(12))); +} + +TEST_F(FormatTest, CountsUTF8CharactersProperly) { + verifyFormat("\"Однажды в студёную зимнюю пору...\"", + getLLVMStyleWithColumns(35)); + verifyFormat("\"一 二 三 四 五 六 七 八 九 十\"", + getLLVMStyleWithColumns(21)); + verifyFormat("// Однажды в студёную зимнюю пору...", + getLLVMStyleWithColumns(36)); + verifyFormat("// 一 二 三 四 五 六 七 八 九 十", + getLLVMStyleWithColumns(22)); + verifyFormat("/* Однажды в студёную зимнюю пору... */", + getLLVMStyleWithColumns(39)); + verifyFormat("/* 一 二 三 四 五 六 七 八 九 十 */", + getLLVMStyleWithColumns(25)); +} + +TEST_F(FormatTest, SplitsUTF8Strings) { + EXPECT_EQ( + "\"Однажды, в \"\n" + "\"студёную \"\n" + "\"зимнюю \"\n" + "\"пору,\"", + format("\"Однажды, в студёную зимнюю пору,\"", + getLLVMStyleWithColumns(13))); + EXPECT_EQ("\"一 二 三 四 \"\n" + "\"五 六 七 八 \"\n" + "\"九 十\"", + format("\"一 二 三 四 五 六 七 八 九 十\"", + getLLVMStyleWithColumns(10))); +} + +TEST_F(FormatTest, SplitsUTF8LineComments) { + EXPECT_EQ("// Я из лесу\n" + "// вышел; был\n" + "// сильный\n" + "// мороз.", + format("// Я из лесу вышел; был сильный мороз.", + getLLVMStyleWithColumns(13))); + EXPECT_EQ("// 一二三\n" + "// 四五六七\n" + "// 八\n" + "// 九 十", + format("// 一二三 四五六七 八 九 十", getLLVMStyleWithColumns(6))); +} + +TEST_F(FormatTest, SplitsUTF8BlockComments) { + EXPECT_EQ("/* Гляжу,\n" + " * поднимается\n" + " * медленно в\n" + " * гору\n" + " * Лошадка,\n" + " * везущая\n" + " * хворосту\n" + " * воз. */", + format("/* Гляжу, поднимается медленно в гору\n" + " * Лошадка, везущая хворосту воз. */", + getLLVMStyleWithColumns(13))); + EXPECT_EQ("/* 一二三\n" + " * 四五六七\n" + " * 八\n" + " * 九 十\n" + " */", + format("/* 一二三 四五六七 八 九 十 */", getLLVMStyleWithColumns(6))); +} + } // end namespace tooling } // end namespace clang |