diff options
Diffstat (limited to 'plugins/org.eclipse.osee.template.engine.test/src/org/eclipse/osee/template/engine/HtmlPageCreatorTest.java')
-rw-r--r-- | plugins/org.eclipse.osee.template.engine.test/src/org/eclipse/osee/template/engine/HtmlPageCreatorTest.java | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.template.engine.test/src/org/eclipse/osee/template/engine/HtmlPageCreatorTest.java b/plugins/org.eclipse.osee.template.engine.test/src/org/eclipse/osee/template/engine/HtmlPageCreatorTest.java new file mode 100644 index 00000000000..8f22db241f7 --- /dev/null +++ b/plugins/org.eclipse.osee.template.engine.test/src/org/eclipse/osee/template/engine/HtmlPageCreatorTest.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2013 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.template.engine; + +import static org.eclipse.osee.template.engine.OseeTemplateTestTokens.RealizePage_MainPageHtml; +import static org.eclipse.osee.template.engine.OseeTemplateTestTokens.RealizePage_ValuesHtml; +import static org.eclipse.osee.template.engine.OseeTemplateTestTokens.TestMainPage_WithIncludeFileHtml; +import static org.eclipse.osee.template.engine.OseeTemplateTestTokens.TestValues_IncludeHtml; +import static org.eclipse.osee.template.engine.OseeTemplateTestTokens.TestValues_KeyValueHtml; +import org.eclipse.osee.framework.core.exception.OseeArgumentException; +import org.eclipse.osee.framework.core.model.ResourceRegistry; +import org.eclipse.osee.framework.core.model.ResourceToken; +import org.eclipse.osee.framework.core.services.IResourceRegistry; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Unit Test for {@link HtmlPageCreator} + * + * @author Donald G. Dunne + */ +public class HtmlPageCreatorTest { + + private static final IResourceRegistry registry = new ResourceRegistry(); + + @BeforeClass + public static void setup() { + OseeTemplateTestTokens.register(registry); + OseeTemplateTokens.register(registry); + } + + @Test + public void testHtmlPageCreator_KeyValues() { + HtmlPageCreator page = PageFactory.newHtmlPageCreator(registry, "key", "value", "key2", "value2"); + Assert.assertEquals("value", page.getValue("key")); + Assert.assertEquals("value2", page.getValue("key2")); + } + + @Test + public void addSubstitution() { + StringRule rule = new StringRule("key", "value"); + HtmlPageCreator page = new HtmlPageCreator(registry); + page.addSubstitution(rule); + Assert.assertEquals("value", page.getValue("key")); + } + + @Test(expected = OseeArgumentException.class) + public void readSubstitution_nullCheck() throws Exception { + HtmlPageCreator page = new HtmlPageCreator(registry); + page.readKeyValuePairs((ResourceToken) null); + } + + @Test + public void readSubstitutions_keyValue() throws Exception { + HtmlPageCreator page = new HtmlPageCreator(registry); + page.readKeyValuePairs(TestValues_KeyValueHtml); + + Assert.assertEquals(" <h1>value</h1>", page.getValue("key")); + Assert.assertEquals(" <h2>value2</h2>", page.getValue("key2")); + } + + @Test + public void readSubstitutions_include() throws Exception { + HtmlPageCreator page = new HtmlPageCreator(registry); + page.readKeyValuePairs(TestValues_IncludeHtml); + Assert.assertEquals("<!-- testHeaderPage.html -->\n\n<b>header</b>\n", page.getValue("header")); + } + + @Test + public void realizePage() throws Exception { + HtmlPageCreator page = new HtmlPageCreator(registry); + page.readKeyValuePairs(RealizePage_ValuesHtml); + + String expected = "<!-- header.html -->\n\nmy header\n\n<h1>heading1</h1>\n\n <h2>heading2</h2>\n"; + String results = page.realizePage(RealizePage_MainPageHtml); + Assert.assertEquals(expected, results); + + page = PageFactory.newHtmlPageCreator(registry, RealizePage_ValuesHtml); + results = page.realizePage(RealizePage_MainPageHtml); + Assert.assertEquals(expected, results); + + results = PageFactory.realizePage(registry, RealizePage_MainPageHtml, RealizePage_ValuesHtml); + Assert.assertEquals(expected, results); + } + + @Test + public void realizePage_WithIncludes() throws Exception { + String results = PageFactory.realizePage(registry, TestMainPage_WithIncludeFileHtml); + Assert.assertTrue(results.contains("my header")); + Assert.assertTrue(results.contains("header_NoTokenOnFirstLine.html -->")); + + Assert.assertTrue(results.contains("background-color")); + Assert.assertTrue(results.contains("myTest.css */")); + } + + @Test + public void realizePage_NoTokenFirstLine() throws Exception { + String results = PageFactory.realizePage(registry, TestMainPage_WithIncludeFileHtml); + Assert.assertTrue(results.contains("my header")); + } + + @Test(expected = OseeArgumentException.class) + public void realizePage_noSubstitution() throws Exception { + PageFactory.realizePage(registry, RealizePage_MainPageHtml); + } + + @Test + public void realizePage__KeyValues() throws Exception { + String expected = "headerA\n\nvalue1\n\nvalue2\n"; + String results = + PageFactory.realizePage(registry, RealizePage_MainPageHtml, "header", "headerA", "key1", "value1", "key2", + "value2"); + Assert.assertEquals(expected, results); + } + + @Test + public void testToString() throws Exception { + HtmlPageCreator page = new HtmlPageCreator(registry); + page.readKeyValuePairs(TestValues_KeyValueHtml); + Assert.assertEquals("{key2= <h2>value2</h2>, key= <h1>value</h1>}", page.toString()); + } +}
\ No newline at end of file |