package org.jboss.windup.config.tags; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; import org.junit.Assert; import org.junit.Test; public class TagsLibTest { @Test public void testTagsLoading() throws Exception { final TagService tagService = new TagService(); File file = new File("src/test/java/org/jboss/windup/config/tags/test2.tags.xml"); try(InputStream is = new FileInputStream(file)) { tagService.readTags(is); } catch( IOException ex ) { throw ex; } Assert.assertNotNull(tagService.getTag("a-root")); Assert.assertNotNull(tagService.getTag("a1")); Assert.assertNull(tagService.getTag("non-existent")); Assert.assertNotNull(tagService.getOrCreateTag("to-be-created")); Assert.assertTrue("a-root contains a1", tagService.isUnderTag("a-root", "a1")); Assert.assertFalse("a1 not contains a-root", tagService.isUnderTag("a1", "a-root")); Assert.assertFalse("foo not contains bar", tagService.isUnderTag("foo", "bar")); Assert.assertTrue("a-root contains a1", tagService.isUnderTag("a-root", "a1")); Assert.assertFalse("a1 not contains a-root", tagService.isUnderTag("a1", "a-root")); Assert.assertFalse("foo not contains bar", tagService.isUnderTag("foo", "bar")); Assert.assertTrue(tagService.isUnderTag("a-root", "a1a")); Assert.assertFalse(tagService.isUnderTag("a1a", "a-root")); // parents="..." // <tag name="c1" parents="b1a1"/> Assert.assertTrue(tagService.isUnderTag("b1a1", "c1")); Assert.assertTrue(tagService.isUnderTag("b1a1", "c1a")); Assert.assertFalse(tagService.isUnderTag("c1", "b1a1")); } @Test public void testTagsExportingToJavaScript() throws Exception { final TagService tagService = new TagService(); File file = new File("src/test/java/org/jboss/windup/config/tags/java-ee.test.tags.xml"); try(InputStream is = new FileInputStream(file)) { tagService.readTags(is); } catch( IOException ex ) { throw ex; } StringWriter writer = new StringWriter((int) file.length()); tagService.writeTagsToJavaScript(writer); final String javascript = writer.toString(); System.out.println(javascript); Assert.assertTrue(javascript.contains("function")); Assert.assertTrue(javascript.contains("java-ee")); Assert.assertTrue(javascript.contains("weblogic")); } }