< prev index next >

test/org/netbeans/jemmy/operators/FileChooserTest.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2017, 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. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2017, 2018, 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. Oracle designates this
*** 22,52 **** * or visit www.oracle.com if you need additional information or have any * questions. */ package org.netbeans.jemmy.operators; ! import org.netbeans.jemmy.ComponentChooser; ! import org.netbeans.jemmy.util.Dumper; ! import org.testng.ITestResult; ! import org.testng.annotations.AfterClass; ! import org.testng.annotations.AfterMethod; ! import org.testng.annotations.BeforeClass; ! import org.testng.annotations.Test; - import javax.swing.JFileChooser; import java.awt.Component; import java.awt.Container; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; ! import static org.testng.Assert.assertEquals; ! import static org.testng.Assert.assertNotNull; ! import static org.testng.Assert.assertTrue; public class FileChooserTest { private JFileChooserOperator fileChooser; private File dir, file; @BeforeClass public void setup() throws IOException { --- 22,55 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ package org.netbeans.jemmy.operators; ! import static org.testng.Assert.assertTrue; import java.awt.Component; import java.awt.Container; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; ! import javax.swing.JFileChooser; ! import javax.swing.UIManager; ! import javax.swing.filechooser.FileSystemView; ! ! import org.netbeans.jemmy.ComponentChooser; ! import org.netbeans.jemmy.LookAndFeelProvider; ! import org.netbeans.jemmy.util.Dumper; ! import org.testng.ITestResult; ! import org.testng.annotations.AfterMethod; ! import org.testng.annotations.BeforeClass; ! import org.testng.annotations.BeforeMethod; ! import org.testng.annotations.Test; public class FileChooserTest { + private JFrameOperator frame; private JFileChooserOperator fileChooser; private File dir, file; @BeforeClass public void setup() throws IOException {
*** 54,75 **** dir.delete(); dir.mkdirs(); File.createTempFile("aestFile", ".txt", dir).deleteOnExit(); file = File.createTempFile("testFile", ".txt", dir); file.deleteOnExit(); File.createTempFile("zestFile", ".txt", dir).deleteOnExit(); FileChooserApp.show(dir); ! JFrameOperator frame = new JFrameOperator("Sample File Chooser"); fileChooser = new JFileChooserOperator( JFileChooserOperator.findJFileChooser((Container) frame.getSource())); } @AfterMethod public void tearDown(ITestResult result) throws FileNotFoundException { if(!result.isSuccess()) ! Dumper.dumpAll(new File(result.getMethod() + "-dump.xml").getAbsolutePath()); } ! @Test ! public void testSelection() { fileChooser.selectFile(file.getName()); fileChooser.waitState(new ComponentChooser() { @Override public boolean checkComponent(Component comp) { return ((JFileChooser)comp).getSelectedFile() != null && --- 57,88 ---- dir.delete(); dir.mkdirs(); File.createTempFile("aestFile", ".txt", dir).deleteOnExit(); file = File.createTempFile("testFile", ".txt", dir); file.deleteOnExit(); File.createTempFile("zestFile", ".txt", dir).deleteOnExit(); + } + + @BeforeMethod + public void setUpBeforeMethod(Object[] args) throws Exception { + UIManager.setLookAndFeel((String)args[0]); FileChooserApp.show(dir); ! frame = new JFrameOperator("Sample File Chooser"); fileChooser = new JFileChooserOperator( JFileChooserOperator.findJFileChooser((Container) frame.getSource())); } + @AfterMethod public void tearDown(ITestResult result) throws FileNotFoundException { + frame.setVisible(false); + frame.dispose(); if(!result.isSuccess()) ! Dumper.dumpAll(new File(UIManager.getLookAndFeel().getClass().getSimpleName() ! + "_" + result.getMethod() + "-dump.xml").getAbsolutePath()); } ! ! @Test(dataProvider = "availableLookAndFeels", dataProviderClass = LookAndFeelProvider.class) ! public void testSelection(String lookAndFeel) throws Exception { fileChooser.selectFile(file.getName()); fileChooser.waitState(new ComponentChooser() { @Override public boolean checkComponent(Component comp) { return ((JFileChooser)comp).getSelectedFile() != null &&
*** 80,89 **** public String getDescription() { return "test file is selected"; } }); } ! @Test ! public void testCount() { assertTrue(fileChooser.getFileCount() >= 3); } } --- 93,119 ---- public String getDescription() { return "test file is selected"; } }); } ! ! @Test(dataProvider = "availableLookAndFeels", dataProviderClass = LookAndFeelProvider.class) ! public void testCount(String lookAndFeel) throws Exception { assertTrue(fileChooser.getFileCount() >= 3); } + + @Test(dataProvider = "availableLookAndFeels", dataProviderClass = LookAndFeelProvider.class) + public void testGoHome(String lookAndFeel) throws Exception { + // In Aqua, GTK and Motif L&Fs, JFileChooser does not have + // "Go Home" button. + if (!UIManager.getLookAndFeel().getID().equals("Aqua") + && !UIManager.getLookAndFeel().getID().equals("Motif") + && !UIManager.getLookAndFeel().getID().equals("GTK")) { + File previousDirectory = fileChooser.getCurrentDirectory(); + fileChooser.goHome(); + fileChooser.waitState(chooser -> fileChooser.getCurrentDirectory().getPath().equals( + FileSystemView.getFileSystemView().getHomeDirectory().getPath())); + fileChooser.setCurrentDirectory(previousDirectory); + fileChooser.rescanCurrentDirectory(); + } + } }
< prev index next >