--- /dev/null
+/**\r
+ * ============LICENSE_START====================================================\r
+ * org.onap.aaf\r
+ * ===========================================================================\r
+ * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.\r
+ * ===========================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END====================================================\r
+ *\r
+ */\r
+\r
+package org.onap.aaf.misc.xgen.html;\r
+\r
+import static org.junit.Assert.fail;\r
+import static org.mockito.Matchers.any;\r
+import static org.mockito.Mockito.times;\r
+import static org.mockito.Mockito.verify;\r
+import static org.mockito.Mockito.when;\r
+\r
+import java.io.IOException;\r
+\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.mockito.Mock;\r
+import org.mockito.MockitoAnnotations;\r
+import org.onap.aaf.misc.env.util.IndentPrintWriter;\r
+import org.onap.aaf.misc.xgen.Back;\r
+import org.onap.aaf.misc.xgen.Mark;\r
+\r
+public class JU_JSGenTest {\r
+\r
+ @Mock\r
+ private HTMLGen hg;\r
+ @Mock\r
+ private Mark mark;\r
+ @Mock\r
+ private IndentPrintWriter writer;\r
+ @Mock\r
+ private Mark jm;\r
+\r
+ @Before\r
+ public void setup() {\r
+ MockitoAnnotations.initMocks(this);\r
+ }\r
+\r
+ @Test\r
+ public void testFileNotFoundException() {\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ try {\r
+ gen.inline("JSScript", 2);\r
+ fail("This file should not be found.");\r
+ } catch (Exception e) {\r
+\r
+ }\r
+ }\r
+\r
+ @Test\r
+ public void testJSRead() throws IOException {\r
+ when(hg.getWriter()).thenReturn(writer);\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ gen.inline("./sampletest.js", 2);\r
+\r
+ verify(writer).print("function myFunction() {");\r
+ verify(writer).print("document.getElementById(\"demo\").innerHTML = \"Paragraph changed.\";");\r
+ verify(writer).print("}");\r
+ verify(writer, times(0)).println();\r
+ }\r
+\r
+ @Test\r
+ public void testJSReadPrettyPrint() throws IOException {\r
+ when(hg.getWriter()).thenReturn(writer);\r
+ hg.pretty = true;\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ gen.inline("./sampletest.js", 2);\r
+\r
+ verify(writer).print("function myFunction() {");\r
+ verify(writer).print("document.getElementById(\"demo\").innerHTML = \"Paragraph changed.\";");\r
+ verify(writer).print("}");\r
+ verify(writer, times(3)).println();\r
+ verify(hg).setIndent(0);\r
+ }\r
+\r
+ @Test\r
+ public void testPst() throws IOException {\r
+ when(hg.getWriter()).thenReturn(writer);\r
+ when(hg.pushBack(any(Back.class))).thenReturn(3);\r
+ hg.pretty = true;\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ gen.pst("line 1", "line 2");\r
+\r
+ verify(writer).append('(');\r
+ verify(writer).append("line 1");\r
+ verify(writer).print("line 2");\r
+ verify(writer, times(1)).print(", ");\r
+ }\r
+\r
+ @Test\r
+ public void testPstWithMark() throws IOException {\r
+ when(hg.getWriter()).thenReturn(writer);\r
+ when(hg.pushBack(any(Back.class))).thenReturn(3);\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ gen.pst(jm, "line 1", "line 2");\r
+\r
+ verify(writer).append('(');\r
+ verify(writer).append("line 1");\r
+ verify(writer).print("line 2");\r
+ verify(writer, times(1)).print(", ");\r
+ }\r
+\r
+ @Test\r
+ public void testPstWithNoLines() throws IOException {\r
+ when(hg.getWriter()).thenReturn(writer);\r
+ when(hg.pushBack(any(Back.class))).thenReturn(3);\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ gen.pst(jm);\r
+\r
+ verify(writer).append('(');\r
+ }\r
+\r
+ @Test\r
+ public void testLi() throws IOException {\r
+ when(hg.getWriter()).thenReturn(writer);\r
+ when(writer.getIndent()).thenReturn(3);\r
+\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ gen.li("line 1", "line 2");\r
+\r
+ verify(writer).setIndent(3);\r
+ verify(writer).inc();\r
+ verify(writer).println();\r
+ verify(writer).print("line 1");\r
+ verify(writer).print("line 2");\r
+\r
+ hg.pretty = true;\r
+ gen.li("line 1", "line 2");\r
+ verify(writer, times(3)).println();\r
+ }\r
+\r
+ @Test\r
+ public void testText() throws IOException {\r
+ when(hg.getWriter()).thenReturn(writer);\r
+ hg.pretty = true;\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ gen.text("line 1");\r
+\r
+ verify(writer).append("line 1");\r
+ verify(writer).println();\r
+\r
+ hg.pretty = false;\r
+ gen.text("line 1");\r
+\r
+ verify(writer, times(2)).append("line 1");\r
+ }\r
+\r
+ @Test\r
+ public void testFunction() throws IOException {\r
+ when(hg.getWriter()).thenReturn(writer);\r
+ when(hg.pushBack(any(Back.class))).thenReturn(3);\r
+ hg.pretty = true;\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ gen.function("line 1", "line 2", "line 3");\r
+\r
+ verify(writer).print("function ");\r
+ verify(writer).print("line 1");\r
+ verify(writer).print('(');\r
+\r
+ verify(writer).print("line 2");\r
+ verify(writer).print("line 3");\r
+ verify(writer, times(1)).print(", ");\r
+ verify(writer).print(") {");\r
+ verify(writer).inc();\r
+ verify(writer).println();\r
+ }\r
+\r
+ @Test\r
+ public void testFunctionWithMark() throws IOException {\r
+ when(hg.getWriter()).thenReturn(writer);\r
+ when(hg.pushBack(any(Back.class))).thenReturn(3);\r
+ JSGen gen = new JSGen(mark, hg);\r
+\r
+ gen.function(jm, "line 1", "line 2", "line 3");\r
+\r
+ verify(writer).print("function ");\r
+ verify(writer).print("line 1");\r
+ verify(writer).print('(');\r
+\r
+ verify(writer).print("line 2");\r
+ verify(writer).print("line 3");\r
+ verify(writer, times(1)).print(", ");\r
+ verify(writer).print(") {");\r
+ verify(writer, times(0)).inc();\r
+ verify(writer, times(0)).println();\r
+ }\r
+\r
+}\r