package org.robotframework.swing.menu; import jdave.junit4.JDaveRunner; import org.jmock.Expectations; import org.jmock.Sequence; import org.junit.runner.RunWith; import org.netbeans.jemmy.operators.JMenuBarOperator; import org.netbeans.jemmy.operators.JMenuItemOperator; import org.robotframework.jdave.mock.MockSupportSpecification; import org.robotframework.swing.comparator.EqualsStringComparator; @RunWith(JDaveRunner.class) public class MenuSupportSpec extends MockSupportSpecification<MenuSupport> { public class Any { private JMenuBarOperator menuBarOperator; public MenuSupport create() { menuBarOperator = mock(JMenuBarOperator.class); return new MenuSupport() { protected JMenuBarOperator menubarOperator() { return menuBarOperator; } }; } public void showsMenuItem() { final Sequence avoidInstability = sequence("avoidingInstability"); final JMenuItemOperator menuItemOperator = mock(JMenuItemOperator.class); final String menuPath = "some|menu"; checking(new Expectations() {{ one(menuBarOperator).showMenuItem(menuPath); will(returnValue(menuItemOperator)); inSequence(avoidInstability); one(menuItemOperator).setComparator(with(any(EqualsStringComparator.class))); inSequence(avoidInstability); one(menuItemOperator).grabFocus(); inSequence(avoidInstability); }}); context.showMenuItem(menuPath); } } }