mirror of
https://github.com/openjdk/jdk.git
synced 2026-05-07 20:25:00 +00:00
8315594: Open source few headless Swing misc tests
Reviewed-by: azvegint
This commit is contained in:
parent
4b43c25fe3
commit
806ef0897b
61
test/jdk/javax/swing/text/html/HTMLEditorKit/bug4267840.java
Normal file
61
test/jdk/javax/swing/text/html/HTMLEditorKit/bug4267840.java
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2023, 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 4267840
|
||||
@summary Tests how HTMLEditorKit.write() works on small documents
|
||||
@run main bug4267840
|
||||
*/
|
||||
|
||||
import javax.swing.JTextPane;
|
||||
import javax.swing.text.EditorKit;
|
||||
import javax.swing.SwingUtilities;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
|
||||
public class bug4267840 {
|
||||
public static void main(String[] args) throws Exception {
|
||||
SwingUtilities.invokeAndWait(() -> {
|
||||
final JTextPane textpane = new JTextPane();
|
||||
textpane.setContentType("text/html");
|
||||
final EditorKit kit = textpane.getEditorKit();
|
||||
|
||||
textpane.setText("A word");
|
||||
File file = new File("bug4267840.out");
|
||||
try {
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
kit.write(out, textpane.getDocument(), 0,
|
||||
textpane.getDocument().getLength());
|
||||
out.close();
|
||||
} catch (Exception e) {}
|
||||
try {
|
||||
if (file.length() < 6) { // simply can't be
|
||||
throw new RuntimeException("Failed: " +
|
||||
" HTMLEditorKit.write() is broken");
|
||||
}
|
||||
} finally {
|
||||
file.delete();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
53
test/jdk/javax/swing/text/html/StyleSheet/bug4218254.java
Normal file
53
test/jdk/javax/swing/text/html/StyleSheet/bug4218254.java
Normal file
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2023, 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 4218254
|
||||
@summary Serialization Bug on StyleSheet.
|
||||
@run main bug4218254
|
||||
*/
|
||||
|
||||
import javax.swing.text.html.StyleSheet;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
|
||||
|
||||
public class bug4218254 {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
StyleSheet ssw = new StyleSheet();
|
||||
StyleSheet ssr = null;
|
||||
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
ObjectOutputStream oos = new ObjectOutputStream(baos);
|
||||
oos.writeObject(ssw);
|
||||
byte[] buf = baos.toByteArray();
|
||||
oos.close();
|
||||
ByteArrayInputStream bais = new ByteArrayInputStream(buf);
|
||||
ObjectInputStream ois = new ObjectInputStream(bais);
|
||||
ssr = (StyleSheet)ois.readObject();
|
||||
ois.close();
|
||||
}
|
||||
}
|
||||
54
test/jdk/javax/swing/text/html/StyleSheet/bug4243463.java
Normal file
54
test/jdk/javax/swing/text/html/StyleSheet/bug4243463.java
Normal file
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2023, 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 4243463
|
||||
@summary Tests that StyleSheet has following methods:
|
||||
public void addStyleSheet(StyleSheet ss);
|
||||
public void removeStyleSheet(StyleSheet ss);
|
||||
public Enumeration getStyleSheets()
|
||||
@run main bug4243463
|
||||
*/
|
||||
|
||||
import javax.swing.text.html.StyleSheet;
|
||||
|
||||
public class bug4243463 {
|
||||
|
||||
public static void main(String[] argv) throws Exception {
|
||||
StyleSheet main = new StyleSheet();
|
||||
StyleSheet ss = new StyleSheet();
|
||||
ss.addRule("p {color:red;}");
|
||||
|
||||
main.addStyleSheet(ss);
|
||||
StyleSheet[] sheets = main.getStyleSheets();
|
||||
if (sheets.length != 1 || sheets[0] != ss) {
|
||||
throw new RuntimeException("getStyleSheets failed");
|
||||
}
|
||||
|
||||
main.removeStyleSheet(ss);
|
||||
sheets = main.getStyleSheets();
|
||||
if (sheets != null) {
|
||||
throw new RuntimeException("StyleSheet is not removed");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,88 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2023, 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 4485322
|
||||
@summary DefaultTreeSelectionModel.insureRowContinuity is broken for CONTIGUOUS_TREE_SELECTION
|
||||
@run main bug4485322
|
||||
*/
|
||||
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.tree.DefaultTreeSelectionModel;
|
||||
import javax.swing.tree.TreeSelectionModel;
|
||||
import javax.swing.tree.RowMapper;
|
||||
import javax.swing.tree.TreePath;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class bug4485322 {
|
||||
|
||||
Object obj1[] = {"9", "2", "5", "3", "1"};
|
||||
Object obj2[] = {"1", "2", "3"};
|
||||
|
||||
public void init() {
|
||||
DummyDefaultTreeSelectionModel model = new DummyDefaultTreeSelectionModel();
|
||||
|
||||
TreePath sPaths[] = new TreePath[obj1.length];
|
||||
for (int i=0; i<obj1.length; i++) {
|
||||
sPaths[i] = new TreePath(obj1[i]);
|
||||
};
|
||||
model.setSelectionPaths(sPaths);
|
||||
|
||||
model.setRowMapper(new DummyRowMapper());
|
||||
model.setSelectionMode(TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);
|
||||
model.insureRowContinuity();
|
||||
|
||||
TreePath real[] = model.getSelectionPaths();
|
||||
TreePath expected[] = new TreePath[obj2.length];
|
||||
for (int i=0; i<obj2.length; i++) {
|
||||
expected[i] = new TreePath(obj2[i]);
|
||||
};
|
||||
|
||||
if ( !Arrays.equals(real, expected) ) {
|
||||
throw new RuntimeException("The tree selection path is wrong.");
|
||||
}
|
||||
}
|
||||
|
||||
public static class DummyDefaultTreeSelectionModel extends DefaultTreeSelectionModel {
|
||||
public void insureRowContinuity() {
|
||||
super.insureRowContinuity();
|
||||
}
|
||||
}
|
||||
|
||||
public static class DummyRowMapper implements RowMapper {
|
||||
public int[] getRowsForPaths(TreePath[] path) {
|
||||
int rows[] = new int[path.length];
|
||||
for (int i = 0;i < path.length; i++) {
|
||||
String userObject = path[i].getPathComponent(0).toString();
|
||||
rows[i] = Integer.valueOf(userObject);
|
||||
}
|
||||
return rows;
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] argv) throws Exception {
|
||||
bug4485322 b = new bug4485322();
|
||||
SwingUtilities.invokeAndWait(() -> b.init());
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user