📄 componentmatcherstest.java
字号:
package org.uispec4j.finder;
import org.uispec4j.ComponentAmbiguityException;
import org.uispec4j.ItemNotFoundException;
import org.uispec4j.TestUtils;
import javax.swing.*;
import java.awt.*;
public class ComponentMatchersTest extends PanelComponentFinderTestCase {
private JButton button1;
private JButton button2;
private JTextField textField;
protected void setUp() throws Exception {
super.setUp();
button1 = (JButton)addComponent(JButton.class, "displayed1");
button1.setName("inner1");
button2 = (JButton)addComponent(JButton.class, "displayed2");
button2.setName("inner2");
textField = (JTextField)addComponent(JTextField.class, "displayed1");
textField.setName("inner1");
Component component = addComponent(JButton.class, "other");
component.setName("else");
}
public void testClassComponentMatcher() throws Exception {
TestUtils.assertSwingComponentsEquals(new Component[]{textField},
panel.getSwingComponents(ComponentMatchers.fromClass(JTextField.class)));
}
public void testDisplayedNameIdentity() throws Exception {
TestUtils.assertUIComponentRefersTo(button2,
panel.getButton(ComponentMatchers.displayedNameIdentity("displayed2")));
try {
panel.getButton(ComponentMatchers.displayedNameIdentity("displayed"));
fail();
}
catch (ItemNotFoundException e) {
assertEquals("No component found", e.getMessage());
}
try {
panel.getButton(ComponentMatchers.displayedNameIdentity("inner2"));
fail();
}
catch (ItemNotFoundException e) {
assertEquals("No component found", e.getMessage());
}
TestUtils.assertSwingComponentsEquals(new Component[]{button1, textField},
panel.getSwingComponents(ComponentMatchers.displayedNameIdentity("displayed1")));
}
public void testDisplayedNameSubstring() throws Exception {
TestUtils.assertUIComponentRefersTo(button2,
panel.getButton(ComponentMatchers.displayedNameSubstring("displayed2")));
try {
panel.getButton(ComponentMatchers.displayedNameSubstring("displayed"));
fail();
}
catch (ComponentAmbiguityException e) {
assertEquals(Messages.computeAmbiguityMessage(new Component[]{button1, button2}, null, null), e.getMessage());
}
assertNull(panel.findSwingComponent(ComponentMatchers.displayedNameSubstring("inner")));
TestUtils.assertSwingComponentsEquals(new Component[]{button1, button2, textField},
panel.getSwingComponents(ComponentMatchers.displayedNameSubstring("displayed")));
}
public void testDisplayedNameRegexp() throws Exception {
TestUtils.assertUIComponentRefersTo(button2,
panel.getButton(ComponentMatchers.displayedNameRegexp("displaye.?2")));
try {
panel.getButton(ComponentMatchers.displayedNameRegexp("displayed.?"));
fail();
}
catch (ComponentAmbiguityException e) {
assertEquals(Messages.computeAmbiguityMessage(new Component[]{button1, button2}, null, null), e.getMessage());
}
try {
panel.getButton(ComponentMatchers.displayedNameRegexp("inn.*"));
fail();
}
catch (ItemNotFoundException e) {
assertEquals("No component found", e.getMessage());
}
TestUtils.assertSwingComponentsEquals(new Component[]{button1, button2, textField},
panel.getSwingComponents(ComponentMatchers.displayedNameRegexp("dis.*")));
}
public void testInnerNameIdentity() throws Exception {
TestUtils.assertUIComponentRefersTo(button2,
panel.getButton(ComponentMatchers.innerNameIdentity("inner2")));
}
public void testInnerNameSubstring() throws Exception {
TestUtils.assertSwingComponentsEquals(new Component[]{button1, button2, textField},
panel.getSwingComponents(ComponentMatchers.innerNameSubstring("inner")));
}
public void testInnerNameRegexp() throws Exception {
TestUtils.assertUIComponentRefersTo(button2,
panel.getButton(ComponentMatchers.innerNameRegexp("inne.?2")));
try {
panel.getButton(ComponentMatchers.innerNameRegexp("disp.*"));
fail();
}
catch (ItemNotFoundException e) {
assertEquals("No component found", e.getMessage());
}
TestUtils.assertSwingComponentsEquals(new Component[]{button1, button2, textField},
panel.getSwingComponents(ComponentMatchers.innerNameRegexp("inn.*")));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -