Skip to content

Commit

Permalink
test: give file chooser's names and wait idle
Browse files Browse the repository at this point in the history
Signed-off-by: Hiroshi Miura <[email protected]>
  • Loading branch information
miurahr committed Nov 20, 2024
1 parent 006c74c commit 3031cd0
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import java.awt.Component;
import java.awt.datatransfer.DataFlavor;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
Expand Down Expand Up @@ -172,31 +171,28 @@ public void show(final Component parent) {
picker.sourceLanguagePicker.setRenderer(new LanguageComboBoxRenderer());
picker.sourceLanguagePicker.setSelectedItem(sourceLanguage);
picker.sourceLanguagePicker.setName("sourceLanguagePicker");
picker.sourceLanguagePicker.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() != ItemEvent.SELECTED) {
return;
}
if (e.getItem() instanceof String) {
String newVal = (String) e.getItem();
if (Language.verifySingleLangCode(newVal)) {
sourceLanguage = new Language(newVal);
} else {
sourceLanguage = null;
JOptionPane.showMessageDialog(frame,
BUNDLE.getString("NP_INVALID_SOURCE_LOCALE")
+ BUNDLE.getString("NP_LOCALE_SUGGESTION"),
BUNDLE.getString("TF_ERROR"), JOptionPane.ERROR_MESSAGE);
picker.sourceLanguagePicker.requestFocusInWindow();
}
} else if (e.getItem() instanceof Language) {
sourceLanguage = (Language) e.getItem();
picker.sourceLanguagePicker.addItemListener(e -> {
if (e.getStateChange() != ItemEvent.SELECTED) {
return;
}
if (e.getItem() instanceof String) {
String newVal = (String) e.getItem();
if (Language.verifySingleLangCode(newVal)) {
sourceLanguage = new Language(newVal);
} else {
throw new IllegalArgumentException();
sourceLanguage = null;
JOptionPane.showMessageDialog(frame,
BUNDLE.getString("NP_INVALID_SOURCE_LOCALE")
+ BUNDLE.getString("NP_LOCALE_SUGGESTION"),
BUNDLE.getString("TF_ERROR"), JOptionPane.ERROR_MESSAGE);
picker.sourceLanguagePicker.requestFocusInWindow();
}
updatePicker(picker);
} else if (e.getItem() instanceof Language) {
sourceLanguage = (Language) e.getItem();
} else {
throw new IllegalArgumentException();
}
updatePicker(picker);
});
picker.targetLanguagePicker
.setModel(new DefaultComboBoxModel<>(new Vector<>(Language.getLanguages())));
Expand Down Expand Up @@ -228,7 +224,7 @@ public void itemStateChanged(ItemEvent e) {
});
picker.sourceChooseFileButton.addActionListener(e -> {
File file = chooseFile(frame, BUNDLE.getString("ALIGNER_FILEPICKER_CHOOSE_SOURCE"),
StringUtil.isEmpty(sourceFile) ? sourceDefaultDir : sourceFile);
StringUtil.isEmpty(sourceFile) ? sourceDefaultDir : sourceFile, "aligner_choose_source");
if (file != null) {
sourceDefaultDir = file.getParent();
targetDefaultDir = targetDefaultDir == null ? sourceDefaultDir : targetDefaultDir;
Expand All @@ -239,7 +235,7 @@ public void itemStateChanged(ItemEvent e) {
});
picker.targetChooseFileButton.addActionListener(e -> {
File file = chooseFile(frame, BUNDLE.getString("ALIGNER_FILEPICKER_CHOOSE_TARGET"),
StringUtil.isEmpty(targetFile) ? targetDefaultDir : targetFile);
StringUtil.isEmpty(targetFile) ? targetDefaultDir : targetFile, "aligner_choose_target");
if (file != null) {
targetDefaultDir = file.getParent();
sourceDefaultDir = sourceDefaultDir == null ? targetDefaultDir : sourceDefaultDir;
Expand Down Expand Up @@ -466,8 +462,9 @@ private static List<File> getSupportedFiles(List<?> files) {
return result;
}

static File chooseFile(Component parent, String title, String dir) {
static File chooseFile(Component parent, String title, String dir, String name) {
JFileChooser chooser = new JFileChooser(dir);
chooser.setName(name);
chooser.setDialogTitle(title);
chooser.setFileFilter(new FileFilter() {
@Override
Expand Down
14 changes: 10 additions & 4 deletions test-acceptance/src/org/omegat/gui/align/AlignerWindowTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,17 @@ public void testAligner() throws Exception {
picker.comboBox("targetLanguagePicker").requireSelection("fr - French");
//
picker.button("sourceChooseFileButton").click();
picker.fileChooser().selectFile(new File(tmpDir, SOURCE_PATH));
picker.fileChooser().approve();
picker.fileChooser("aligner_choose_source").requireVisible();
picker.fileChooser("aligner_choose_source").selectFile(new File(tmpDir, SOURCE_PATH));
picker.fileChooser("aligner_choose_source").approve();
robot().waitForIdle();
//
picker.button("targetChooseFileButton").click();
picker.fileChooser().selectFile(new File(tmpDir, TARGET_PATH));
picker.fileChooser().approve();
picker.fileChooser("aligner_choose_target").requireVisible();
picker.fileChooser("aligner_choose_target").selectFile(new File(tmpDir, TARGET_PATH));
picker.fileChooser("aligner_choose_target").approve();
robot().waitForIdle();
//
String srcFile = picker.textBox("sourceLanguageFileField").text();
assertNotNull(srcFile);
assertTrue(srcFile.endsWith(SOURCE_PATH.substring(SOURCE_PATH.indexOf('/') + 1)));
Expand Down

0 comments on commit 3031cd0

Please sign in to comment.