Index: modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicArrowButtonTest.java =================================================================== --- modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicArrowButtonTest.java (revision 490707) +++ modules/swing/src/test/api/java/common/javax/swing/plaf/basic/BasicArrowButtonTest.java (working copy) @@ -21,6 +21,9 @@ package javax.swing.plaf.basic; import java.awt.Dimension; +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; + import javax.swing.SwingConstants; import javax.swing.SwingTestCase; @@ -54,4 +57,19 @@ public void testFocusTraversable() throws Exception { assertFalse(button.isFocusTraversable()); } + + /** + * Regression test for HARMONY-2707 + * */ + private static final int INCORRECT_DIRECTION = 10; + + public void testPaintTriangle() { + try { + Graphics2D g2D = new BufferedImage(6, 6, BufferedImage.TYPE_INT_RGB).createGraphics(); + BasicArrowButton ab = new BasicArrowButton(0); + ab.paintTriangle(g2D, 0, 0, 0, INCORRECT_DIRECTION, true); + } catch (NullPointerException e) { + fail("NPE thrown"); + } + } }