1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.source;
16
17 import java.lang.reflect.Field;
18 import java.util.HashMap;
19 import java.util.Map;
20
21 import org.htmlunit.html.DefaultElementFactory;
22 import org.htmlunit.html.HtmlPage;
23 import org.htmlunit.javascript.configuration.JavaScriptConfigurationTest;
24
25
26
27
28
29
30 public final class ElementTestSource {
31
32 private ElementTestSource() {
33 }
34
35
36
37
38
39
40 public static void generateTestForHtmlElements(final String htmlGeneratorMethod,
41 final String defaultAlerts) {
42 final Map<String, String> namesMap = new HashMap<>();
43 for (final String className : JavaScriptConfigurationTest.getClassesForPackage(HtmlPage.class)) {
44 try {
45 final Class<?> c = Class.forName(className);
46 final Field field = c.getDeclaredField("TAG_NAME");
47 namesMap.put(field.get(null).toString(), c.getName());
48 try {
49 final Field field2 = c.getDeclaredField("TAG_NAME2");
50 namesMap.put(field2.get(null).toString(), c.getName());
51 }
52 catch (final Exception ignored) {
53
54 }
55 }
56 catch (final Exception ignored) {
57
58 }
59 }
60 for (final String tag : DefaultElementFactory.SUPPORTED_TAGS_) {
61 System.out.println();
62 System.out.println(" /**");
63 if (namesMap.containsKey(tag)) {
64 System.out.println(" * Test {@link " + namesMap.get(tag) + "}.");
65 System.out.println(" *");
66 }
67 System.out.println(" * @throws Exception if the test fails");
68 System.out.println(" */");
69 System.out.println(" @Test");
70 System.out.print(" @Alerts(");
71 if (defaultAlerts != null) {
72 System.out.print(defaultAlerts);
73 }
74 System.out.println(")");
75 System.out.println(" public void " + tag + "() throws Exception {");
76 System.out.println(" loadPageWithAlerts2(" + htmlGeneratorMethod + "(\"" + tag + "\"));");
77 System.out.println(" }");
78 }
79 }
80 }