|
From: <caw...@us...> - 2007-03-27 19:52:47
|
Revision: 2234
http://svn.sourceforge.net/rubyeclipse/?rev=2234&view=rev
Author: cawilliams
Date: 2007-03-27 11:28:25 -0700 (Tue, 27 Mar 2007)
Log Message:
-----------
add test and fix for Ticket #249 - (Symbol syntax highlighting isn't terminated when inside square brackets)
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-27 15:28:03 UTC (rev 2233)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyTokenScanner.java 2007-03-27 18:28:25 UTC (rev 2234)
@@ -170,9 +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 == 10) /* Newline? */) {
- isInSymbol = false;
- if (i == 10)
+ || (i == Tokens.tBACK_REF2) || (i == Tokens.tTILDE) || (i == 10) /* Newline */
+ || ( i >= 257 && i <= 303) /* keywords */) {
+ isInSymbol = false; // we're at the end of the symbol
+ if (i == 10) // newline ends it and is actually default, not symbol
return getToken(IRubyColorConstants.RUBY_DEFAULT);
return getToken(IRubyColorConstants.RUBY_SYMBOL);
}
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-27 15:28:03 UTC (rev 2233)
+++ trunk/org.rubypeople.rdt.ui.tests/src/org/rubypeople/rdt/internal/ui/text/ruby/TC_RubyTokenScanner.java 2007-03-27 18:28:25 UTC (rev 2234)
@@ -121,8 +121,20 @@
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_DEFAULT, 27, 1); // '\n'
assertToken(IRubyColorConstants.RUBY_KEYWORD, 28, 5); // ' def'
assertToken(IRubyColorConstants.RUBY_DEFAULT, 33, 7); // ' method'
+ }
+
+ public void testSymbolInsideBrackets() {
+ String code = "test[:begin]";
+// test[:end] && test[:def] && other_code";
+ setUpScanner(code);
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 0, 4); // 'test'
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 4, 1); // '['
+ assertToken(IRubyColorConstants.RUBY_SYMBOL, 5, 1); // ' :'
+ assertToken(IRubyColorConstants.RUBY_SYMBOL, 6, 5); // 'begin'
+ assertToken(IRubyColorConstants.RUBY_DEFAULT, 11, 1); // ']'
}
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|