8134732: [TEST_BUG] Test java/awt/applet/Applet/AppletFlipBuffer.java fails on Windows with AWTException
Reviewed-by: azvegint, yan
--- a/jdk/test/java/awt/applet/Applet/AppletFlipBuffer.java Wed Oct 28 15:41:42 2015 +0300
+++ b/jdk/test/java/awt/applet/Applet/AppletFlipBuffer.java Wed Oct 28 16:42:49 2015 +0300
@@ -21,35 +21,72 @@
* questions.
*/
-/* @test
- @bug 8130390
- @summary Applet fails to launch on virtual desktop
- @author Semyon Sadetsky
- */
+import java.applet.Applet;
+import java.awt.AWTException;
+import java.awt.BufferCapabilities;
+import java.awt.BufferCapabilities.FlipContents;
+import java.awt.Frame;
+import java.awt.ImageCapabilities;
+import java.util.HashSet;
+import java.util.Set;
import sun.awt.AWTAccessor;
+import sun.awt.AWTAccessor.ComponentAccessor;
-import java.applet.Applet;
-import java.awt.*;
+import static java.awt.BufferCapabilities.FlipContents.BACKGROUND;
+import static java.awt.BufferCapabilities.FlipContents.COPIED;
+import static java.awt.BufferCapabilities.FlipContents.PRIOR;
+import static java.awt.BufferCapabilities.FlipContents.UNDEFINED;
+
+/**
+ * @test
+ * @bug 8130390 8134732
+ * @summary Applet fails to launch on virtual desktop
+ * @modules java.desktop/sun.awt
+ * @author Semyon Sadetsky
+ */
+public final class AppletFlipBuffer {
-public class AppletFlipBuffer {
- public static void main(String[] args) throws Exception {
+ static final ImageCapabilities[] ics = {new ImageCapabilities(true),
+ new ImageCapabilities(false)};
+ static final FlipContents[] cntx = {UNDEFINED, BACKGROUND, PRIOR, COPIED};
+ static final Set<BufferCapabilities> bcs = new HashSet<>();
+
+ static {
+ for (final ImageCapabilities icFront : ics) {
+ for (final ImageCapabilities icBack : ics) {
+ for (final FlipContents cnt : cntx) {
+ bcs.add(new BufferCapabilities(icFront, icBack, cnt));
+ }
+ }
+ }
+ }
+
+ public static void main(final String[] args) throws Exception {
Applet applet = new Applet();
- AWTAccessor.ComponentAccessor componentAccessor
- = AWTAccessor.getComponentAccessor();
- BufferCapabilities caps = new BufferCapabilities(
- new ImageCapabilities(true), new ImageCapabilities(true),
- BufferCapabilities.FlipContents.BACKGROUND);
Frame frame = new Frame();
try {
+ frame.setSize(10, 10);
frame.add(applet);
frame.setUndecorated(true);
frame.setVisible(true);
- componentAccessor.createBufferStrategy(applet, 2, caps);
+ test(applet);
System.out.println("ok");
- }
- finally {
+ } finally {
frame.dispose();
}
}
+
+ private static void test(final Applet applet) {
+ ComponentAccessor acc = AWTAccessor.getComponentAccessor();
+ for (int i = 1; i < 10; ++i) {
+ for (final BufferCapabilities caps : bcs) {
+ try {
+ acc.createBufferStrategy(applet, i, caps);
+ } catch (final AWTException ignored) {
+ // this kind of buffer strategy is not supported
+ }
+ }
+ }
+ }
}