You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by sp...@apache.org on 2010/12/17 11:57:18 UTC

svn commit: r1050342 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java test/layoutengine/standard-testcases/inline_hyphenation_border.xml

Author: spepping
Date: Fri Dec 17 10:57:18 2010
New Revision: 1050342

URL: http://svn.apache.org/viewvc?rev=1050342&view=rev
Log:
Auxiliary positions do not have an index value; fixing this in InlineStackingLM.applyChanges, rewrapping positions; fixed bug 49870

Added:
    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/inline_hyphenation_border.xml   (with props)
Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java?rev=1050342&r1=1050341&r2=1050342&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java Fri Dec 17 10:57:18 2010
@@ -339,8 +339,11 @@ public abstract class InlineStackingLayo
         oldListIterator = oldList.listIterator();
         while (oldListIterator.hasNext()) {
             oldElement = (KnuthElement) oldListIterator.next();
-            oldElement.setPosition
-                (notifyPos(new NonLeafPosition(this, oldElement.getPosition())));
+            NonLeafPosition newPos = new NonLeafPosition(this, oldElement.getPosition());
+            if (newPos.generatesAreas()) {
+                notifyPos(newPos);
+            }
+            oldElement.setPosition(newPos);
         }
         return bSomethingChanged;
     }

Added: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/inline_hyphenation_border.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/inline_hyphenation_border.xml?rev=1050342&view=auto
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/inline_hyphenation_border.xml (added)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/inline_hyphenation_border.xml Fri Dec 17 10:57:18 2010
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+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$ -->
+<testcase>
+  <info>
+    <p>
+      This test checks whether the border is properly rendered with
+      hyphenation. I effectively checks whether
+      InlineStackingLM.applyChanges rewraps the positions properly.
+    </p>
+  </info>
+  <fo>
+	<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+	  <fo:layout-master-set>
+		<fo:simple-page-master master-name="normal" page-width="210mm" page-height="297mm">
+		  <fo:region-body/>
+		</fo:simple-page-master>
+	  </fo:layout-master-set>
+	  <fo:page-sequence master-reference="normal">
+		<fo:flow flow-name="xsl-region-body">
+		  <fo:block hyphenate="true" language="en">
+			<fo:inline border-color="#000000" border-style="solid" border-width="1pt">Test</fo:inline>
+		  </fo:block>
+		</fo:flow>
+	  </fo:page-sequence>
+	</fo:root>
+  </fo>
+  <checks>
+    <eval expected="(solid,#000000,1000)" xpath="//flow/block[1]/lineArea/inlineparent/@border-start"/>
+    <eval expected="(solid,#000000,1000)" xpath="//flow/block[1]/lineArea/inlineparent/@border-end"/>
+    <eval expected="(solid,#000000,1000)" xpath="//flow/block[1]/lineArea/inlineparent/@border-before"/>
+    <eval expected="(solid,#000000,1000)" xpath="//flow/block[1]/lineArea/inlineparent/@border-after"/>
+  </checks>
+</testcase>

Propchange: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/inline_hyphenation_border.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/inline_hyphenation_border.xml
------------------------------------------------------------------------------
    svn:keywords = Id



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org


Re: svn commit: r1050342 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/layoutmgr/inline/InlineStackingLayoutManager.java test/layoutengine/standard-testcases/inline_hyphenation_border.xml

Posted by Andreas Delmelle <an...@telenet.be>.
On 17 Dec 2010, at 11:57, spepping@apache.org wrote:


Hi Simon

Very minor nit. Sorry to be so late with this, but I was just reviewing some of last month's commits and ran into this one:

> Author: spepping
> Date: Fri Dec 17 10:57:18 2010
> New Revision: 1050342
> 
> URL: http://svn.apache.org/viewvc?rev=1050342&view=rev
> Log:
> Auxiliary positions do not have an index value; fixing this in InlineStackingLM.applyChanges, rewrapping positions; fixed bug 49870
> 
> Added:
>    xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/inline_hyphenation_border.xml   (with props)

I believe the testcase actually belongs in '...test/layoutengine/hyphenation-testcases', which will only be run if hyphenation support is present. Putting tests that depend on hyphenation under 'standard-testcases' could lead to 'failures' due to hyphenation being inactive (which could send unsuspecting committers on a wild-goose chase).

I must admit I have not checked in detail whether the end-result is actually affected by the presence of hyphenation support. If that is so, my remark can be safely ignored.

 
Regards

Andreas