2N/A/*
2N/A * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
2N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2N/A *
2N/A * This code is free software; you can redistribute it and/or modify it
2N/A * under the terms of the GNU General Public License version 2 only, as
2N/A * published by the Free Software Foundation.
2N/A *
2N/A * This code is distributed in the hope that it will be useful, but WITHOUT
2N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
2N/A * version 2 for more details (a copy is included in the LICENSE file that
2N/A * accompanied this code).
2N/A *
2N/A * You should have received a copy of the GNU General Public License version
2N/A * 2 along with this work; if not, write to the Free Software Foundation,
2N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
2N/A *
2N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2N/A * or visit www.oracle.com if you need additional information or have any
2N/A * questions.
2N/A */
2N/A
2N/A/**
2N/A * @test
2N/A * @bug 4931668
2N/A * @summary Tests XEmbed server/client functionality
2N/A * @author denis mikhalkin: area=awt.xembed
2N/A * @compile JavaClient.java TesterClient.java TestXEmbedServer.java
2N/A * @run main/manual TestXEmbedServerJava
2N/A */
2N/A
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class TestXEmbedServerJava extends TestXEmbedServer {
public static void main(String[] args) {
if (System.getProperty("os.name").toLowerCase().startsWith("win")) {
return;
}
// Enabled XEmbed
System.setProperty("sun.awt.xembedserver", "true");
String instruction =
"This is a manual test for XEmbed server functionality. \n" +
"You may start XEmbed client by pressing 'Add client' button.\n" +
"Check that focus transfer with mouse works, that focus traversal with Tab/Shift-Tab works.\n" +
"Check that XEmbed server client's growing and shrinking.\n" +
"Check that Drag&Drop works in all combinations.\n" +
"Check the keyboard input works in both text fields.\n";
Frame f = new Frame("Instructions");
f.setLayout(new BorderLayout());
f.add(new TextArea(instruction), BorderLayout.CENTER);
f.pack();
f.setLocation(0, 400);
f.setVisible(true);
TestXEmbedServerJava lock = new TestXEmbedServerJava();
try {
synchronized(lock) {
lock.wait();
}
} catch (InterruptedException e) {
}
if (!lock.isPassed()) {
throw new RuntimeException("Test failed");
}
}
public TestXEmbedServerJava() {
super(true);
}
public Process startClient(Rectangle[] bounds, long window) {
try {
String java_home = System.getProperty("java.home");
return Runtime.getRuntime().exec(java_home + "/bin/java JavaClient " + window);
} catch (IOException ex1) {
ex1.printStackTrace();
}
return null;
}
}