8328012: Convert InputMethod (/java/awt/im) applet tests to main

Backport-of: 4f8f48654e
This commit is contained in:
Goetz Lindenmaier
2025-08-13 08:06:01 +00:00
committed by Vitaly Provodin
parent 46c0a62e4d
commit 90ea6900b2
6 changed files with 157 additions and 170 deletions

View File

@@ -1,38 +0,0 @@
<!--
Copyright (c) 2015, 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.
-->
<html>
<body>
Verify that Chinese full stop symbol can be entered in JTextArea with Pinyin input method (IM).
This test is for OS X only. For other platforms please simply press "Pass".
1. Go to "System Preferences -> Keyboard -> Input Sources" and add "Pinyin Traditional" or "Pinyin Simplified" IM from Chinese language group.
2. Set current IM to "Pinyin".
3. Set focus to the text area of the test and press "dot" character on the keyboard.
4. Set current IM to the IM used before "Pinyin" was set.
5. If "。" character is displayed in the text area, press "Pass", if "." character is displayed, press "Fail".
<applet code="bug8132503.class" width=400 height=400></applet>
</body>
</html>

View File

@@ -1,47 +0,0 @@
/*
* Copyright (c) 2015, 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 8132503
@summary [macosx] Chinese full stop symbol cannot be entered with Pinyin IM on OS X
@author Anton Litvinov
@run applet/manual=yesno bug8132503.html
*/
import javax.swing.JApplet;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class bug8132503 extends JApplet {
@Override
public void init() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JTextArea textArea = new JTextArea("Text area of the test.", 40, 40);
add(new JScrollPane(textArea));
}
});
}
}

View File

@@ -1,38 +0,0 @@
<!--
Copyright (c) 2016, 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.
-->
<html>
<body>
Verify that Chinese comma can be entered in JTextField with Pinyin input method (IM).
This test is for OS X only. For other platforms please simply press "Pass".
1. Go to "System Preferences -> Keyboard -> Input Sources" and add "Pinyin Traditional" or "Pinyin Simplified" IM from Chinese language group.
2. Set current IM to "Pinyin".
3. Set focus to the text field of the test and press "comma" character on the keyboard.
4. Set current IM to the IM used before "Pinyin" was set.
5. If "" character is displayed in the text area, press "Pass", if "," character is displayed, press "Fail".
<applet code="bug8148984.class" width=400 height=400></applet>
</body>
</html>

View File

@@ -1,47 +0,0 @@
/*
* Copyright (c) 2016, 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 8148984
* @summary Chinese Comma cannot be entered using Pinyin Input Method on OS X
* @author Dmitry Markov
* @run applet/manual=yesno bug8148984.html
*/
import javax.swing.*;
public class bug8148984 extends JApplet {
@Override
public void init() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JPanel panel = new JPanel();
panel.add(new JLabel("Text field:"));
panel.add(new JTextField(20));
add(panel);
}
});
}
}

View File

@@ -0,0 +1,78 @@
/*
* Copyright (c) 2016, 2024, 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.
*/
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/*
* @test
* @bug 8148984
* @summary Verify that Chinese comma can be entered in JTextField
* with Pinyin input method (IM) on OS X.
* @requires (os.family == "mac")
* @library /java/awt/regtesthelpers
* @build PassFailJFrame
* @run main/manual PinyinIMCommaTest
*/
public class PinyinIMCommaTest {
private static final String INSTRUCTIONS = """
This test verifies if Chinese comma can be entered in JTextField
with Pinyin input method (IM).
Test settings:
Go to "System Preferences -> Keyboard -> Input Sources" and
add "Pinyin Traditional" or "Pinyin Simplified" IM from Chinese language group.
Set current IM to "Pinyin".
1. Set focus to the text field below and press "comma" character
on the keyboard.
2. Now change the current IM to the IM used before "Pinyin" or to "U.S".
Press comma character again.
3. You should notice a difference in the comma. Pinyin IM should output
full width comma "\uff0c" and the other IM should output a Latin comma "\u002c".
If above is true press "PASS", if "\u002c" character is displayed for Pinyin IM, press "FAIL".
""";
public static void main(String[] args) throws Exception {
PassFailJFrame.builder()
.title("Test Comma using Pinyin Input Method")
.instructions(INSTRUCTIONS)
.rows((int) INSTRUCTIONS.lines().count() + 2)
.columns(45)
.splitUIBottom(PinyinIMCommaTest::createUI)
.testTimeOut(10)
.build()
.awaitAndCheck();
}
private static JComponent createUI() {
JPanel panel = new JPanel();
panel.add(new JLabel("Text field:"));
panel.add(new JTextField(20));
return panel;
}
}

View File

@@ -0,0 +1,79 @@
/*
* Copyright (c) 2015, 2024, 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.
*/
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
/*
* @test
* @bug 8132503
* @summary [macosx] Chinese full stop symbol cannot be entered with Pinyin IM on OS X
* @requires (os.family == "mac")
* @library /java/awt/regtesthelpers
* @build PassFailJFrame
* @run main/manual PinyinIMFullstopTest
*/
public class PinyinIMFullstopTest {
private static final String INSTRUCTIONS = """
This test verifies if Chinese full stop symbol can be entered in JTextArea
with Pinyin input method (IM).
Test settings:
Go to "System Preferences -> Keyboard -> Input Sources" and
add "Pinyin Traditional" or "Pinyin Simplified" IM from Chinese language group.
Set current IM to "Pinyin".
1. Set focus to the text area below and press "dot" character
on the keyboard.
2. Now change the current IM to the IM used before "Pinyin" or to "U.S".
Press dot character again.
3. You should notice a difference in the dot. Pinyin IM should output
"" and the other IM should output "."
If above is true press "PASS", if normal fullstop "." character is displayed
for Pinyin IM, press "FAIL".
""";
public static void main(String[] args) throws Exception {
PassFailJFrame.builder()
.title("Test Dot using Pinyin Input Method")
.instructions(INSTRUCTIONS)
.rows((int) INSTRUCTIONS.lines().count() + 2)
.columns(45)
.splitUIBottom(PinyinIMFullstopTest::createUI)
.testTimeOut(10)
.build()
.awaitAndCheck();
}
private static JComponent createUI() {
JPanel panel = new JPanel();
JTextArea textArea = new JTextArea(5, 40);
panel.add(new JLabel("Text Area:"));
panel.add(textArea);
return panel;
}
}