|
From: <caw...@us...> - 2006-08-19 23:28:37
|
Revision: 1571 Author: cawilliams Date: 2006-08-19 16:28:28 -0700 (Sat, 19 Aug 2006) ViewCVS: http://svn.sourceforge.net/rubyeclipse/?rev=1571&view=rev Log Message: ----------- Modified Paths: -------------- trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/core/builder/ShamMarkerManager.java Added Paths: ----------- trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/core/builder/TC_RubyLintVisitor.java Modified: trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/core/builder/ShamMarkerManager.java =================================================================== --- trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/core/builder/ShamMarkerManager.java 2006-08-19 23:28:22 UTC (rev 1570) +++ trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/core/builder/ShamMarkerManager.java 2006-08-19 23:28:28 UTC (rev 1571) @@ -11,8 +11,10 @@ import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; +import org.jruby.lexer.yacc.ISourcePosition; import org.jruby.lexer.yacc.SyntaxException; import org.rubypeople.eclipse.shams.resources.ShamFile; +import org.rubypeople.rdt.internal.core.parser.RdtPosition; import org.rubypeople.rdt.internal.core.util.ListUtil; public class ShamMarkerManager implements IMarkerManager { @@ -85,5 +87,12 @@ endOffsetArg = endOffset; } + public void createError(IFile file, String message, int startLine, int startOffset, int endOffset) { + fileArg = file; + ISourcePosition position = new RdtPosition(startLine, startOffset, endOffset); + SyntaxException e = new SyntaxException(position, message); + syntaxExceptionArg = e; + } + } \ No newline at end of file Added: trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/core/builder/TC_RubyLintVisitor.java =================================================================== --- trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/core/builder/TC_RubyLintVisitor.java (rev 0) +++ trunk/org.rubypeople.rdt.core.tests/src/org/rubypeople/rdt/internal/core/builder/TC_RubyLintVisitor.java 2006-08-19 23:28:28 UTC (rev 1571) @@ -0,0 +1,50 @@ +package org.rubypeople.rdt.internal.core.builder; + +import java.io.StringReader; +import java.util.ArrayList; +import java.util.List; + +import junit.framework.TestCase; + +import org.jruby.ast.Node; +import org.rubypeople.eclipse.shams.resources.ShamFile; +import org.rubypeople.rdt.core.IProblemRequestor; +import org.rubypeople.rdt.core.parser.IProblem; +import org.rubypeople.rdt.internal.core.parser.RubyLintVisitor; +import org.rubypeople.rdt.internal.core.parser.RubyParser; + +public class TC_RubyLintVisitor extends TestCase { + + class MockProblemRequestor implements IProblemRequestor { + List problems; + + public MockProblemRequestor() { + problems = new ArrayList(); + } + + public void acceptProblem(IProblem problem) { + problems.add(problem); + } + + public void beginReporting() { + } + + public void endReporting() { + } + + public boolean isActive() { + return false; + } + } + + public void testBlah() throws Exception { + String contents = "@var = 3 unless @blah"; + RubyParser parser = new RubyParser(); + Node rootNode = parser.parse(new ShamFile("fake/path.rb"), new StringReader(contents)); + MockProblemRequestor problemRequestor = new MockProblemRequestor(); + RubyLintVisitor visitor = new RubyLintVisitor(contents, + problemRequestor); + rootNode.accept(visitor); + assertEquals(1, problemRequestor.problems.size()); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |