[OpenJDK 2D-Dev] [9] RFR: JDK-7107620, , Need to round in test java/awt/print/PageFormat/PageFormatFromAttributes.java
    prasanta sadhukhan 
    prasanta.sadhukhan at oracle.com
       
    Wed Mar 23 07:26:00 UTC 2016
    
    
  
Hi Phil,
Please review a simple fix for jdk9.
Bug: https://bugs.openjdk.java.net/browse/JDK-7107620
webrev: http://cr.openjdk.java.net/~psadhukhan/7107620/webrev.00/
It was seen width/height obtained by calculating via MediaSize/units is 
not same as obtained from Paper.getWIdth/getHeight().
It seems the testcase is storing the result of the calculations in "int" 
varible whereas MediaSize.getX()/getY() is "float" and units is "double" 
variable thereby resulting is loss of precision.
It was only seen in osx as osx returns a integer value for 
getWidth()/getHeight() ie 842 instead of ~841.889 maybe because it 
rounds off to nearest whereas MediaSize/units value is stored as 841 
when typecasted to int
resulting in failure.
Modified testcase to store in "double" to avoid loss of precision and 
use Math.round() to round off to nearest value before comparing these 2 
values (from MediaSize/units and getWidth/getHeight).
Tested in windows, linux, mac to be working.
Regards
Prasanta
    
    
More information about the 2d-dev
mailing list