Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/beans/PropertyChangeSupport/Test4985020.java
41149 views
1
/*
2
* Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
/*
25
* @test
26
* @bug 4985020
27
* @summary Tests passing of null as property name
28
* @author Brent Christian
29
*/
30
31
import java.beans.PropertyChangeEvent;
32
import java.beans.PropertyChangeListener;
33
import java.beans.PropertyChangeSupport;
34
import java.beans.VetoableChangeListener;
35
import java.beans.VetoableChangeSupport;
36
37
public class Test4985020 implements PropertyChangeListener, VetoableChangeListener {
38
private static final String NAME = new String("Property Name");
39
private static boolean failed;
40
41
public static void main(String[] args) {
42
PropertyChangeSupport pcs = new PropertyChangeSupport(args);
43
VetoableChangeSupport vcs = new VetoableChangeSupport(args);
44
Test4985020 listener = new Test4985020();
45
46
47
//PropertyChangeSupport.addPropertyChangeListener(null, listener)
48
System.out.println("PropertyChangeSupport.addPropertyChangeListener(null, listener)");
49
try {
50
pcs.addPropertyChangeListener(null, listener);
51
pcs.firePropertyChange(NAME, null, null);
52
}
53
catch (Throwable error) {
54
print(error);
55
}
56
57
//PropertyChangeSupport.removePropertyChangeListener(null, listener)
58
System.out.println("PropertyChangeSupport.removePropertyChangeListener(null, listener)");
59
try {
60
pcs.removePropertyChangeListener(null, listener);
61
pcs.firePropertyChange(NAME, null, null);
62
}
63
catch (Throwable error) {
64
print(error);
65
}
66
67
//PropertyChangeSupport.getPropertyChangeListeners(null)
68
System.out.println("PropertyChangeSupport.getPropertyChangeListeners(null)");
69
try {
70
PropertyChangeListener[] pcls = pcs.getPropertyChangeListeners(null);
71
if (pcls == null) {
72
throw new Error("getPropertyChangeListener() returned null");
73
}
74
if (pcls.length != 0) {
75
throw new Error("getPropertyChangeListener() did not return an empty array");
76
}
77
}
78
catch (Throwable error) {
79
print(error);
80
}
81
82
//PropertyChangeSupport.hasListeners(null)
83
System.out.println("PropertyChangeSupport.hasListeners(null)");
84
try {
85
pcs.hasListeners(null);
86
}
87
catch (Throwable error) {
88
print(error);
89
}
90
91
//PropertyChangeSupport.hasListeners(null): with a generic listener
92
System.out.println("PropertyChangeSupport.hasListeners(null) with a generic listener");
93
try {
94
pcs.addPropertyChangeListener(listener);
95
if (!pcs.hasListeners(null)) {
96
throw new Error("hasListeners(null) returned false, but there was a generic listener");
97
}
98
}
99
catch (Throwable error) {
100
print(error);
101
}
102
103
pcs = new PropertyChangeSupport(args); // reset
104
105
//PropertyChangeSupport.hasListeners(null): with a specific listener
106
System.out.println("PropertyChangeSupport.hasListeners(null) with a specific listener");
107
try {
108
pcs.addPropertyChangeListener(NAME, listener);
109
if (pcs.hasListeners(null)) {
110
throw new Error("hasListeners(null) returned true, but there were no generic listeners - only a specific listener");
111
}
112
}
113
catch (Throwable error) {
114
print(error);
115
}
116
117
118
//VetoableChangeSupport.addVetoableChangeListener(null, listener)
119
System.out.println("VetoableChangeSupport.addVetoableChangeListener(null, listener)");
120
try {
121
vcs.addVetoableChangeListener(null, listener);
122
vcs.fireVetoableChange(NAME, null, null);
123
}
124
catch (Throwable error) {
125
print(error);
126
}
127
128
//VetoableChangeSupport.removeVetoableChangeListener(null, listener)
129
System.out.println("VetoableChangeSupport.removeVetoableChangeListener(null, listener)");
130
try {
131
vcs.removeVetoableChangeListener(null, listener);
132
vcs.fireVetoableChange(NAME, null, null);
133
}
134
catch (Throwable error) {
135
print(error);
136
}
137
138
//VetoableChangeSupport.getVetoableChangeListeners(null)
139
System.out.println("VetoableChangeSupport.getVetoableChangeListeners(null)");
140
try {
141
VetoableChangeListener[] pcls = vcs.getVetoableChangeListeners(null);
142
if (pcls == null) {
143
throw new Error("getVetoableChangeListener() returned null");
144
}
145
if (pcls.length != 0) {
146
throw new Error("getVetoableChangeListener() did not return an empty array");
147
}
148
}
149
catch (Throwable error) {
150
print(error);
151
}
152
153
//VetoableChangeSupport.hasListeners(null)
154
System.out.println("VetoableChangeSupport.hasListeners(null)");
155
try {
156
boolean result = vcs.hasListeners(null);
157
}
158
catch (Throwable error) {
159
print(error);
160
}
161
162
//VetoableChangeSupport.hasListeners(null): with a generic listener
163
System.out.println("VetoableChangeSupport.hasListeners(null) with a generic listener");
164
try {
165
vcs.addVetoableChangeListener(listener);
166
if (!vcs.hasListeners(null)) {
167
throw new Error("hasListeners(null) returned false, but there was a generic listener");
168
}
169
}
170
catch (Throwable error) {
171
print(error);
172
}
173
174
vcs = new VetoableChangeSupport(args); // reset
175
176
//VetoableChangeSupport.hasListeners(null): with a specific listener
177
System.out.println("VetoableChangeSupport.hasListeners(null) with a specific listener");
178
try {
179
vcs.addVetoableChangeListener(NAME, listener);
180
if (vcs.hasListeners(null)) {
181
throw new Error("hasListeners(null) returned true, but there were no generic listeners - only a specific listener");
182
}
183
}
184
catch (Throwable error) {
185
print(error);
186
}
187
188
189
if (failed) {
190
throw new Error("TEST FAILED");
191
}
192
}
193
194
private static void print(Throwable error) {
195
error.printStackTrace();
196
failed = true;
197
}
198
199
public void propertyChange(PropertyChangeEvent event) {
200
System.out.println("* propertyChange(event) event is " + event.getPropertyName());
201
throw new Error("shouldn't be any listeners");
202
}
203
204
public void vetoableChange(PropertyChangeEvent event) {
205
System.out.println("* vetoableChange(event) event is " + event.getPropertyName());
206
throw new Error("shouldn't be any listeners");
207
}
208
}
209
210