File: SwingSetTest.java

package info (click to toggle)
openjdk-21 21.0.8%2B9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 823,976 kB
  • sloc: java: 5,613,338; xml: 1,643,607; cpp: 1,296,296; ansic: 420,291; asm: 404,850; objc: 20,994; sh: 15,271; javascript: 11,245; python: 6,895; makefile: 2,362; perl: 357; awk: 351; sed: 172; jsp: 24; csh: 3
file content (56 lines) | stat: -rw-r--r-- 2,179 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/**
 * Copyright (c) 2021, 2022, Oracle and/or its affiliates. All rights reserved.
 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

import lib.ManualTestFrame;
import lib.TestResult;

import java.util.function.Consumer;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.function.Supplier;
import javax.swing.JEditorPane;

import static java.io.File.separator;

public class SwingSetTest {

    public static void main(String[] args) throws IOException, InterruptedException,
            ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        System.out.println("test image " + System.getenv("TEST_IMAGE_DIR"));

        Consumer<JEditorPane> testInstructionProvider = e -> {
            try {
                e.setContentType("text/html");
                e.setPage(SwingSetTest.class.getResource(args[0] + ".html"));
            } catch (IOException exception) {
                exception.printStackTrace();
            }
        };

        Supplier<TestResult> resultSupplier = ManualTestFrame.showUI(args[0],
                "Wait for SwingSet2 to load, follow the instructions, select pass or fail. " +
                        "Do not close windows manually.",
                testInstructionProvider);

        String swingSetJar = System.getenv("SWINGSET2_JAR");
        if (swingSetJar == null) {
            swingSetJar = "file://" + System.getProperty("java.home") +
                    separator + "demo" +
                    separator + "jfc" +
                    separator + "SwingSet2" +
                    separator + "SwingSet2.jar";
        }
        System.out.println("Loading SwingSet2 from " + swingSetJar);
        ClassLoader ss = new URLClassLoader(new URL[]{new URL(swingSetJar)});
        ss.loadClass("SwingSet2").getMethod("main", String[].class).invoke(null, (Object)new String[0]);

        //this will block until user decision to pass or fail the test
        TestResult result = resultSupplier.get();
        ManualTestFrame.handleResult(result, args[0]);
    }
}