|
From: <caw...@us...> - 2007-03-22 13:58:42
|
Revision: 2207
http://svn.sourceforge.net/rubyeclipse/?rev=2207&view=rev
Author: cawilliams
Date: 2007-03-22 06:58:39 -0700 (Thu, 22 Mar 2007)
Log Message:
-----------
add test for bug found by murphee (for lines that start with strings and end with a comment), and implement the fix.
Modified Paths:
--------------
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyTokenScanner.java
trunk/org.rubypeople.rdt.ui.tests/src/org/rubypeople/rdt/internal/ui/text/ruby/TC_RubyTokenScanner.java
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyTokenScanner.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyTokenScanner.java 2007-03-22 12:48:47 UTC (rev 2206)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyTokenScanner.java 2007-03-22 13:58:39 UTC (rev 2207)
@@ -147,6 +147,8 @@
@Override
public Token getToken(String key) {
+ if (key.equals(IRubyColorConstants.RUBY_SINGLE_LINE_COMMENT)) // if we know it's a comment, force it!
+ return super.getToken(key);
if (isInSymbol)
return super.getToken(IRubyColorConstants.RUBY_SYMBOL);
if (isInRegexp)
Modified: trunk/org.rubypeople.rdt.ui.tests/src/org/rubypeople/rdt/internal/ui/text/ruby/TC_RubyTokenScanner.java
===================================================================
--- trunk/org.rubypeople.rdt.ui.tests/src/org/rubypeople/rdt/internal/ui/text/ruby/TC_RubyTokenScanner.java 2007-03-22 12:48:47 UTC (rev 2206)
+++ trunk/org.rubypeople.rdt.ui.tests/src/org/rubypeople/rdt/internal/ui/text/ruby/TC_RubyTokenScanner.java 2007-03-22 13:58:39 UTC (rev 2207)
@@ -79,4 +79,25 @@
assertToken(IRubyColorConstants.RUBY_SINGLE_LINE_COMMENT, 80, 7);
}
+ public void testCommentAtEndOfLineWithStringAtBeginning() {
+ String code = "hash = {\n" +
+ " \"string\" => { # comment\n" +
+ " 123\n" +
+ " }\n" +
+ "}";
+ setUpScanner(code);
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 0, 4); // 'hash'
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 4, 2); // ' ='
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 6, 2); // ' {'
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 8, 4); // whitespace
+
+ assertToken(IRubyColorConstants.RUBY_STRING, 12, 6);
+ assertToken(IRubyColorConstants.RUBY_STRING, 18, 1);
+
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 19, 3);
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 22, 2);
+
+ assertToken(IRubyColorConstants.RUBY_SINGLE_LINE_COMMENT, 24, 10);
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|