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.
82 lines
3.5 KiB
82 lines
3.5 KiB
package com.fr.design; |
|
|
|
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.fun.ToolbarItemProvider; |
|
import com.fr.design.gui.core.WidgetOption; |
|
import com.fr.design.i18n.Toolkit; |
|
import com.fr.design.mainframe.JTemplate; |
|
import com.fr.general.ModuleContext; |
|
import com.fr.report.restriction.CellCountRestriction; |
|
import com.fr.report.restriction.ReportRestrictionScene; |
|
import com.fr.restriction.Restrictions; |
|
import com.fr.stable.Filter; |
|
import com.fr.stable.module.Module; |
|
import junit.framework.TestCase; |
|
import org.easymock.EasyMock; |
|
import org.junit.Assert; |
|
import org.junit.runner.RunWith; |
|
import org.powermock.api.easymock.PowerMock; |
|
import org.powermock.core.classloader.annotations.PowerMockIgnore; |
|
import org.powermock.core.classloader.annotations.PrepareForTest; |
|
import org.powermock.modules.junit4.PowerMockRunner; |
|
|
|
import java.util.HashSet; |
|
import java.util.Set; |
|
|
|
/** |
|
* @author zack |
|
* @version 10.0 |
|
* Created by zack on 2019/9/17 |
|
*/ |
|
@RunWith(PowerMockRunner.class) |
|
@PrepareForTest({Toolkit.class}) |
|
@PowerMockIgnore("javax.swing.*") |
|
public class ExtraDesignClassManagerTest extends TestCase { |
|
@Override |
|
protected void setUp() throws Exception { |
|
PowerMock.mockStatic(Toolkit.class); |
|
EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); |
|
PowerMock.replayAll(); |
|
DaoContext.setEntityDao(new LocalEntityDao()); |
|
DaoContext.setClassHelperDao(new LocalClassHelperDao()); |
|
DaoContext.setXmlEntityDao(new LocalXmlEntityDao()); |
|
ModuleContext.startModule(Module.PAGE_MODULE); |
|
Restrictions.register(ReportRestrictionScene.CELL_COUNT, new CellCountRestriction()); |
|
} |
|
|
|
public void testGetWebOption() { |
|
try { |
|
final JTemplate jTemplate = EasyMock.mock(JTemplate.class); |
|
ToolbarItemProvider item = EasyMock.mock(ToolbarItemProvider.class); |
|
ToolbarItemProvider item1 = EasyMock.mock(ToolbarItemProvider.class); |
|
EasyMock.expect(item.accept(jTemplate)).andReturn(false).anyTimes(); |
|
EasyMock.expect(item.classForWidget()).andReturn(null).anyTimes(); |
|
EasyMock.expect(item.iconPathForWidget()).andReturn("").anyTimes(); |
|
EasyMock.expect(item.nameForWidget()).andReturn("1").anyTimes(); |
|
EasyMock.expect(item1.accept(jTemplate)).andReturn(true).anyTimes(); |
|
EasyMock.expect(item1.classForWidget()).andReturn(null).anyTimes(); |
|
EasyMock.expect(item1.iconPathForWidget()).andReturn("").anyTimes(); |
|
EasyMock.expect(item1.nameForWidget()).andReturn("2").anyTimes(); |
|
EasyMock.replay(item); |
|
EasyMock.replay(item1); |
|
|
|
Set<ToolbarItemProvider> set = new HashSet<>(); |
|
set.add(item); |
|
set.add(item1); |
|
WidgetOption[] widgetOptions = ExtraDesignClassManager.getInstance().getWebWidgetOptions(set, new Filter<ToolbarItemProvider>() { |
|
@Override |
|
public boolean accept(ToolbarItemProvider toolbarItemProvider) { |
|
return toolbarItemProvider.accept(jTemplate); |
|
} |
|
}); |
|
WidgetOption[] widgetOptions1 = ExtraDesignClassManager.getInstance().getWebWidgetOptions(set, null); |
|
Assert.assertEquals(1, widgetOptions.length); |
|
Assert.assertEquals(2, widgetOptions1.length); |
|
} catch (Exception e) { |
|
Assert.fail(e.getMessage()); |
|
} |
|
} |
|
} |