aboutsummaryrefslogtreecommitdiff
path: root/unittests/Format/FormatTest.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2013-02-10 20:35:35 +0000
committerNico Weber <nicolasweber@gmx.de>2013-02-10 20:35:35 +0000
commitd74fcdb630dad817f5d462edd6d12bb95e3f27f1 (patch)
tree539c2ea1d77eb71e1b4d0942b2fb4a78ed2392ee /unittests/Format/FormatTest.cpp
parentf0c5456d7d6a9f74281011297d86cb3b1fa53cc1 (diff)
Formatter: Initial support for ObjC dictionary literals.
Before: @{ foo: bar } ; Now: @{ foo : bar }; parseBracedList() already does the right thing from an UnwrappedLineParser perspective, so check for "@{" in all loops that process constructs that can contain expressions and call parseBracedList() if found. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174840 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/Format/FormatTest.cpp')
-rw-r--r--unittests/Format/FormatTest.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index 4e44f5e650..6d434ca464 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -2546,9 +2546,21 @@ TEST_F(FormatTest, ObjCLiterals) {
"NSArray *array = @[ @\" Hey \", NSApp, [NSNumber numberWithInt:42] ];");
verifyFormat("return @[ @3, @[], @[ @4, @5 ] ];");
- // FIXME: Array and dictionary literals need more work.
verifyFormat("@{");
-
+ verifyFormat("@{}");
+ verifyFormat("@{ @\"one\" : @1 }");
+ verifyFormat("return @{ @\"one\" : @1 };");
+ verifyFormat("@{ @\"one\" : @1, }");
+ verifyFormat("@{ @\"one\" : @{ @2 : @1 } }");
+ verifyFormat("@{ @\"one\" : @{ @2 : @1 }, }");
+ verifyFormat("@{ 1 > 2 ? @\"one\" : @\"two\" : 1 > 2 ? @1 : @2 }");
+ verifyFormat("[self setDict:@{}");
+ verifyFormat("[self setDict:@{ @1 : @2 }");
+ verifyFormat("NSLog(@\"%@\", @{ @1 : @2, @2 : @3 }[@1]);");
+ verifyFormat(
+ "NSDictionary *masses = @{ @\"H\" : @1.0078, @\"He\" : @4.0026 };");
+
+ // FIXME: Nested and multi-line array and dictionary literals need more work.
}
TEST_F(FormatTest, ReformatRegionAdjustsIndent) {