|
|
|
package com.fr.design.menu;
|
|
|
|
|
|
|
|
import com.fr.config.dao.DaoContext;
|
|
|
|
import com.fr.config.dao.impl.LocalClassHelperDao;
|
|
|
|
import com.fr.config.dao.impl.LocalEntityDao;
|
|
|
|
import com.fr.config.dao.impl.LocalXmlEntityDao;
|
|
|
|
import com.fr.design.actions.UpdateAction;
|
|
|
|
import com.fr.design.i18n.Toolkit;
|
|
|
|
import com.fr.design.notification.SnapChatAllTypes;
|
|
|
|
import com.fr.design.notification.SnapChatConfig;
|
|
|
|
import com.fr.stable.xml.XMLableReader;
|
|
|
|
import com.fr.store.StateHubManager;
|
|
|
|
import com.fr.store.impl.MemoryLock;
|
|
|
|
import com.fr.store.impl.MemoryStore;
|
|
|
|
import com.fr.transaction.Configurations;
|
|
|
|
import com.fr.transaction.LocalConfigurationHelper;
|
|
|
|
import org.easymock.EasyMock;
|
|
|
|
import org.junit.Assert;
|
|
|
|
import org.junit.Before;
|
|
|
|
import org.junit.Ignore;
|
|
|
|
import org.junit.Test;
|
|
|
|
import org.junit.runner.RunWith;
|
|
|
|
import org.powermock.api.easymock.PowerMock;
|
|
|
|
import org.powermock.api.support.membermodification.MemberMatcher;
|
|
|
|
import org.powermock.core.classloader.annotations.PowerMockIgnore;
|
|
|
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
|
|
|
import org.powermock.modules.junit4.PowerMockRunner;
|
|
|
|
import org.powermock.reflect.Whitebox;
|
|
|
|
|
|
|
|
import java.awt.event.ActionEvent;
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
|
|
|
@RunWith(PowerMockRunner.class)
|
|
|
|
@PrepareForTest({Toolkit.class, SnapChatConfig.class, SnapChatUpdateAction.class})
|
|
|
|
@PowerMockIgnore({"javax.crypto.*","javax.net.ssl.*","sun.security.ssl.*","com.sun.*"})
|
|
|
|
@Ignore()
|
|
|
|
public class SnapChatMenuDefTest {
|
|
|
|
|
|
|
|
@Before
|
|
|
|
public void before() throws Exception {
|
|
|
|
PowerMock.mockStatic(Toolkit.class);
|
|
|
|
EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes();
|
|
|
|
DaoContext.setXmlEntityDao(new LocalXmlEntityDao());
|
|
|
|
DaoContext.setClassHelperDao(new LocalClassHelperDao());
|
|
|
|
DaoContext.setEntityDao(new LocalEntityDao());
|
|
|
|
StateHubManager.setLock(new MemoryLock());
|
|
|
|
StateHubManager.setStorage(new MemoryStore());
|
|
|
|
Configurations.setHelper(new LocalConfigurationHelper());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testAddShortCut() throws Exception {
|
|
|
|
PowerMock.suppress(MemberMatcher.constructor(UpdateAction.class));
|
|
|
|
SnapChatConfig snapChatConfig = EasyMock.partialMockBuilder(SnapChatConfig.class)
|
|
|
|
.addMockedMethod("readXML")
|
|
|
|
.createMock();
|
|
|
|
Whitebox.setInternalState(snapChatConfig, "markReadMap", new HashMap());
|
|
|
|
snapChatConfig.readXML(EasyMock.anyObject(XMLableReader.class));
|
|
|
|
EasyMock.expectLastCall().anyTimes();
|
|
|
|
EasyMock.replay(snapChatConfig);
|
|
|
|
|
|
|
|
PowerMock.mockStatic(SnapChatConfig.class);
|
|
|
|
EasyMock.expect(SnapChatConfig.getInstance()).andReturn(snapChatConfig).anyTimes();
|
|
|
|
PowerMock.replayAll();
|
|
|
|
|
|
|
|
SnapChatMenuDef menuDef = new SnapChatMenuDef("test", SnapChatAllTypes.Menu.BBS);
|
|
|
|
ShortCut action = new SnapChatUpdateAction(SnapChatAllTypes.Menu.BBS) {
|
|
|
|
@Override
|
|
|
|
protected void actionPerformed0(ActionEvent e) {
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
Assert.assertTrue(menuDef.hasRead());
|
|
|
|
|
|
|
|
menuDef.addShortCut(action);
|
|
|
|
Assert.assertFalse(menuDef.hasRead());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testInsertShortCut() throws Exception {
|
|
|
|
|
|
|
|
PowerMock.suppress(MemberMatcher.constructor(UpdateAction.class));
|
|
|
|
SnapChatConfig snapChatConfig = EasyMock.partialMockBuilder(SnapChatConfig.class)
|
|
|
|
.addMockedMethod("readXML")
|
|
|
|
.createMock();
|
|
|
|
Whitebox.setInternalState(snapChatConfig, "markReadMap", new HashMap());
|
|
|
|
snapChatConfig.readXML(EasyMock.anyObject(XMLableReader.class));
|
|
|
|
EasyMock.expectLastCall().anyTimes();
|
|
|
|
EasyMock.replay(snapChatConfig);
|
|
|
|
|
|
|
|
PowerMock.mockStatic(SnapChatConfig.class);
|
|
|
|
EasyMock.expect(SnapChatConfig.getInstance()).andReturn(snapChatConfig).anyTimes();
|
|
|
|
PowerMock.replayAll();
|
|
|
|
|
|
|
|
SnapChatMenuDef menuDef = new SnapChatMenuDef("test", SnapChatAllTypes.Menu.BBS);
|
|
|
|
ShortCut action = new SnapChatUpdateAction(SnapChatAllTypes.Menu.BBS) {
|
|
|
|
@Override
|
|
|
|
protected void actionPerformed0(ActionEvent e) {
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
Assert.assertTrue(menuDef.hasRead());
|
|
|
|
|
|
|
|
menuDef.insertShortCut(0, action);
|
|
|
|
Assert.assertFalse(menuDef.hasRead());
|
|
|
|
}
|
|
|
|
}
|