Title: [181205] trunk/Source/WebInspectorUI
- Revision
- 181205
- Author
- commit-qu...@webkit.org
- Date
- 2015-03-06 22:10:36 -0800 (Fri, 06 Mar 2015)
Log Message
Web Inspector: JS Pretty Printing: "case" or "default" outside of switch causes unbalanced indentation
https://bugs.webkit.org/show_bug.cgi?id=142428
Patch by Joseph Pecoraro <pecor...@apple.com> on 2015-03-06
Reviewed by Timothy Hatcher.
* Tools/PrettyPrinting/CodeMirrorFormatters.js:
* UserInterface/Views/CodeMirrorFormatters.js:
Fix "case" and "default" indentation rules to only happen inside a switch.
* Tools/PrettyPrinting/js-tests/switch-case-default-expected.js:
* Tools/PrettyPrinting/js-tests/switch-case-default.js:
Add tests for "case" and "default" nested inside and outside of switches.
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (181204 => 181205)
--- trunk/Source/WebInspectorUI/ChangeLog 2015-03-07 04:19:07 UTC (rev 181204)
+++ trunk/Source/WebInspectorUI/ChangeLog 2015-03-07 06:10:36 UTC (rev 181205)
@@ -1,5 +1,20 @@
2015-03-06 Joseph Pecoraro <pecor...@apple.com>
+ Web Inspector: JS Pretty Printing: "case" or "default" outside of switch causes unbalanced indentation
+ https://bugs.webkit.org/show_bug.cgi?id=142428
+
+ Reviewed by Timothy Hatcher.
+
+ * Tools/PrettyPrinting/CodeMirrorFormatters.js:
+ * UserInterface/Views/CodeMirrorFormatters.js:
+ Fix "case" and "default" indentation rules to only happen inside a switch.
+
+ * Tools/PrettyPrinting/js-tests/switch-case-default-expected.js:
+ * Tools/PrettyPrinting/js-tests/switch-case-default.js:
+ Add tests for "case" and "default" nested inside and outside of switches.
+
+2015-03-06 Joseph Pecoraro <pecor...@apple.com>
+
Web Inspector: ES6: Improved Support for Iterator Objects
https://bugs.webkit.org/show_bug.cgi?id=142420
Modified: trunk/Source/WebInspectorUI/Tools/PrettyPrinting/CodeMirrorFormatters.js (181204 => 181205)
--- trunk/Source/WebInspectorUI/Tools/PrettyPrinting/CodeMirrorFormatters.js 2015-03-07 04:19:07 UTC (rev 181204)
+++ trunk/Source/WebInspectorUI/Tools/PrettyPrinting/CodeMirrorFormatters.js 2015-03-07 06:10:36 UTC (rev 181205)
@@ -137,7 +137,13 @@
indentAfterToken: function(lastToken, lastContent, token, state, content, isComment)
{
- return content === "{" || content === "case" || content === "default";
+ if (content === "{")
+ return true;
+
+ if (content === "case" || content === "default")
+ return state.lexical.type === "}" && state.lexical.prev && state.lexical.prev.type === "form"; // Switch case/default.
+
+ return false;
},
newlineBeforeToken: function(lastToken, lastContent, token, state, content, isComment)
Modified: trunk/Source/WebInspectorUI/Tools/PrettyPrinting/js-tests/switch-case-default-expected.js (181204 => 181205)
--- trunk/Source/WebInspectorUI/Tools/PrettyPrinting/js-tests/switch-case-default-expected.js 2015-03-07 04:19:07 UTC (rev 181204)
+++ trunk/Source/WebInspectorUI/Tools/PrettyPrinting/js-tests/switch-case-default-expected.js 2015-03-07 06:10:36 UTC (rev 181205)
@@ -1,8 +1,17 @@
+function Ctor1() {
+ this.case = 1;
+ this.something = 2;
+}
+function Ctor2() {
+ this.default = 1;
+ this.something = 2;
+}
+
switch (x) {
case "abc":
- return 1;
+ return this.default;
case "def":
- return 2;
+ return this.case;
default:
return 3;
}
Modified: trunk/Source/WebInspectorUI/Tools/PrettyPrinting/js-tests/switch-case-default.js (181204 => 181205)
--- trunk/Source/WebInspectorUI/Tools/PrettyPrinting/js-tests/switch-case-default.js 2015-03-07 04:19:07 UTC (rev 181204)
+++ trunk/Source/WebInspectorUI/Tools/PrettyPrinting/js-tests/switch-case-default.js 2015-03-07 06:10:36 UTC (rev 181205)
@@ -1,5 +1,8 @@
-switch(x){case "abc":return 1;case "def":return 2;default:return 3;}
+function Ctor1(){this.case=1;this.something=2;}
+function Ctor2(){this.default=1;this.something=2;}
+switch(x){case "abc":return this.default;case "def":return this.case;default:return 3;}
+
switch(x){
case "abc":
return 1;
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js (181204 => 181205)
--- trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js 2015-03-07 04:19:07 UTC (rev 181204)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorFormatters.js 2015-03-07 06:10:36 UTC (rev 181205)
@@ -137,7 +137,13 @@
indentAfterToken: function(lastToken, lastContent, token, state, content, isComment)
{
- return content === "{" || content === "case" || content === "default";
+ if (content === "{")
+ return true;
+
+ if (content === "case" || content === "default")
+ return state.lexical.type === "}" && state.lexical.prev && state.lexical.prev.type === "form"; // Switch case/default.
+
+ return false;
},
newlineBeforeToken: function(lastToken, lastContent, token, state, content, isComment)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes