/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.content.contentdata.support; import java.util.List; import org.jdom.Element; import org.junit.Test; import com.enonic.cms.core.content.contentdata.ContentDataXPathCreator; import static org.junit.Assert.*; public class ContentDataXPathCreatorTest { @Test public void testCreateNewPathSimple() { Element contentdataEl = new Element( "contentdata" ); ContentDataXPathCreator.createNewPath( contentdataEl, "heading" ); Element headingEl = contentdataEl.getChild( "heading" ); assertNotNull( headingEl ); } @Test public void testCreateNewPathSimple2() { Element contentdataEl = new Element( "contentdata" ); contentdataEl.addContent( new Element( "myGroup" ) ); ContentDataXPathCreator.createNewPath( contentdataEl, "myGroup" ); List<Element> relatedcontentList = contentdataEl.getChildren( "myGroup" ); assertEquals( 2, relatedcontentList.size() ); } @Test public void testCreateNewPathSimple3() { Element contentdataEl = new Element( "contentdata" ); ContentDataXPathCreator.createNewPath( contentdataEl, "myGroup/a/b" ); List<Element> contentList = contentdataEl.getChildren( "myGroup" ); assertEquals( 1, contentList.size() ); contentList = contentList.get( 0 ).getChildren( "a" ); assertEquals( 1, contentList.size() ); contentList = contentList.get( 0 ).getChildren( "b" ); assertEquals( 1, contentList.size() ); } @Test public void testCreateNewPathSimple4() { Element contentdataEl = new Element( "contentdata" ); contentdataEl.addContent( new Element( "myGroup" ) ); ContentDataXPathCreator.createNewPath( contentdataEl, "myGroup/a/b" ); List<Element> contentList = contentdataEl.getChildren( "myGroup" ); assertEquals( 1, contentList.size() ); contentList = contentList.get( 0 ).getChildren( "a" ); assertEquals( 1, contentList.size() ); contentList = contentList.get( 0 ).getChildren( "b" ); assertEquals( 1, contentList.size() ); } @Test public void testEnsurePathSimple() { Element contentdataEl = new Element( "contentdata" ); ContentDataXPathCreator.ensurePath( contentdataEl, "heading" ); Element headingEl = contentdataEl.getChild( "heading" ); assertNotNull( headingEl ); } @Test public void testEnsurePath1() { Element contentdataEl = new Element( "contentdata" ); contentdataEl.addContent( new Element( "heading" ) ); ContentDataXPathCreator.ensurePath( contentdataEl, "sub/heading" ); Element subEl = contentdataEl.getChild( "sub" ); assertNotNull( subEl ); Element headingEl = contentdataEl.getChild( "heading" ); assertNotNull( headingEl ); } @Test public void testEnsurePath2() { Element contentdataEl = new Element( "contentdata" ); contentdataEl.addContent( new Element( "article" ).addContent( new Element( "heading" ) ) ); contentdataEl.addContent( new Element( "teaser" ) ); ContentDataXPathCreator.ensurePath( contentdataEl, "sub/heading" ); Element subEl = contentdataEl.getChild( "sub" ); assertNotNull( subEl ); Element headingEl = subEl.getChild( "heading" ); assertNotNull( headingEl ); } }