You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
4.3 KiB
109 lines
4.3 KiB
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()); |
|
} |
|
} |