8285867: Convert applet manual tests SelectionVisible.java to Frame and automate

Reviewed-by: prr
This commit is contained in:
lawrence.andrews 2022-05-11 23:34:25 +00:00 committed by Phil Race
parent ccbe8faa00
commit 44a60ce172
4 changed files with 92 additions and 142 deletions
test/jdk/java/awt

@ -1,42 +0,0 @@
<html>
<!--
Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!--
@test
@bug 4082144 7150100
@summary Ensures that TextArea.select() works when called
before setVisible()
@author Eric.Hawkes: area=TextComponent
@run applet/manual=yesno SelectionVisible.html
-->
<head>
<title> SelectionVisible </title>
</head>
<body>
<h1> SelectionVisible<br> Bugid: 4082144 </h1>
<APPLET CODE="SelectionVisible.class" WIDTH=400 HEIGHT=160></APPLET>
</body>
</html>

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -21,42 +21,62 @@
* questions.
*/
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Panel;
import java.awt.Frame;
import java.awt.TextArea;
import java.lang.reflect.InvocationTargetException;
public final class SelectionVisible extends Applet {
import static java.awt.EventQueue.invokeAndWait;
private TextArea ta;
/*
@test
@key headful
@bug 4082144 7150100
@summary Ensures that TextArea.select() works when called
before setVisible()
@run main SelectionVisible
*/
@Override
public void init() {
public class SelectionVisible {
private static TextArea ta;
private static Frame frame;
public static void createTestUI() {
frame = new Frame("Test 4082144 7150100");
ta = new TextArea(4, 20);
ta.setText("01234\n56789");
ta.select(3, 9);
final TextArea instruction = new TextArea("INSTRUCTIONS:\n"
+ "The text 34567 should be selected in the TextArea.\n"
+ "If this is what you observe, then the test passes.\n"
+ "Otherwise, the test fails.", 40, 5,
TextArea.SCROLLBARS_NONE);
instruction.setEditable(false);
instruction.setPreferredSize(new Dimension(300, 70));
final Panel panel = new Panel();
panel.setLayout(new FlowLayout());
panel.add(ta);
setLayout(new BorderLayout());
add(instruction, BorderLayout.CENTER);
add(panel, BorderLayout.PAGE_END);
}
frame.add(ta);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
@Override
public void start() {
setVisible(true);
ta.requestFocus();
}
public static void test() throws InterruptedException,
InvocationTargetException {
String selectedText = ta.getSelectedText();
System.out.println("selectedText : " + selectedText);
invokeAndWait(SelectionVisible::disposeFrame);
if (!selectedText.equals("34\n567")) {
throw new RuntimeException("Expected '34\n567' to be " +
"selected text, but got " + selectedText);
}
System.out.println("Test passed");
}
public static void disposeFrame() {
if (frame != null) {
frame.dispose();
}
}
public static void main(String[] args) throws InterruptedException,
InvocationTargetException {
invokeAndWait(SelectionVisible::createTestUI);
test();
}
}

@ -1,42 +0,0 @@
<html>
<!--
Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!--
@test
@bug 4082144 7150100
@summary Ensures that TextField.select() works when called
before setVisible()
@author Eric.Hawkes: area=TextComponent
@run applet/manual=yesno SelectionVisible.html
-->
<head>
<title> SelectionVisible </title>
</head>
<body>
<h1> SelectionVisible<br> Bugid: 4082144 </h1>
<APPLET CODE="SelectionVisible.class" WIDTH=400 HEIGHT=160></APPLET>
</body>
</html>

@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -21,43 +21,57 @@
* questions.
*/
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.Frame;
import java.awt.TextField;
import java.lang.reflect.InvocationTargetException;
public final class SelectionVisible extends Applet {
import static java.awt.EventQueue.invokeAndWait;
/*
@test
@key headful
@bug 4082144 7150100
@summary Ensures that TextField.select() works when called
before setVisible()
@run main SelectionVisible
*/
TextField tf;
public class SelectionVisible {
@Override
public void init() {
private static Frame frame;
private static TextField tf;
public static void createTestUI() {
frame = new Frame("Test TextField.select()");
tf = new TextField(20);
tf.setText("0123456789");
tf.select(0, 6);
final TextArea ta = new TextArea("INSTRUCTIONS:\n"
+ "The text 012345 should be selected in the TextField.\n"
+ "If this is what you observe, then the test passes.\n"
+ "Otherwise, the test fails.", 40, 5,
TextArea.SCROLLBARS_NONE);
ta.setEditable(false);
ta.setPreferredSize(new Dimension(300, 70));
final Panel panel = new Panel();
panel.setLayout(new FlowLayout());
panel.add(tf);
setLayout(new BorderLayout());
add(ta, BorderLayout.CENTER);
add(panel, BorderLayout.PAGE_END);
frame.add(tf);
frame.setSize(200,200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
@Override
public void start() {
setVisible(true);
tf.requestFocus();
private static void test() throws InterruptedException,
InvocationTargetException {
String selectedText = tf.getSelectedText();
System.out.println("Selected Text : " + selectedText);
invokeAndWait(SelectionVisible::disposeFrame);
if (!selectedText.equals("012345")) {
throw new RuntimeException("Expected 012345 to be selected but " +
"got " + selectedText);
}
System.out.println("Test passed");
}
private static void disposeFrame() {
if (frame != null) {
frame.dispose();
}
}
public static void main(String[] args) throws InterruptedException,
InvocationTargetException {
invokeAndWait(SelectionVisible::createTestUI);
test();
}
}