Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/lang/Class/getPackageName/Basic.java
41153 views
1
/*
2
* Copyright (c) 2015, 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
* @compile Basic.java
27
* @run testng p.Basic
28
* @summary Basic test for java.lang.Class::getPackageName
29
*/
30
31
package p;
32
33
import org.testng.annotations.Test;
34
import org.testng.annotations.DataProvider;
35
import static org.testng.Assert.*;
36
37
public class Basic {
38
39
40
// -- member classes --
41
42
static class Nested {
43
static class Foo { }
44
}
45
46
Class<?> getNestedClass1() {
47
return Nested.class;
48
}
49
Class<?> getNestedClass2() {
50
return Nested.Foo.class;
51
}
52
53
class Inner {
54
class Foo { }
55
}
56
57
Class<?> getInnerClass1() {
58
return Inner.class;
59
}
60
Class<?> getInnerClass2() {
61
return Inner.Foo.class;
62
}
63
64
// -- local and anonymous classes --
65
66
Class<?> getLocalClass1() {
67
class Local { }
68
return Local.class;
69
}
70
71
Class<?> getLocalClass2() {
72
class Local {
73
class Foo { }
74
}
75
return Local.Foo.class;
76
}
77
78
Class<?> getLocalClass3() {
79
class Local {
80
final Class<?> c;
81
Local() {
82
class Foo { }
83
this.c = Foo.class;
84
}
85
Class<?> get() {
86
return c;
87
}
88
}
89
return new Local().get();
90
}
91
92
Class<?> getAnonymousClass1() {
93
Runnable r = new Runnable() { public void run() { } };
94
return r.getClass();
95
}
96
97
Class<?> getAnonymousClass2() {
98
class Local {
99
Class<?> get() {
100
Runnable r = new Runnable() { public void run() { } };
101
return r.getClass();
102
}
103
}
104
return new Local().get();
105
}
106
107
Class<?> getAnonymousClass3() {
108
Runnable r = () -> { };
109
return r.getClass();
110
}
111
112
Class<?> getAnonymousClass4() {
113
class Local {
114
Class<?> get() {
115
Runnable r = () -> { };
116
return r.getClass();
117
}
118
}
119
return new Local().get();
120
}
121
122
Class<?> getAnonymousClass5() {
123
class Local {
124
final Class<?> c;
125
Local() {
126
Runnable r = new Runnable() { public void run() { } };
127
this.c = r.getClass();
128
}
129
Class<?> get() {
130
return c;
131
}
132
}
133
return new Local().get();
134
}
135
136
Class<?> getAnonymousClass6() {
137
class Local {
138
final Class<?> c;
139
Local() {
140
Runnable r = () -> { };
141
this.c = r.getClass();
142
}
143
Class<?> get() {
144
return c;
145
}
146
}
147
return new Local().get();
148
}
149
150
static final String TEST_PACKAGE = Basic.class.getPackage().getName();
151
152
@DataProvider(name = "classes")
153
public Object[][] classes() {
154
return new Object[][] {
155
156
{ Basic.class, TEST_PACKAGE },
157
{ Basic[].class, TEST_PACKAGE },
158
{ Basic[][].class, TEST_PACKAGE },
159
160
{ getNestedClass1(), TEST_PACKAGE },
161
{ getNestedClass2(), TEST_PACKAGE },
162
{ getInnerClass1(), TEST_PACKAGE },
163
{ getInnerClass2(), TEST_PACKAGE },
164
165
{ getLocalClass1(), TEST_PACKAGE },
166
{ getLocalClass2(), TEST_PACKAGE },
167
{ getLocalClass3(), TEST_PACKAGE },
168
169
{ getAnonymousClass1(), TEST_PACKAGE },
170
{ getAnonymousClass2(), TEST_PACKAGE },
171
{ getAnonymousClass3(), TEST_PACKAGE },
172
{ getAnonymousClass4(), TEST_PACKAGE },
173
{ getAnonymousClass5(), TEST_PACKAGE },
174
{ getAnonymousClass6(), TEST_PACKAGE },
175
176
{ Object.class, "java.lang" },
177
{ Object[].class, "java.lang" },
178
{ Object[][].class, "java.lang" },
179
180
{ int.class, "java.lang" },
181
{ int[].class, "java.lang" },
182
{ int[][].class, "java.lang" },
183
184
{ void.class, "java.lang" },
185
186
};
187
}
188
189
@Test(dataProvider = "classes")
190
public void testPackageName(Class<?> type, String expected) {
191
assertEquals(type.getPackageName(), expected);
192
}
193
194
}
195
196