changeset 11848:d184800afb78

8077267: Typo in the test on JavaBean Reviewed-by: alexsch, malenkov
author serb
date Tue, 28 Apr 2015 16:24:04 +0300
parents dbf9760f6c0e
children 8c964679a414
files test/java/beans/Introspector/4058433/TestJavaBean.java
diffstat 1 files changed, 102 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/test/java/beans/Introspector/4058433/TestJavaBean.java	Mon Apr 27 09:17:39 2015 -0700
+++ b/test/java/beans/Introspector/4058433/TestJavaBean.java	Tue Apr 28 16:24:04 2015 +0300
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -20,11 +20,13 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
 import java.awt.event.ActionListener;
 import java.beans.BeanDescriptor;
 import java.beans.BeanInfo;
 import java.beans.Introspector;
 import java.beans.JavaBean;
+
 /*
  * @test
  * @bug 4058433
@@ -32,53 +34,63 @@
  * @author Sergey Malenkov
  */
 public class TestJavaBean {
-    public static void main(String[] args) throws Exception {
-        test(X.class);
-        test(D.class);
-        test(DP.class);
-        test(DES.class);
+
+    static final String DSCR = "description";
+    static final String PRP = "value";
+    static final String ACT = "action";
+
+    public static void main(final String[] args) throws Exception {
+        test(X.class, "TestJavaBean$X", "TestJavaBean$X", null, null);
+        test(D.class, "TestJavaBean$D", DSCR, null, null);
+        test(DP.class, "TestJavaBean$DP", "TestJavaBean$DP", PRP, null);
+        test(DES.class, "TestJavaBean$DES", "TestJavaBean$DES", null, ACT);
+        test(DDP.class, "TestJavaBean$DDP", DSCR, PRP, null);
+        test(DDES.class, "TestJavaBean$DDES", DSCR, null, ACT);
+        test(DPDES.class, "TestJavaBean$DPDES", "TestJavaBean$DPDES", PRP, ACT);
+        test(DDPDES.class, "TestJavaBean$DDPDES", DSCR, PRP, ACT);
     }
 
-    private static void test(Class<?> type) throws Exception {
-        System.out.println(type);
+    private static void test(Class<?> type, String name, String descr,
+                             String prop, String event) throws Exception {
         BeanInfo info = Introspector.getBeanInfo(type);
         BeanDescriptor bd = info.getBeanDescriptor();
 
-        String description = bd.getShortDescription();
-        System.out.println("description = " + description);
+        if (!bd.getName().equals(name)) {
+            throw new Error("unexpected name of the bean");
+        }
+
+        if (!bd.getShortDescription().equals(descr)) {
+            throw new Error("unexpected description of the bean");
+        }
 
         int dp = info.getDefaultPropertyIndex();
-        System.out.println("property index = " + dp);
-        if (0 <= dp) {
-            String name = info.getPropertyDescriptors()[dp].getName();
-            System.out.println("property name = " + name);
+        if (dp < 0 && prop != null) {
+            throw new Error("unexpected index of the default property");
+        }
+        if (dp >= 0) {
+            if (!info.getPropertyDescriptors()[dp].getName().equals(prop)) {
+                throw new Error("unexpected default property");
+            }
         }
         int des = info.getDefaultEventIndex();
-        System.out.println("event set index = " + des);
-        if (0 <= des) {
-            String name = info.getPropertyDescriptors()[des].getName();
-            System.out.println("event set name = " + name);
+        if (des < 0 && event != null) {
+            throw new Error("unexpected index of the default event set");
         }
-
-        if ((D.class == type) == bd.getName().equals(description)) {
-            throw new Error("unexpected description of the bean");
-        }
-        if ((DP.class == type) == (dp < 0)) {
-            throw new Error("unexpected index of the default property");
-        }
-        if ((DES.class == type) == (des < 0)) {
-            throw new Error("unexpected index of the default event set");
+        if (des >= 0) {
+            if (!info.getEventSetDescriptors()[des].getName().equals(event)) {
+                throw new Error("unexpected default event set");
+            }
         }
     }
 
     public static class X {
     }
 
-    @JavaBean(description = "description")
+    @JavaBean(description = DSCR)
     public static class D {
     }
 
-    @JavaBean(defaultProperty = "value")
+    @JavaBean(defaultProperty = PRP)
     public static class DP {
         private int value;
 
@@ -91,7 +103,7 @@
         }
     }
 
-    @JavaBean(defaultEventSet = "action")
+    @JavaBean(defaultEventSet = ACT)
     public static class DES {
         public void addActionListener(ActionListener listener) {
         }
@@ -99,4 +111,64 @@
         public void removeActionListener(ActionListener listener) {
         }
     }
+
+    @JavaBean(description = DSCR, defaultProperty = PRP)
+    public static class DDP {
+        private int value;
+
+        public int getValue() {
+            return this.value;
+        }
+
+        public void setValue(int value) {
+            this.value = value;
+        }
+    }
+
+    @JavaBean(description = DSCR, defaultEventSet = ACT)
+    public static class DDES {
+        public void addActionListener(ActionListener listener) {
+        }
+
+        public void removeActionListener(ActionListener listener) {
+        }
+    }
+
+    @JavaBean(defaultProperty = PRP, defaultEventSet = ACT)
+    public static class DPDES {
+        private int value;
+
+        public int getValue() {
+            return this.value;
+        }
+
+        public void setValue(int value) {
+            this.value = value;
+        }
+
+        public void addActionListener(ActionListener listener) {
+        }
+
+        public void removeActionListener(ActionListener listener) {
+        }
+    }
+
+    @JavaBean(description = DSCR, defaultProperty = PRP, defaultEventSet = ACT)
+    public static class DDPDES {
+        private int value;
+
+        public int getValue() {
+            return this.value;
+        }
+
+        public void setValue(int value) {
+            this.value = value;
+        }
+
+        public void addActionListener(ActionListener listener) {
+        }
+
+        public void removeActionListener(ActionListener listener) {
+        }
+    }
 }