Files
JIMRI/java/test/jmri/web/servlet/panel/AbstractPanelServletTest.java
T
2026-06-17 14:00:51 +02:00

63 lines
1.7 KiB
Java

package jmri.web.servlet.panel;
import org.jdom2.Element;
import org.junit.jupiter.api.*;
import jmri.InstanceManager;
import jmri.Sensor;
import jmri.SensorManager;
import jmri.configurexml.ConfigXmlManager;
import jmri.jmrit.catalog.NamedIcon;
import jmri.jmrit.display.MultiSensorIcon;
import jmri.util.JUnitUtil;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class AbstractPanelServletTest {
@Test
public void testPositionableElement() {
String systemName = "IS1";
String userName = "Internal Sensor 1";
AbstractPanelServlet servlet = new NullPanelServlet();
Sensor s = InstanceManager.getDefault(SensorManager.class).provide(systemName);
s.setUserName(userName);
MultiSensorIcon p = new MultiSensorIcon(null);
p.addEntry(userName, new NamedIcon("program:resources/logo.gif", "logo"));
Element e = ConfigXmlManager.elementFromObject(p);
assertEquals(userName, e.getChild("active").getAttribute("sensor").getValue());
e = servlet.positionableElement(p);
assertEquals(systemName, e.getChild("active").getAttribute("sensor").getValue());
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
JUnitUtil.initInternalSensorManager();
}
@AfterEach
public void tearDown() {
JUnitUtil.tearDown();
}
private static class NullPanelServlet extends AbstractPanelServlet {
@Override
protected String getPanelType() {
return null;
}
@Override
protected String getJsonPanel(String name) {
return null;
}
@Override
protected String getXmlPanel(String name) {
return null;
}
}
}