/* vim: set ts=2 et sw=2 cindent fo=qroca: */ package com.globant.katari.core.spring; import junit.framework.TestCase; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; import com.globant.katari.core.web.MenuBar; import com.globant.katari.core.web.MenuNode; /* Tests a MenuBarBeanDefinitionParser. */ public class MenuBarBeanDefinitionParserTest extends TestCase { private static ApplicationContext beanFactory; /** This method returns a BeanFactory. * * @return a BeanFactory */ public static synchronized ApplicationContext getBeanFactory() { if (beanFactory == null) { beanFactory = new FileSystemXmlApplicationContext( new String[] { "classpath:/com/globant/katari/core/spring/module.xml"}); } return beanFactory; } public void testParse() { MenuBar menuBar = (MenuBar) getBeanFactory().getBean("menubar"); assertEquals("root", menuBar.getName()); assertEquals("menu-item-1", menuBar.getChildNodes().get(0).getName()); assertEquals("menu-item-1", menuBar.getChildNodes().get(0).getDisplayName()); assertEquals("menu-item-2", menuBar.getChildNodes().get(1).getName()); assertEquals("menu-node-3", menuBar.getChildNodes().get(2).getName()); MenuNode level2 = menuBar.getChildNodes().get(2); assertEquals("menu-node-3-1", level2.getChildNodes().get(0).getName()); assertEquals("menu-item-3-2", level2.getChildNodes().get(1).getName()); assertEquals("menu-node-3-3", level2.getChildNodes().get(2).getName()); MenuNode level3 = level2.getChildNodes().get(2); assertEquals("menu-item-3-3-1", level3.getChildNodes().get(0).getName()); // Check if the item is correctly loaded. MenuNode sampleItem = level2.getChildNodes().get(1); assertEquals("item-3-2", sampleItem.getDisplayName()); assertEquals(2, sampleItem.getPosition()); assertEquals("tooltip-3-2", sampleItem.getToolTip()); assertEquals("link-3-2", sampleItem.getLinkPath()); } }