test/tools/javac/nativeHeaders/NativeHeaderTest.java

changeset 1407
f14c693a0e48
parent 1230
b14d9583ce92
child 1723
a2889739cf21
equal deleted inserted replaced
1406:2901c7b5339e 1407:f14c693a0e48
21 * questions. 21 * questions.
22 */ 22 */
23 23
24 /* 24 /*
25 * @test 25 * @test
26 * @bug 7150368 26 * @bug 7150368 8003412
27 * @summary javac should include basic ability to generate native headers 27 * @summary javac should include basic ability to generate native headers
28 */ 28 */
29 29
30 import java.io.File; 30 import java.io.File;
31 import java.io.FileWriter; 31 import java.io.FileWriter;
123 createSet("C.class", "C$1.class", "C$Inner.class"), 123 createSet("C.class", "C$1.class", "C$Inner.class"),
124 createSet(classesDir.list())); 124 createSet(classesDir.list()));
125 } 125 }
126 126
127 @Test 127 @Test
128 void oldAnnoTest(RunKind rk, GenKind gk) throws Exception {
129 List<File> files = new ArrayList<File>();
130 files.add(createFile("p/C.java",
131 "@javax.tools.annotation.GenerateNativeHeader class C { }"));
132
133 Set<String> expect = createSet("C.h");
134
135 test(rk, gk, files, expect);
136 }
137
138 @Test
128 void annoTest(RunKind rk, GenKind gk) throws Exception { 139 void annoTest(RunKind rk, GenKind gk) throws Exception {
129 List<File> files = new ArrayList<File>(); 140 List<File> files = new ArrayList<File>();
130 files.add(createFile("p/C.java", 141 files.add(createFile("p/C.java",
131 "@javax.tools.annotation.GenerateNativeHeader class C { }")); 142 "class C { @java.lang.annotation.Native public static final int i = 1907; }"));
132 143
133 Set<String> expect = createSet("C.h"); 144 Set<String> expect = createSet("C.h");
145
146 test(rk, gk, files, expect);
147 }
148
149 @Test
150 void oldAnnoNestedClassTest(RunKind rk, GenKind gk) throws Exception {
151 List<File> files = new ArrayList<File>();
152 files.add(createFile("p/C.java",
153 "class C { @javax.tools.annotation.GenerateNativeHeader class Inner { } }"));
154
155 Set<String> expect = createSet("C_Inner.h");
156 if (gk == GenKind.FULL) expect.add("C.h");
134 157
135 test(rk, gk, files, expect); 158 test(rk, gk, files, expect);
136 } 159 }
137 160
138 @Test 161 @Test
139 void annoNestedClassTest(RunKind rk, GenKind gk) throws Exception { 162 void annoNestedClassTest(RunKind rk, GenKind gk) throws Exception {
140 List<File> files = new ArrayList<File>(); 163 List<File> files = new ArrayList<File>();
141 files.add(createFile("p/C.java", 164 files.add(createFile("p/C.java",
142 "class C { @javax.tools.annotation.GenerateNativeHeader class Inner { } }")); 165 "class C { class Inner { @java.lang.annotation.Native public static final int i = 1907; } }"));
143 166
144 Set<String> expect = createSet("C_Inner.h"); 167 Set<String> expect = createSet("C_Inner.h");
145 if (gk == GenKind.FULL) expect.add("C.h"); 168 if (gk == GenKind.FULL) expect.add("C.h");
146 169
147 test(rk, gk, files, expect); 170 test(rk, gk, files, expect);

mercurial