|
1 | 1 | /* |
2 | | - * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. |
| 2 | + * Copyright (c) 2008, 2024, Oracle and/or its affiliates. All rights reserved. |
3 | 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 | 4 | * |
5 | 5 | * This code is free software; you can redistribute it and/or modify it |
|
21 | 21 | * questions. |
22 | 22 | */ |
23 | 23 |
|
24 | | -/* @test |
25 | | - @bug 6698013 |
26 | | - @summary JFileChooser can no longer navigate non-local file systems. |
27 | | - @run applet/manual=done bug6698013.html |
28 | | -*/ |
29 | | - |
30 | 24 | import java.io.File; |
31 | | - |
32 | | -import javax.swing.JApplet; |
33 | 25 | import javax.swing.JFileChooser; |
34 | 26 | import javax.swing.SwingUtilities; |
35 | 27 | import javax.swing.filechooser.FileSystemView; |
36 | 28 |
|
37 | | -public class bug6698013 extends JApplet { |
38 | | - |
39 | | - final static VirtualFile root = new VirtualFile("testdir", true); |
40 | | - |
41 | | - final static VirtualFile rootFile = new VirtualFile("testdir/test.txt", false); |
| 29 | +/* |
| 30 | + * @test |
| 31 | + * @bug 6698013 |
| 32 | + * @library /java/awt/regtesthelpers |
| 33 | + * @build PassFailJFrame |
| 34 | + * @summary JFileChooser can no longer navigate non-local file systems. |
| 35 | + * @run main/manual bug6698013 |
| 36 | + */ |
42 | 37 |
|
43 | | - final static VirtualFile subdir = new VirtualFile("testdir/subdir", true); |
| 38 | +public class bug6698013 { |
44 | 39 |
|
45 | | - final static VirtualFile subdirFile = new VirtualFile("testdir/subdir/subtest.txt", false); |
| 40 | + final static VirtualFile root = new VirtualFile("testdir", true); |
46 | 41 |
|
47 | 42 | public static void main(String[] args) throws Exception { |
48 | | - SwingUtilities.invokeAndWait(() -> new bug6698013().init()); |
49 | | - } |
50 | | - |
51 | | - public void init() { |
52 | | - JFileChooser chooser = new JFileChooser(new VirtualFileSystemView()); |
53 | | - chooser.setCurrentDirectory(root); |
54 | | - chooser.showOpenDialog(null); |
| 43 | + String instructions = """ |
| 44 | + 1. Go into 'subdir' folder via double click |
| 45 | + 2. Return to parent directory |
| 46 | + 3. Go into 'subdir' folder: select 'subdir' folder and press the 'Open' button |
| 47 | + If both methods of navigating into the subdir work, pass test. Otherwise fail."""; |
| 48 | + |
| 49 | + PassFailJFrame pfframe = PassFailJFrame.builder() |
| 50 | + .title("bug6698013") |
| 51 | + .instructions(instructions) |
| 52 | + .rows(25) |
| 53 | + .columns(40) |
| 54 | + .testTimeOut(10) |
| 55 | + .build(); |
| 56 | + |
| 57 | + SwingUtilities.invokeAndWait(() -> { |
| 58 | + JFileChooser chooser = new JFileChooser(new VirtualFileSystemView()); |
| 59 | + chooser.setCurrentDirectory(root); |
| 60 | + chooser.showOpenDialog(null); |
| 61 | + }); |
| 62 | + |
| 63 | + pfframe.awaitAndCheck(); |
55 | 64 | } |
56 | 65 | } |
57 | 66 |
|
58 | 67 | class VirtualFileSystemView extends FileSystemView { |
| 68 | + final static VirtualFile rootFile = new VirtualFile("testdir/test.txt", false); |
| 69 | + final static VirtualFile subdir = new VirtualFile("testdir/subdir", true); |
| 70 | + final static VirtualFile subdirFile = new VirtualFile("testdir/subdir/subtest.txt", false); |
59 | 71 |
|
60 | 72 | public boolean isRoot(File dir) { |
61 | 73 | return bug6698013.root.equals(dir); |
@@ -87,11 +99,11 @@ public File getParentDirectory(File dir) { |
87 | 99 |
|
88 | 100 | public File[] getFiles(File dir, boolean hide_hidden) { |
89 | 101 | if (dir.equals(bug6698013.root)) { |
90 | | - return new File[]{bug6698013.rootFile, bug6698013.subdir}; |
| 102 | + return new File[]{rootFile, subdir}; |
91 | 103 | } |
92 | 104 |
|
93 | | - if (dir.equals(bug6698013.subdir)) { |
94 | | - return new File[]{bug6698013.subdirFile}; |
| 105 | + if (dir.equals(subdir)) { |
| 106 | + return new File[]{subdirFile}; |
95 | 107 | } |
96 | 108 |
|
97 | 109 | return null; |
|
0 commit comments