From 3f7239142b1221de3b7b2ce7f5ca32ce03f67a14 Mon Sep 17 00:00:00 2001 From: Glenn Adams Date: Tue, 22 May 2012 18:26:15 +0000 Subject: [PATCH] Bugzilla #52144: Fix crash on use of version switch (-v). Submitted by Luis Bernardo. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1341585 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/fop/cli/CommandLineOptions.java | 5 ++++- status.xml | 3 +++ .../fop/cli/CommandLineOptionsTestCase.java | 20 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/java/org/apache/fop/cli/CommandLineOptions.java b/src/java/org/apache/fop/cli/CommandLineOptions.java index 08c4cfb68..7d5752d6d 100644 --- a/src/java/org/apache/fop/cli/CommandLineOptions.java +++ b/src/java/org/apache/fop/cli/CommandLineOptions.java @@ -357,8 +357,11 @@ public class CommandLineOptions { } else if (args[i].equals("-a")) { this.renderingOptions.put(Accessibility.ACCESSIBILITY, Boolean.TRUE); } else if (args[i].equals("-v")) { - /* Currently just print the version */ + /* verbose mode although users may expect version; currently just print the version */ printVersion(); + if (args.length == 1) { + return false; + } } else if (args[i].equals("-param")) { if (i + 2 < args.length) { String name = args[++i]; diff --git a/status.xml b/status.xml index 9b63c1d73..73ad014cf 100644 --- a/status.xml +++ b/status.xml @@ -63,6 +63,9 @@ documents. Example: the fix of marks layering will be such a case when it's done. --> + + Fix crash on use of version switch (-v). + Support fractional line widths in AFP renderer, fixing problem with SVG line drawing. diff --git a/test/java/org/apache/fop/cli/CommandLineOptionsTestCase.java b/test/java/org/apache/fop/cli/CommandLineOptionsTestCase.java index 5babab045..9a80fd964 100644 --- a/test/java/org/apache/fop/cli/CommandLineOptionsTestCase.java +++ b/test/java/org/apache/fop/cli/CommandLineOptionsTestCase.java @@ -22,6 +22,8 @@ package org.apache.fop.cli; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import java.io.IOException; + import org.apache.fop.apps.FOPException; import org.junit.Before; import org.junit.Test; @@ -49,4 +51,22 @@ public class CommandLineOptionsTestCase { assertEquals(clo.getOutputFormat(), "application/X-fop-print"); } + @Test + public void testVandVersionSwitchs() throws FOPException, IOException { + // test -v + String cl1 = "-v"; + String[] cmd1 = cl1.split(" "); + CommandLineOptions clo1 = new CommandLineOptions(); + assertTrue(!clo1.parse(cmd1)); + // test -version + String cl2 = "-version"; + String[] cmd2 = cl2.split(" "); + CommandLineOptions clo2 = new CommandLineOptions(); + assertTrue(!clo2.parse(cmd2)); + // test -v + more switches + String cl3 = "-v " + commandLine; + String[] cmd3 = cl3.split(" "); + CommandLineOptions clo3 = new CommandLineOptions(); + assertTrue(clo3.parse(cmd3)); + } } -- 2.39.5