Revision: 10113
          http://sourceforge.net/p/languagetool/code/10113
Author:   jaumeortola
Date:     2013-05-18 08:44:54 +0000 (Sat, 18 May 2013)
Log Message:
-----------
Prevent out of bounds exception in UppercasSentenceStartRule.

Modified Paths:
--------------
    
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/UppercaseSentenceStartRule.java
    
trunk/languagetool/languagetool-core/src/test/java/org/languagetool/rules/UppercaseSentenceStartRuleTest.java

Modified: 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/UppercaseSentenceStartRule.java
===================================================================
--- 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/UppercaseSentenceStartRule.java
   2013-05-18 08:34:08 UTC (rev 10112)
+++ 
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/UppercaseSentenceStartRule.java
   2013-05-18 08:44:54 UTC (rev 10113)
@@ -119,7 +119,8 @@
     lastParagraphString = lastToken;
     
     //allows enumeration with lowercase letters: a), iv., etc.
-    if (NUMERALS_EN.matcher(tokens[matchTokenPos].getToken()).matches()
+    if (matchTokenPos+1 < tokens.length
+        && NUMERALS_EN.matcher(tokens[matchTokenPos].getToken()).matches()
         && (tokens[matchTokenPos+1].getToken().equals(".")
             || tokens[matchTokenPos+1].getToken().equals(")"))) {
           preventError = true;

Modified: 
trunk/languagetool/languagetool-core/src/test/java/org/languagetool/rules/UppercaseSentenceStartRuleTest.java
===================================================================
--- 
trunk/languagetool/languagetool-core/src/test/java/org/languagetool/rules/UppercaseSentenceStartRuleTest.java
       2013-05-18 08:34:08 UTC (rev 10112)
+++ 
trunk/languagetool/languagetool-core/src/test/java/org/languagetool/rules/UppercaseSentenceStartRuleTest.java
       2013-05-18 08:44:54 UTC (rev 10113)
@@ -46,6 +46,9 @@
     assertEquals(0, matches.length);
     matches = rule.match(langTool.getAnalyzedSentence("This is a test 
sentence"));
     assertEquals(0, matches.length);
+    matches = rule.match(langTool.getAnalyzedSentence(""));
+    assertEquals(0, matches.length);
+   
     
     // incorrect sentences:
     matches = rule.match(langTool.getAnalyzedSentence("this is a test 
sentence."));
@@ -56,6 +59,8 @@
     assertEquals(1, matches.length);
     assertEquals(0, matches[0].getFromPos());
     assertEquals(4, matches[0].getToPos());
+    matches = rule.match(langTool.getAnalyzedSentence("'a"));
+    assertEquals(1, matches.length);
        
   }
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
Languagetool-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-commits

Reply via email to