Browse Source

Merge branch 'release/11.0' of ssh://code.fineres.com:7999/~zheng/C-design into release/11.0

release/11.0
shine 1 year ago
parent
commit
6c70712c43
  1. 1
      designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileStyleDefinePane.java
  2. 15
      designer-base/src/test/java/com/fr/design/ExtraDesignClassManagerTest.java
  3. 2
      designer-base/src/test/java/com/fr/design/extra/PluginUtilsTest.java
  4. 18
      designer-base/src/test/java/com/fr/design/mainframe/JFormSliderPaneTest.java
  5. 7
      designer-base/src/test/java/com/fr/design/menu/SnapChatMenuDefTest.java
  6. 5
      designer-base/src/test/java/com/fr/design/os/impl/SupportOSImplTest.java
  7. 12
      designer-base/src/test/java/com/fr/design/update/push/DesignerPushUpdateManagerTest.java
  8. 3
      designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java
  9. 17
      designer-base/src/test/java/com/fr/design/utils/gui/UIComponentUtilsTest.java
  10. 24
      designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java
  11. 8
      designer-form/src/main/java/com/fr/design/designer/creator/XNumberEditor.java
  12. 9
      designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/TextEditorMobileDefinePane.java
  13. 13
      designer-form/src/test/java/com/fr/design/designer/beans/adapters/layout/FRAbsoluteLayoutAdapterTest.java
  14. 6
      designer-form/src/test/java/com/fr/design/fit/PXReportLengthUNITTest.java
  15. 2
      designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java
  16. 8
      designer-form/src/test/java/com/fr/design/preview/FormAdaptivePreviewTest.java
  17. 8
      designer-realize/src/main/java/com/fr/design/widget/WidgetMobilePaneFactory.java
  18. 2
      designer-realize/src/main/java/com/fr/design/widget/ui/mobile/TextEditorMobilePane.java
  19. 39
      designer-realize/src/test/java/com.fr/design/mainframe/JFileTest.java

1
designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileStyleDefinePane.java

@ -91,6 +91,7 @@ public class MobileStyleDefinePane extends BasicBeanPane<MobileStyle> {
@Override
public MobileStyle updateBean() {
mobileStyle = Reflect.on(mobileStyleClazz).create().get();
this.widget.setMobileStyle(mobileStyle);
this.customBeanPane.updateBean();
mobileStyle.setCommonCustom(customCombo.getSelectedIndex() == 1);

15
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();

2
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());
}
}

18
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() {

7
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")

5
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

12
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();

3
designer-base/src/test/java/com/fr/design/upm/UpmUtilsTest.java

@ -44,10 +44,11 @@ public class UpmUtilsTest {
GeneralContext.setLocale(Locale.CHINA);
Map<String, String> 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);

17
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 = "<html><body style='width: %dpx'>";
private static final String HTML_TAG = "<html>";
@ -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));

24
designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java

@ -248,19 +248,9 @@ public class GisLayerPane extends JPanel implements UIObserver {
}
public void resetGisLayer(VanChartMapPlot mapPlot) {
// if (ChartEditContext.supportTheme()) {
GisLayer defaultGisLayer = mapPlot.getDefaultGisLayer();
mapPlot.setGisLayer(defaultGisLayer);
populate(defaultGisLayer);
// } else {
// GaoDeGisType gaoDeGisType = mapPlot.getDefaultGisLayerType();
//
// mapPlot.getGisLayer().setGisLayerType(GISLayerType.GAO_DE_API);
// mapPlot.getGisLayer().setLayerName(gaoDeGisType.getTypeName());
// mapPlot.getGisLayer().setGaoDeGisType(gaoDeGisType);
// populate(mapPlot.getGisLayer());
// }
GisLayer defaultGisLayer = mapPlot.getDefaultGisLayer();
mapPlot.setGisLayer(defaultGisLayer);
populate(defaultGisLayer);
}
public void populate(GisLayer layer) {
@ -269,7 +259,6 @@ public class GisLayerPane extends JPanel implements UIObserver {
gisButton.setSelectedIndex(0);
layer.setGisLayerType(GISLayerType.AUTO);
layer.setLayerName(GISLayerType.getLocString(GISLayerType.AUTO));
//dealWithTemplateTheme(layer);
break;
case GAO_DE_API:
populateStandardGis(layer);
@ -291,7 +280,7 @@ public class GisLayerPane extends JPanel implements UIObserver {
if (layer.getGisLayerType() == GISLayerType.LAYER_NULL) {
standardLayers.setSelectedIndex(standardLayers.getItemCount() - 1);
} else {
if(Locale.CHINA.equals(GeneralContext.getLocale())) {
if (Locale.CHINA.equals(GeneralContext.getLocale())) {
standardLayers.setSelectedItem(layerName);
layer.setGaoDeGisType(GaoDeGisType.parseByLocaleName(layerName));
} else {
@ -358,8 +347,11 @@ public class GisLayerPane extends JPanel implements UIObserver {
* @param layer 图层
*/
private void adaptEditingTemplateTheme(GisLayer layer) {
if (Locale.CHINA.equals(GeneralContext.getLocale())) {
return;
}
JTemplate<?, ?> currentEditingTemplate = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
if(JTemplate.isValid(currentEditingTemplate)) {
if (JTemplate.isValid(currentEditingTemplate)) {
boolean dark = currentEditingTemplate.getTemplateTheme().isDark();
String name = dark ? Toolkit.i18nText("Fine-Design_Chart_Layer_Black") : Toolkit.i18nText("Fine-Design_Chart_Layer_MapBox");
layer.setLayerName(name);

8
designer-form/src/main/java/com/fr/design/designer/creator/XNumberEditor.java

@ -102,8 +102,8 @@ public class XNumberEditor extends XWrapperedFieldEditor {
return "number_field_16.png";
}
// @Override
// public WidgetPropertyUIProvider[] getWidgetPropertyUIProviders() {
// return new WidgetPropertyUIProvider[]{new NumberEditorMobilePropertyUI(this)};
// }
// @Override
// public WidgetPropertyUIProvider[] getWidgetPropertyUIProviders() {
// return new WidgetPropertyUIProvider[]{new NumberEditorMobilePropertyUI(this)};
// }
}

9
designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/TextEditorMobileDefinePane.java

@ -30,9 +30,10 @@ public class TextEditorMobileDefinePane extends BaseTextEditorMobileDefinePane {
@Override
protected void initSettingPane(JPanel container) {
inputSettingPane = new MobileTextFieldInputSettingPane();
// textSettingPane = new MobileTextEditSettingPane();
/// 延期,屏蔽入口
/// textSettingPane = new MobileTextEditSettingPane();
container.add(inputSettingPane);
// container.add(textSettingPane);
/// container.add(textSettingPane);
}
@ -40,7 +41,7 @@ public class TextEditorMobileDefinePane extends BaseTextEditorMobileDefinePane {
public void populate(FormDesigner designer) {
TextEditor textEditor = (TextEditor) getxCreator().toData();
inputSettingPane.populateBean(textEditor.getMobileScanCodeAttr());
// textSettingPane.populateBean(textEditor.getMobileTextEditAttr());
/// textSettingPane.populateBean(textEditor.getMobileTextEditAttr());
this.bindListeners2Widgets();
}
@ -48,7 +49,7 @@ public class TextEditorMobileDefinePane extends BaseTextEditorMobileDefinePane {
public void update() {
TextEditor textEditor = (TextEditor) getxCreator().toData();
inputSettingPane.updateBean(textEditor.getMobileScanCodeAttr());
// textSettingPane.updateBean(textEditor.getMobileTextEditAttr());
/// textSettingPane.updateBean(textEditor.getMobileTextEditAttr());
DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified();
}

13
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());

6
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());
}

2
designer-form/src/test/java/com/fr/design/preview/DeveloperPreviewTest.java

@ -17,7 +17,7 @@ public class DeveloperPreviewTest {
DeveloperPreview formPreview = new DeveloperPreview();
Map<String, Object> 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

8
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<String, Object> map = formPreview.parametersForPreview();
Assert.assertEquals(1, map.size());
Assert.assertEquals("form_adaptive", map.get(ParameterConstants.OP));
}
@Test
public void testAccept() {
FormAdaptivePreview formPreview = new FormAdaptivePreview();

8
designer-realize/src/main/java/com/fr/design/widget/WidgetMobilePaneFactory.java

@ -29,10 +29,10 @@ public class WidgetMobilePaneFactory {
static {
mobilePaneMap.put(MultiFileEditor.class, MultiFileEditorMobilePane.class);
mobilePaneMap.put(TextEditor.class, TextEditorMobilePane.class);
// 此版本不发布,先屏蔽入口
// mobilePaneMap.put(TextArea.class, TextAreaMobilePane.class);
// mobilePaneMap.put(NumberEditor.class, NumberEditorMobilePane.class);
// mobilePaneMap.put(Password.class, PasswordMobilePane.class);
/// 此版本不发布,先屏蔽入口
/// mobilePaneMap.put(TextArea.class, TextAreaMobilePane.class);
/// mobilePaneMap.put(NumberEditor.class, NumberEditorMobilePane.class);
/// mobilePaneMap.put(Password.class, PasswordMobilePane.class);
mobilePluginPaneMap.putAll(ExtraDesignClassManager.getInstance().getCellWidgetMobileOptionsMap());
GeneralContext.listenPluginRunningChanged(new PluginEventListener() {

2
designer-realize/src/main/java/com/fr/design/widget/ui/mobile/TextEditorMobilePane.java

@ -37,7 +37,7 @@ public class TextEditorMobilePane extends WidgetMobilePane {
settingPane = new MobileTextFieldInputSettingPane();
textSettingPane = new MobileTextEditSettingPane();
container.add(settingPane);
// container.add(textSettingPane);
/// container.add(textSettingPane);
this.add(new UIExpandablePane(Toolkit.i18nText("Fine-Design_Report_Advanced"), 280, 20, container), BorderLayout.NORTH);
}

39
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<String, TemplateTheme> testMap = new HashMap<>();
testMap.put("test", testTheme);
Reflect.on(instance).call("put", "test", testTheme, true);
}
}
Loading…
Cancel
Save