Title: [206911] trunk/Tools
Revision
206911
Author
jbed...@apple.com
Date
2016-10-07 08:00:57 -0700 (Fri, 07 Oct 2016)

Log Message

Style Checking Error when Objective C Blocks passed as Argument
https://bugs.webkit.org/show_bug.cgi?id=162463

Reviewed by Darin Adler.

* Scripts/webkitpy/style/checkers/cpp.py:
(regex_for_lambdas_and_blocks): Consider case where block is passed as a function argument.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_objective_c_block_as_argument): Test case where block is passed as a function argument.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (206910 => 206911)


--- trunk/Tools/ChangeLog	2016-10-07 12:50:21 UTC (rev 206910)
+++ trunk/Tools/ChangeLog	2016-10-07 15:00:57 UTC (rev 206911)
@@ -1,3 +1,15 @@
+2016-10-07  Jonathan Bedard  <jbed...@apple.com>
+
+        Style Checking Error when Objective C Blocks passed as Argument
+        https://bugs.webkit.org/show_bug.cgi?id=162463
+
+        Reviewed by Darin Adler.
+
+        * Scripts/webkitpy/style/checkers/cpp.py:
+        (regex_for_lambdas_and_blocks): Consider case where block is passed as a function argument.
+        * Scripts/webkitpy/style/checkers/cpp_unittest.py:
+        (CppStyleTest.test_objective_c_block_as_argument): Test case where block is passed as a function argument. 
+
 2016-10-07  Philippe Normand  <pnorm...@igalia.com>
 
         [GTK] Docs build failure

Modified: trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py (206910 => 206911)


--- trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py	2016-10-07 12:50:21 UTC (rev 206910)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/cpp.py	2016-10-07 15:00:57 UTC (rev 206911)
@@ -1244,7 +1244,7 @@
 
 def regex_for_lambdas_and_blocks(line, line_number, file_state, error):
     cpp_result = search(r'\s\[.*?\]\s', line)
-    objc_result = search(r'(\s\^\s?\(.*?\)\s|\^\s?\{)', line)
+    objc_result = search(r'(\s\^\s?\(.*?\)\s|\^\s?\{|:\^\s?\(.*?\)\s\{)', line)
     if cpp_result:
         group = cpp_result.group()
         targ_error = None

Modified: trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py (206910 => 206911)


--- trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py	2016-10-07 12:50:21 UTC (rev 206910)
+++ trunk/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py	2016-10-07 15:00:57 UTC (rev 206911)
@@ -1905,6 +1905,11 @@
         self.assert_lint('        ^{', 'No space between ^ and block definition.  [whitespace/brackets] [4]', 'foo.m')
         self.assert_lint('        ^ (arg1, arg2) {', 'Extra space between ^ and block arguments.  [whitespace/brackets] [4]', 'foo.m')
 
+    def test_objective_c_block_as_argument(self):
+        self.assert_lint('        withLambda:^(var, var_ref) {', '', 'foo.mm')
+        self.assert_lint('        withLambda:^ {', '', 'foo.m')
+        self.assert_lint('        withLambda:^{', 'No space between ^ and block definition.  [whitespace/brackets] [4]', 'foo.m')
+
     def test_spacing_around_else(self):
         self.assert_lint('}else {', 'Missing space before else'
                          '  [whitespace/braces] [5]')
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to