/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.content; import java.util.List; import org.junit.Test; import static org.junit.Assert.*; /** * May 8, 2009 */ public class ContentNativeLinkCollectorTest { @Test public void testCollectContentLinks() { String str = "rubbish rubbish <a href='content://123'>link</a>"; str += "rubbish rubbish <a href='content://124shallnotbecollected'>link</a>"; str += "rubbish rubbish <a href='content://125shallnotbecollected/'>link</a>"; str += "rubbish rubbish <a href='content://126/'>link</a>"; List<ContentNativeLink> list = new ContentNativeLinkCollector().collect( str ); assertEquals( 2, list.size() ); assertEquals( new ContentKey( 123 ), list.get( 0 ).getContentKey() ); assertEquals( ContentNativeLinkType.CONTENT, list.get( 0 ).getType() ); assertEquals( new ContentKey( 126 ), list.get( 1 ).getContentKey() ); assertEquals( ContentNativeLinkType.CONTENT, list.get( 1 ).getType() ); } @Test public void testCollectContentBinaryLinks() { String str = "rubbish rubbish <a href='attachment://123/more'>link</a>"; str += "rubbish rubbish <a href='attachment://124shallnotbecollected'>link</a>"; str += "rubbish rubbish <a href='attachment://125shallnotbecollected/'>link</a>"; str += "rubbish rubbish <a href='attachment://126/more'>link</a>"; str += "rubbish rubbish <a href='attachment://127'>link</a>"; str += "rubbish rubbish <a href='attachment://128?_download=true#asdf'>link</a>"; List<ContentNativeLink> list = new ContentNativeLinkCollector().collect( str ); assertEquals( 4, list.size() ); assertEquals( new ContentKey( 123 ), list.get( 0 ).getContentKey() ); assertEquals( ContentNativeLinkType.ATTACHMENT, list.get( 0 ).getType() ); assertEquals( new ContentKey( 126 ), list.get( 1 ).getContentKey() ); assertEquals( ContentNativeLinkType.ATTACHMENT, list.get( 1 ).getType() ); assertEquals( new ContentKey( 127 ), list.get( 2 ).getContentKey() ); assertEquals( ContentNativeLinkType.ATTACHMENT, list.get( 2 ).getType() ); assertEquals( new ContentKey( 128 ), list.get( 3 ).getContentKey() ); assertEquals( ContentNativeLinkType.ATTACHMENT, list.get( 3 ).getType() ); } @Test public void testCollectContentImageLinks() { String str = "rubbish rubbish <a href='image://123/more'>link</a>"; str += "rubbish rubbish <a href='image://83?_size=thumbnail&_format=jpg'>link</a>rubbish rubbish"; str += "rubbish rubbish <a href='image://124shallnotbecollected'>link</a>"; str += "rubbish rubbish <a href='image://125shallnotbecollected/'>link</a>"; str += "rubbish rubbish <a href='image://126/more'>link</a>"; List<ContentNativeLink> list = new ContentNativeLinkCollector().collect( str ); assertEquals( 3, list.size() ); assertEquals( new ContentKey( 123 ), list.get( 0 ).getContentKey() ); assertEquals( ContentNativeLinkType.IMAGE, list.get( 0 ).getType() ); assertEquals( new ContentKey( 83 ), list.get( 1 ).getContentKey() ); assertEquals( ContentNativeLinkType.IMAGE, list.get( 1 ).getType() ); assertEquals( new ContentKey( 126 ), list.get( 2 ).getContentKey() ); assertEquals( ContentNativeLinkType.IMAGE, list.get( 2 ).getType() ); } }