diff --git a/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java b/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java index 8d996611eb..1377e39428 100644 --- a/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java +++ b/designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java @@ -6,8 +6,8 @@ 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.design.mainframe.JVirtualTemplate; import com.fr.general.ModuleContext; import com.fr.report.restriction.CellCountRestriction; import com.fr.report.restriction.ReportRestrictionScene; @@ -17,6 +17,11 @@ 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; @@ -26,9 +31,15 @@ import java.util.Set; * @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()); @@ -38,7 +49,7 @@ public class ExtraDesignClassManagerTest extends TestCase { public void testGetWebOption() { try { - final JTemplate jTemplate = new JVirtualTemplate(null); + 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(); diff --git a/designer-base/src/test/java/com/fr/design/extra/PluginUtilsTest.java b/designer-base/src/test/java/com/fr/design/extra/PluginUtilsTest.java index bbb809ebfe..a77a91cd5b 100644 --- a/designer-base/src/test/java/com/fr/design/extra/PluginUtilsTest.java +++ b/designer-base/src/test/java/com/fr/design/extra/PluginUtilsTest.java @@ -17,7 +17,7 @@ public class PluginUtilsTest { Assert.assertTrue(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "9.0").get()); Assert.assertTrue(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "9~").get()); Assert.assertTrue(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "10").get()); - Assert.assertFalse(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "11").get()); + Assert.assertTrue(Reflect.on(PluginUtils.class).call("isCompatibleCurrentEnv", "11").get()); } } diff --git a/designer-base/src/test/java/com/fr/design/mainframe/JFormSliderPaneTest.java b/designer-base/src/test/java/com/fr/design/mainframe/JFormSliderPaneTest.java index 697bc89381..5853b10094 100644 --- a/designer-base/src/test/java/com/fr/design/mainframe/JFormSliderPaneTest.java +++ b/designer-base/src/test/java/com/fr/design/mainframe/JFormSliderPaneTest.java @@ -1,14 +1,32 @@ package com.fr.design.mainframe; +import com.fr.base.ScreenResolution; +import com.fr.design.i18n.Toolkit; import com.fr.invoke.Reflect; +import org.easymock.EasyMock; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; +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; /** * Created by kerry on 2020-07-28 */ +@RunWith(PowerMockRunner.class) +@PrepareForTest({Toolkit.class}) +@PowerMockIgnore("javax.swing.*") public class JFormSliderPaneTest { + @Before + public void setUp() throws Exception { + PowerMock.mockStatic(Toolkit.class); + EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); + PowerMock.replayAll(); + } @Test public void testGetPreferredValue() { diff --git a/designer-base/src/test/java/com/fr/design/menu/SnapChatMenuDefTest.java b/designer-base/src/test/java/com/fr/design/menu/SnapChatMenuDefTest.java index 298f51a4cc..277e7101bc 100644 --- a/designer-base/src/test/java/com/fr/design/menu/SnapChatMenuDefTest.java +++ b/designer-base/src/test/java/com/fr/design/menu/SnapChatMenuDefTest.java @@ -5,6 +5,7 @@ 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; @@ -29,13 +30,14 @@ import java.awt.event.ActionEvent; import java.util.HashMap; @RunWith(PowerMockRunner.class) -@PrepareForTest({SnapChatConfig.class, SnapChatUpdateAction.class}) +@PrepareForTest({Toolkit.class, SnapChatConfig.class, SnapChatUpdateAction.class}) @PowerMockIgnore({"javax.crypto.*","javax.net.ssl.*","sun.security.ssl.*","com.sun.*"}) 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()); @@ -46,7 +48,6 @@ public class SnapChatMenuDefTest { @Test public void testAddShortCut() throws Exception { - PowerMock.suppress(MemberMatcher.constructor(UpdateAction.class)); SnapChatConfig snapChatConfig = EasyMock.partialMockBuilder(SnapChatConfig.class) .addMockedMethod("readXML") diff --git a/designer-base/src/test/java/com/fr/design/os/impl/SupportOSImplTest.java b/designer-base/src/test/java/com/fr/design/os/impl/SupportOSImplTest.java index ee0804d362..d49ab5e073 100644 --- a/designer-base/src/test/java/com/fr/design/os/impl/SupportOSImplTest.java +++ b/designer-base/src/test/java/com/fr/design/os/impl/SupportOSImplTest.java @@ -1,11 +1,15 @@ package com.fr.design.os.impl; import com.fr.general.GeneralContext; +import com.fr.third.org.apache.commons.math3.analysis.function.Pow; import junit.framework.TestCase; import org.junit.Assert; import org.junit.Test; import java.util.Locale; + +import org.junit.runner.RunWith; +import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.reflect.Whitebox; /** @@ -13,6 +17,7 @@ import org.powermock.reflect.Whitebox; * @version 10.0 * Created by hades on 2020/1/16 */ +@RunWith(PowerMockRunner.class) public class SupportOSImplTest extends TestCase { @Test diff --git a/designer-base/src/test/java/com/fr/design/update/push/DesignerPushUpdateManagerTest.java b/designer-base/src/test/java/com/fr/design/update/push/DesignerPushUpdateManagerTest.java index 333580f1a6..73c6689696 100644 --- a/designer-base/src/test/java/com/fr/design/update/push/DesignerPushUpdateManagerTest.java +++ b/designer-base/src/test/java/com/fr/design/update/push/DesignerPushUpdateManagerTest.java @@ -41,18 +41,6 @@ public class DesignerPushUpdateManagerTest { assertSame(m1, m2); } - @Test - public void testIsAutoPushUpdateSupported() { - // 中文环境 + 本地设计 -> true - DesignerPushUpdateManager pushUpdateManager = DesignerPushUpdateManager.getInstance(); - assertEquals(true, Reflect.on(pushUpdateManager).call("isAutoPushUpdateSupported", true, true).get()); - - // 非中文环境 || 远程设计 -> false - assertEquals(false, Reflect.on(pushUpdateManager).call("isAutoPushUpdateSupported", false, true).get()); - assertEquals(false, Reflect.on(pushUpdateManager).call("isAutoPushUpdateSupported", true, false).get()); - assertEquals(false, Reflect.on(pushUpdateManager).call("isAutoPushUpdateSupported", false, false).get()); - } - @Test public void testSkipCurrentPushVersion() { DesignerPushUpdateManager pushUpdateManager = DesignerPushUpdateManager.getInstance(); diff --git a/designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java b/designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java index 5d96a6f0b3..bef25e8575 100644 --- a/designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java +++ b/designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java @@ -44,10 +44,11 @@ public class UpmUtilsTest { GeneralContext.setLocale(Locale.CHINA); Map map4Tpl = UpmUtils.renderMap(); - Assert.assertEquals(map4Tpl.size(), 3); + Assert.assertEquals(map4Tpl.size(), 4); Assert.assertEquals(map4Tpl.get("version"), "1.0"); Assert.assertEquals(map4Tpl.get("new_version"), "2.0"); Assert.assertEquals(map4Tpl.get("language"), "zh_CN"); + Assert.assertEquals(map4Tpl.get("designer_version"), "Fine-Core_Basic_About_No_Build"); EasyMock.verify(serverPreferenceConfig, cloudCenter); diff --git a/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java b/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java index 256abeeca8..dcb21f7999 100644 --- a/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java +++ b/designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java @@ -3,20 +3,32 @@ package com.fr.design.utils.gui; import com.fr.design.gui.core.UITextComponent; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ilable.UILabel; +import com.fr.design.i18n.Toolkit; +import com.fr.general.GeneralContext; import com.fr.stable.StringUtils; +import org.easymock.EasyMock; import org.junit.Before; import org.junit.Test; +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 javax.swing.Icon; import java.awt.Component; import java.awt.Graphics; +import java.util.Locale; import static org.junit.Assert.*; /** * Created by plough on 2019/1/11. */ +@RunWith(PowerMockRunner.class) +@PrepareForTest({Toolkit.class}) +@PowerMockIgnore("javax.swing.*") public class UIComponentUtilsTest { private static final String HTML_TAG_TPL = ""; private static final String HTML_TAG = ""; @@ -30,6 +42,9 @@ public class UIComponentUtilsTest { @Before public void setUp() { + PowerMock.mockStatic(Toolkit.class); + EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); + PowerMock.replayAll(); textButton = new UIButton("hello"); emptyTextButton = new UIButton(StringUtils.EMPTY); iconButton = new UIButton(createMockIcon()); @@ -37,13 +52,13 @@ public class UIComponentUtilsTest { textLabel = new UILabel("hello"); emptyTextLabel = new UILabel(StringUtils.EMPTY); iconLabel = new UILabel(createMockIcon()); + GeneralContext.setLocale(Locale.US); } @Test public void testSetLineWrap() { UITextComponent[] noWrapComps = {emptyTextButton, emptyTextLabel, iconButton, iconLabel}; UITextComponent[] wrapComps = {textLabel, textButton}; - for (UITextComponent comp : wrapComps) { UIComponentUtils.setLineWrap(comp); assertTrue(isLineWrapped(comp)); diff --git a/designer-form/src/test/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapterTest.java b/designer-form/src/test/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapterTest.java index 4d378f6414..ce4a8c8248 100644 --- a/designer-form/src/test/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapterTest.java +++ b/designer-form/src/test/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapterTest.java @@ -7,15 +7,28 @@ import com.fr.config.dao.impl.LocalXmlEntityDao; import com.fr.design.designer.creator.XButton; import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.XWAbsoluteLayout; +import com.fr.design.i18n.Toolkit; import com.fr.form.ui.Button; import com.fr.form.ui.container.WAbsoluteLayout; import java.awt.Dimension; 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; +@RunWith(PowerMockRunner.class) +@PrepareForTest({Toolkit.class}) +@PowerMockIgnore("javax.swing.*") public class FRAbsoluteLayoutAdapterTest 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()); diff --git a/designer-form/src/test/java/com/fr/design/fit/PXReportLengthUNITTest.java b/designer-form/src/test/java/com/fr/design/fit/PXReportLengthUNITTest.java index 1bbfc3a0a7..5c41bdef38 100644 --- a/designer-form/src/test/java/com/fr/design/fit/PXReportLengthUNITTest.java +++ b/designer-form/src/test/java/com/fr/design/fit/PXReportLengthUNITTest.java @@ -1,6 +1,7 @@ package com.fr.design.fit; import com.fr.base.ScreenResolution; +import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.PXReportLengthUNIT; import com.fr.stable.unit.FU; import org.easymock.EasyMock; @@ -15,11 +16,14 @@ import org.powermock.modules.junit4.PowerMockRunner; * Created by kerry on 2020-04-24 */ @RunWith(PowerMockRunner.class) -@PrepareForTest(ScreenResolution.class) +@PrepareForTest({ScreenResolution.class, Toolkit.class}) public class PXReportLengthUNITTest { @Test public void testUnitText() { + PowerMock.mockStatic(Toolkit.class); + EasyMock.expect(Toolkit.i18nText(EasyMock.anyString())).andReturn("test").anyTimes(); + PowerMock.replayAll(); PXReportLengthUNIT pxReportLengthUNIT = new PXReportLengthUNIT(); Assert.assertEquals(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Px"), pxReportLengthUNIT.unitText()); } diff --git a/designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java b/designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java index 624e34e59e..c778691136 100644 --- a/designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java +++ b/designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java @@ -17,7 +17,7 @@ public class DeveloperPreviewTest { DeveloperPreview formPreview = new DeveloperPreview(); Map map = formPreview.parametersForPreview(); Assert.assertEquals(1, map.size()); - Assert.assertEquals("developer_preview", map.get(ParameterConstants.OP)); + Assert.assertEquals("editable_preview", map.get(ParameterConstants.OP)); } @Test diff --git a/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java b/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java index 4972568b4f..72ab19e6c0 100644 --- a/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java +++ b/designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java @@ -12,14 +12,6 @@ import java.util.Map; * Created by kerry on 2020-04-24 */ public class FormAdaptivePreviewTest { - @Test - public void testParametersForPreview() { - FormAdaptivePreview formPreview = new FormAdaptivePreview(); - Map map = formPreview.parametersForPreview(); - Assert.assertEquals(1, map.size()); - Assert.assertEquals("form_adaptive", map.get(ParameterConstants.OP)); - } - @Test public void testAccept() { FormAdaptivePreview formPreview = new FormAdaptivePreview(); diff --git a/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java b/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java index 573670d422..1651043f74 100644 --- a/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java +++ b/designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java @@ -1,5 +1,10 @@ package com.fr.design.mainframe; +import com.fr.base.theme.FormTheme; +import com.fr.base.theme.FormThemeConfig; +import com.fr.base.theme.ReportThemeConfig; +import com.fr.base.theme.TemplateTheme; +import com.fr.base.theme.TemplateThemeConfig; import com.fr.config.dao.DaoContext; import com.fr.config.dao.impl.LocalClassHelperDao; import com.fr.config.dao.impl.LocalEntityDao; @@ -7,8 +12,11 @@ import com.fr.config.dao.impl.LocalXmlEntityDao; import com.fr.design.mainframe.theme.utils.DefaultThemedTemplateCellElementCase; import com.fr.form.main.Form; import com.fr.form.ui.ElementCaseEditor; +import com.fr.form.ui.container.OccupiedLayout; +import com.fr.form.ui.container.WFitLayout; import com.fr.general.ImageWithSuffix; import com.fr.general.ModuleContext; +import com.fr.invoke.Reflect; import com.fr.main.impl.WorkBook; import com.fr.report.cell.TemplateCellElement; import com.fr.report.cell.cellattr.CellImage; @@ -17,13 +25,26 @@ import com.fr.report.restriction.ReportRestrictionScene; import com.fr.report.worksheet.FormElementCase; import com.fr.report.worksheet.WorkSheet; import com.fr.restriction.Restrictions; +import com.fr.stable.StringUtils; import com.fr.stable.module.Module; import com.fr.start.MainDesigner; +import com.fr.third.guava.collect.Lists; +import com.fr.transaction.WorkerCallBack; import junit.framework.TestCase; +import org.easymock.EasyMock; import org.junit.Assert; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.powermock.api.easymock.PowerMock; +import org.powermock.core.classloader.annotations.PowerMockIgnore; +import org.powermock.modules.junit4.PowerMockRunner; import java.awt.image.BufferedImage; +import java.util.HashMap; +import java.util.Map; +@RunWith(PowerMockRunner.class) +@PowerMockIgnore("javax.swing.*") public class JFileTest extends TestCase { @Override protected void setUp() throws Exception { @@ -45,6 +66,7 @@ public class JFileTest extends TestCase { ImageWithSuffix imageWithSuffix = ImageWithSuffix.build(new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB), "jpg"); CellImage cellImage = new CellImage(); cellImage.setImage(imageWithSuffix); + mockJCreateConfigEnv(ReportThemeConfig.getInstance()); JWorkBook jWorkBook = new JWorkBook(workBook, "text"); jWorkBook.setPictureElem(cellElement, cellImage); Assert.assertEquals(imageWithSuffix, cellElement.getValue()); @@ -61,9 +83,24 @@ public class JFileTest extends TestCase { ImageWithSuffix imageWithSuffix = ImageWithSuffix.build(new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB), "jpg"); CellImage cellImage = new CellImage(); cellImage.setImage(imageWithSuffix); - JForm jForm = new JForm(); + mockJCreateConfigEnv(FormThemeConfig.getInstance()); + form.setContainer(new WFitLayout()); + JForm jForm = new JForm(form); jForm.setTarget(form); jForm.setPictureElem(cellElement, cellImage); Assert.assertEquals(imageWithSuffix, cellElement.getValue()); } + + private void mockJCreateConfigEnv(TemplateThemeConfig instance) { + Reflect.on(instance).field("themeName4NewTemplate").call("set", "test"); + TemplateThemeConfig.OrderedNameList list = new TemplateThemeConfig.OrderedNameList(); + list.setThemeNames(Lists.newArrayList("test")); + Reflect.on(instance).field("themeNameList").call("set", list); + TemplateTheme testTheme = new FormTheme(); + testTheme.setDark(false); + testTheme.setName("test"); + Map testMap = new HashMap<>(); + testMap.put("test", testTheme); + Reflect.on(instance).call("put", "test", testTheme, true); + } } \ No newline at end of file