FileNameOverrideTest.java revision 9330:8b1f1c2a400f
1/* 2 * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24/* 25 test 26 @bug 6260659 27 @summary File Name set programmatically in FileDialog is overridden during navigation, XToolkit 28 @author Dmitry.Cherepanov@SUN.COM area=awt.filedialog 29 @library ../../regtesthelpers 30 @build Sysout 31 @run applet/manual=yesno FileNameOverrideTest.html 32*/ 33 34import test.java.awt.regtesthelpers.Sysout; 35 36import java.applet.Applet; 37import java.awt.*; 38import java.awt.event.ActionEvent; 39import java.awt.event.ActionListener; 40import java.io.File; 41import java.io.IOException; 42 43public class FileNameOverrideTest extends Applet implements ActionListener { 44 private final static String fileName = "input"; 45 private final static String clickDirName = "Directory for double click"; 46 private final static String dirPath = "."; 47 private Button showBtn; 48 private FileDialog fd; 49 50 public void init() { 51 this.setLayout(new GridLayout(1, 1)); 52 53 fd = new FileDialog(new Frame(), "Open"); 54 55 showBtn = new Button("Show File Dialog"); 56 showBtn.addActionListener(this); 57 add(showBtn); 58 59 try { 60 File tmpFileUp = new File(dirPath + File.separator + fileName); 61 File tmpDir = new File(dirPath + File.separator + clickDirName); 62 File tmpFileIn = new File(tmpDir.getAbsolutePath() + File.separator + fileName); 63 tmpDir.mkdir(); 64 tmpFileUp.createNewFile(); 65 tmpFileIn.createNewFile(); 66 } catch (IOException ex) { 67 throw new RuntimeException("Cannot create test folder", ex); 68 } 69 70 String[] instructions = { 71 "1) Click on 'Show File Dialog' button. A file dialog will come up.", 72 "2) Double-click on '" + clickDirName + "' and click OK.", 73 "3) See result of the test below" 74 }; 75 Sysout.createDialogWithInstructions(instructions); 76 }//End init() 77 78 public void start() { 79 setSize(200, 200); 80 show(); 81 }// start() 82 83 public void actionPerformed(ActionEvent e) { 84 if (e.getSource() == showBtn) { 85 fd.setFile(fileName); 86 fd.setDirectory(dirPath); 87 fd.setVisible(true); 88 String output = fd.getFile(); 89 if (fileName.equals(output)) { 90 Sysout.println("TEST PASSED"); 91 } else { 92 Sysout.println("TEST FAILED (output file - " + output + ")"); 93 } 94 } 95 } 96}// class ManualYesNoTest 97