[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