Author: sletellier Date: 2011-10-28 16:10:56 +0200 (Fri, 28 Oct 2011) New Revision: 623 Url: http://nuiton.org/repositories/revision/jrst/623 Log: #1788 Option argument not parsed Added: trunk/jrst/src/test/java/org/nuiton/jrst/bugs/OptionTest.java trunk/jrst/src/test/resources/bugs/testOptionArgumentSize1788.rst Modified: trunk/jrst/src/main/java/org/nuiton/jrst/JRSTLexer.java Modified: trunk/jrst/src/main/java/org/nuiton/jrst/JRSTLexer.java =================================================================== --- trunk/jrst/src/main/java/org/nuiton/jrst/JRSTLexer.java 2011-10-27 11:39:00 UTC (rev 622) +++ trunk/jrst/src/main/java/org/nuiton/jrst/JRSTLexer.java 2011-10-28 14:10:56 UTC (rev 623) @@ -764,7 +764,8 @@ option_argument = matcher.group().substring(1, matcher.group().length()); option.addAttribute(OPTIONARGUMENT, option_argument); - if (option_stringTmp.charAt(option_argument.length() + 1) == ',') { + int size = option_argument.length() + 1; + if (option_stringTmp.length() < size && option_stringTmp.charAt(size) == ',') { delimiter = ','; } else { done = true; Added: trunk/jrst/src/test/java/org/nuiton/jrst/bugs/OptionTest.java =================================================================== --- trunk/jrst/src/test/java/org/nuiton/jrst/bugs/OptionTest.java (rev 0) +++ trunk/jrst/src/test/java/org/nuiton/jrst/bugs/OptionTest.java 2011-10-28 14:10:56 UTC (rev 623) @@ -0,0 +1,43 @@ +package org.nuiton.jrst.bugs; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.nuiton.jrst.JRST; +import org.nuiton.jrst.JRSTCompareDocutils; + +import java.io.File; +import java.io.IOException; + +/** + * Test concernant les options. + * + * @author sletellier + */ +public class OptionTest { + + /** to use log facility, just put in your code: log.info(\"...\"); */ + private static Log log = LogFactory.getLog(AdmonitionTest.class); + + @BeforeClass + public static void beforeClass () throws IOException { + JRSTCompareDocutils.prepareTmpDir(); + } + + /** + * Test que les options des options dans des listes sont bien parsée + * parsées. + * + * @throws Exception + */ + @Test + public void testOptionArgumentSizeInList() throws Exception { + File in = new File("src/test/resources/bugs/testOptionArgumentSize1788.rst"); + File out = File.createTempFile("jrst-testOptionArgumentSize1788", ".html"); + JRST.generate(JRST.TYPE_HTML, in, out, JRST.Overwrite.ALLTIME); + } + +} Added: trunk/jrst/src/test/resources/bugs/testOptionArgumentSize1788.rst =================================================================== --- trunk/jrst/src/test/resources/bugs/testOptionArgumentSize1788.rst (rev 0) +++ trunk/jrst/src/test/resources/bugs/testOptionArgumentSize1788.rst 2011-10-28 14:10:56 UTC (rev 623) @@ -0,0 +1,2 @@ + +--import <file.zip>