|
From: <caw...@us...> - 2007-06-11 17:35:12
|
Revision: 2597
http://svn.sourceforge.net/rubyeclipse/?rev=2597&view=rev
Author: cawilliams
Date: 2007-06-11 10:35:10 -0700 (Mon, 11 Jun 2007)
Log Message:
-----------
add tests and code to fix Trac #4326
Modified Paths:
--------------
trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/formatter/OldCodeFormatter.java
trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/formatter/FormatTestData.xml
trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/formatter/TC_CodeFormatter.java
Modified: trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/formatter/OldCodeFormatter.java
===================================================================
--- trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/formatter/OldCodeFormatter.java 2007-06-11 16:23:39 UTC (rev 2596)
+++ trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/formatter/OldCodeFormatter.java 2007-06-11 17:35:10 UTC (rev 2597)
@@ -8,6 +8,7 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.text.edits.ReplaceEdit;
import org.eclipse.text.edits.TextEdit;
+import org.jruby.ast.NextNode;
import org.rubypeople.rdt.core.RubyCore;
import org.rubypeople.rdt.core.formatter.CodeFormatter;
import org.rubypeople.rdt.core.formatter.DefaultCodeFormatterConstants;
@@ -316,6 +317,10 @@
}
if (lastBlockMarker != null) {
+ if (!lastBlockMarker.getKeyword().equals("begin") && newBlockMarker.getKeyword().equals("rescue")) {
+ // we have a rescue modifier?
+ continue;
+ }
lastBlockMarker.setNext(newBlockMarker);
}
lastBlockMarker = newBlockMarker;
Modified: trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/formatter/FormatTestData.xml
===================================================================
--- trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/formatter/FormatTestData.xml 2007-06-11 16:23:39 UTC (rev 2596)
+++ trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/formatter/FormatTestData.xml 2007-06-11 17:35:10 UTC (rev 2597)
@@ -633,7 +633,48 @@
</part>
</test>
+<test ID="RescueModifier">
+<part>
+<assertionMessage>Rescue Modifier</assertionMessage>
+<unformatted>
+class A
+ var = do_something rescue nil
+foo
+end
+</unformatted>
+<formatted>
+class A
+ var = do_something rescue nil
+ foo
+end
+</formatted>
+</part>
+<part>
+<assertionMessage>Rescue Modifier With Previous Block</assertionMessage>
+<unformatted>
+class A
+ begin
+do_something
+ rescue
+yeah
+ end
+ var = do_something rescue nil
+foo
+end
+</unformatted>
+<formatted>
+class A
+ begin
+ do_something
+ rescue
+ yeah
+ end
+ var = do_something rescue nil
+ foo
+end
+</formatted>
+</part>
+</test>
-
</tests>
Modified: trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/formatter/TC_CodeFormatter.java
===================================================================
--- trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/formatter/TC_CodeFormatter.java 2007-06-11 16:23:39 UTC (rev 2596)
+++ trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/formatter/TC_CodeFormatter.java 2007-06-11 17:35:10 UTC (rev 2597)
@@ -132,4 +132,8 @@
this.doTest("NegativeIndentation");
}
+ public void testRescueModifier() {
+ doTest("RescueModifier");
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|