aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/org/apache/fop/cli/CommandLineOptions.java2
-rw-r--r--status.xml3
-rw-r--r--test/java/org/apache/fop/cli/CommandLineOptionsTestCase.java52
3 files changed, 56 insertions, 1 deletions
diff --git a/src/java/org/apache/fop/cli/CommandLineOptions.java b/src/java/org/apache/fop/cli/CommandLineOptions.java
index bfcdb163e..08c4cfb68 100644
--- a/src/java/org/apache/fop/cli/CommandLineOptions.java
+++ b/src/java/org/apache/fop/cli/CommandLineOptions.java
@@ -588,7 +588,7 @@ public class CommandLineOptions {
private int parsePrintOutputOption(String[] args, int i) throws FOPException {
setOutputMode(MimeConstants.MIME_FOP_PRINT);
- if ((i + 1 <= args.length)
+ if ((i + 1 < args.length)
&& (args[i + 1].charAt(0) != '-')) {
String arg = args[i + 1];
String[] parts = arg.split(",");
diff --git a/status.xml b/status.xml
index 45ca2f352..5a5c2b2dd 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.
-->
<release version="FOP Trunk" date="TBD">
+ <action context="Config" dev="GA" type="fix" fixes-bug="53248" due-to="Luis Bernardo">
+ Fix exception thrown from use of -print option in CLI.
+ </action>
<action context="Docs" dev="GA" type="fix" fixes-bug="53247">
Fix renderer mime type for PCL output; should be application/x-pcl.
</action>
diff --git a/test/java/org/apache/fop/cli/CommandLineOptionsTestCase.java b/test/java/org/apache/fop/cli/CommandLineOptionsTestCase.java
new file mode 100644
index 000000000..5babab045
--- /dev/null
+++ b/test/java/org/apache/fop/cli/CommandLineOptionsTestCase.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id: CommandLineOptions.java 1293736 2012-02-26 02:29:01Z gadams $ */
+
+package org.apache.fop.cli;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.fop.apps.FOPException;
+import org.junit.Before;
+import org.junit.Test;
+
+public class CommandLineOptionsTestCase {
+
+ private final CommandLineOptions clo = new CommandLineOptions();
+ private final String commandLine = "-fo examples/fo/basic/simple.fo -print";
+ private String[] cmd;
+ private boolean parsed;
+
+ @Before
+ public void setUp() throws Exception {
+ cmd = commandLine.split(" ");
+ parsed = clo.parse(cmd);
+ }
+
+ @Test
+ public void testParse() {
+ assertTrue(parsed);
+ }
+
+ @Test
+ public void testGetOutputFormat() throws FOPException {
+ assertEquals(clo.getOutputFormat(), "application/X-fop-print");
+ }
+
+}