|
From: <caw...@us...> - 2007-03-27 15:28:06
|
Revision: 2233
http://svn.sourceforge.net/rubyeclipse/?rev=2233&view=rev
Author: cawilliams
Date: 2007-03-27 08:28:03 -0700 (Tue, 27 Mar 2007)
Log Message:
-----------
add test and fixe for symbols at the end of lines, also for when a single line is sent to scanner that has symbol at end.
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-26 20:11:08 UTC (rev 2232)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyTokenScanner.java 2007-03-27 15:28:03 UTC (rev 2233)
@@ -170,8 +170,10 @@
|| (i == Tokens.tPLUS) || (i == Tokens.tPIPE) || (i == Tokens.tCARET)
|| (i == Tokens.tLT) || (i == Tokens.tGT) || (i == Tokens.tAMPER)
|| (i == Tokens.tSTAR2) || (i == Tokens.tDIVIDE) || (i == Tokens.tPERCENT)
- || (i == Tokens.tBACK_REF2) || (i == Tokens.tTILDE)) {
+ || (i == Tokens.tBACK_REF2) || (i == Tokens.tTILDE) || (i == 10) /* Newline? */) {
isInSymbol = false;
+ if (i == 10)
+ return getToken(IRubyColorConstants.RUBY_DEFAULT);
return getToken(IRubyColorConstants.RUBY_SYMBOL);
}
if (i == Tokens.tASSOC || i == 44 /* ',' */) {
@@ -223,10 +225,10 @@
fSavedLength = -1;
fSavedToken = null;
fSavedOffset = -1;
+ isInSymbol = false;
if (offset == 0) {
isInRegexp = false;
isInString = false;
- isInSymbol = false;
}
try {
contents = document.get(offset, length);
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-26 20:11:08 UTC (rev 2232)
+++ trunk/org.rubypeople.rdt.ui.tests/src/org/rubypeople/rdt/internal/ui/text/ruby/TC_RubyTokenScanner.java 2007-03-27 15:28:03 UTC (rev 2233)
@@ -112,4 +112,17 @@
assertToken(IRubyColorConstants.RUBY_DEFAULT, 20, 7); // ' method'
}
+ public void testSymbolAtEndOfLine() {
+ String code = " helper_method :logged_in?\n" +
+ " def method\n" +
+ " \n" +
+ " end";
+ setUpScanner(code);
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 0, 15); // ' helper_method'
+ assertToken(IRubyColorConstants.RUBY_SYMBOL, 15, 2); // ' :'
+ assertToken(IRubyColorConstants.RUBY_SYMBOL, 17, 10); // 'logged_in?'
+ assertToken(IRubyColorConstants.RUBY_SYMBOL, 27, 1); // '\n'
+ assertToken(IRubyColorConstants.RUBY_KEYWORD, 28, 5); // ' def'
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 33, 7); // ' method'
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|