⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 componentmatcherstest.java

📁 基于Junit的 功能和单元测试的的测试工具。只支持Swing.
💻 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 + -