From a7f1b37afd5b7a814960a4d6e78589b3aa3839a2 Mon Sep 17 00:00:00 2001 From: Simon Steiner Date: Tue, 3 Apr 2018 10:20:45 +0000 Subject: [PATCH] FOP-2781: Use unique id for links in merged IF git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1828214 13f79535-47bb-0310-9956-ffa450edef68 --- .../intermediate/extensions/URIAction.java | 1 + .../intermediate/URIActionTestCase.java | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 fop-core/src/test/java/org/apache/fop/render/intermediate/URIActionTestCase.java diff --git a/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/URIAction.java b/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/URIAction.java index 45e7563b2..a9a9e7bbc 100644 --- a/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/URIAction.java +++ b/fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/URIAction.java @@ -45,6 +45,7 @@ public class URIAction extends AbstractAction implements DocumentNavigationExten } this.uri = uri; this.newWindow = newWindow; + setID(getIDPrefix() + (uri + newWindow).hashCode()); } /** diff --git a/fop-core/src/test/java/org/apache/fop/render/intermediate/URIActionTestCase.java b/fop-core/src/test/java/org/apache/fop/render/intermediate/URIActionTestCase.java new file mode 100644 index 000000000..d6c30d4c7 --- /dev/null +++ b/fop-core/src/test/java/org/apache/fop/render/intermediate/URIActionTestCase.java @@ -0,0 +1,35 @@ +/* + * 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$ */ +package org.apache.fop.render.intermediate; + +import org.junit.Assert; +import org.junit.Test; + +import org.apache.fop.render.intermediate.extensions.URIAction; + +public class URIActionTestCase { + @Test + public void testID() { + URIAction action = new URIAction("uri", true); + URIAction action2 = new URIAction("uri", true); + URIAction action3 = new URIAction("uri2", true); + Assert.assertEquals(action.getID(), action2.getID()); + Assert.assertFalse(action.getID().equals(action3.getID())); + } +} -- 2.39.5