Code: Select all
import org.fest.swing.edt.FailOnThreadViolationRepaintManager;
import org.fest.swing.edt.GuiActionRunner;
import org.fest.swing.edt.GuiQuery;
import org.fest.swing.exception.EdtViolationException;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import javax.swing.JTextField;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertThrows;
class EdtTest {
@BeforeAll
static void beforeAll() {
FailOnThreadViolationRepaintManager.install();
}
@Test
void settingThrows_butAccessingDoesNot() {
JTextField textField = GuiActionRunner.execute(new GuiQuery() {
@Override
protected JTextField executeInEDT() {
return new JTextField();
}
});
String text = "Some text";
assertThrows(EdtViolationException.class, () -> textField.setText(text));
assertDoesNotThrow(() -> textField.getText());
}
}