8bf811beffa1fa6d05d94e7f1af97bc025177d0c
[aaf/authz.git] / misc / xgen / src / test / java / org / onap / aaf / misc / xgen / html / JU_JSGenTest.java
1 /**\r
2  * ============LICENSE_START====================================================\r
3  * org.onap.aaf\r
4  * ===========================================================================\r
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.\r
6  * ===========================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END====================================================\r
19  *\r
20  */\r
21 \r
22 package org.onap.aaf.misc.xgen.html;\r
23 \r
24 import static org.junit.Assert.fail;\r
25 import static org.mockito.Matchers.any;\r
26 import static org.mockito.Mockito.times;\r
27 import static org.mockito.Mockito.verify;\r
28 import static org.mockito.Mockito.when;\r
29 \r
30 import java.io.IOException;\r
31 \r
32 import org.junit.Before;\r
33 import org.junit.Test;\r
34 import org.mockito.Mock;\r
35 import org.mockito.MockitoAnnotations;\r
36 import org.onap.aaf.misc.env.util.IndentPrintWriter;\r
37 import org.onap.aaf.misc.xgen.Back;\r
38 import org.onap.aaf.misc.xgen.Mark;\r
39 \r
40 public class JU_JSGenTest {\r
41 \r
42         @Mock\r
43         private HTMLGen hg;\r
44         @Mock\r
45         private Mark mark;\r
46         @Mock\r
47         private IndentPrintWriter writer;\r
48         @Mock\r
49         private Mark jm;\r
50 \r
51         @Before\r
52         public void setup() {\r
53                 MockitoAnnotations.initMocks(this);\r
54         }\r
55 \r
56         @Test\r
57         public void testFileNotFoundException() {\r
58                 JSGen gen = new JSGen(mark, hg);\r
59 \r
60                 try {\r
61                         gen.inline("JSScript", 2);\r
62                         fail("This file should not be found.");\r
63                 } catch (Exception e) {\r
64 \r
65                 }\r
66         }\r
67 \r
68         @Test\r
69         public void testJSRead() throws IOException {\r
70                 when(hg.getWriter()).thenReturn(writer);\r
71                 JSGen gen = new JSGen(mark, hg);\r
72 \r
73                 gen.inline("./sampletest.js", 2);\r
74 \r
75                 verify(writer).print("function myFunction() {");\r
76                 verify(writer).print("document.getElementById(\"demo\").innerHTML = \"Paragraph changed.\";");\r
77                 verify(writer).print("}");\r
78                 verify(writer, times(0)).println();\r
79         }\r
80 \r
81         @Test\r
82         public void testJSReadPrettyPrint() throws IOException {\r
83                 when(hg.getWriter()).thenReturn(writer);\r
84                 hg.pretty = true;\r
85                 JSGen gen = new JSGen(mark, hg);\r
86 \r
87                 gen.inline("./sampletest.js", 2);\r
88 \r
89                 verify(writer).print("function myFunction() {");\r
90                 verify(writer).print("document.getElementById(\"demo\").innerHTML = \"Paragraph changed.\";");\r
91                 verify(writer).print("}");\r
92                 verify(writer, times(3)).println();\r
93                 verify(hg).setIndent(0);\r
94         }\r
95 \r
96         @Test\r
97         public void testPst() throws IOException {\r
98                 when(hg.getWriter()).thenReturn(writer);\r
99                 when(hg.pushBack(any(Back.class))).thenReturn(3);\r
100                 hg.pretty = true;\r
101                 JSGen gen = new JSGen(mark, hg);\r
102 \r
103                 gen.pst("line 1", "line 2");\r
104 \r
105                 verify(writer).append('(');\r
106                 verify(writer).append("line 1");\r
107                 verify(writer).print("line 2");\r
108                 verify(writer, times(1)).print(", ");\r
109         }\r
110 \r
111         @Test\r
112         public void testPstWithMark() throws IOException {\r
113                 when(hg.getWriter()).thenReturn(writer);\r
114                 when(hg.pushBack(any(Back.class))).thenReturn(3);\r
115                 JSGen gen = new JSGen(mark, hg);\r
116 \r
117                 gen.pst(jm, "line 1", "line 2");\r
118 \r
119                 verify(writer).append('(');\r
120                 verify(writer).append("line 1");\r
121                 verify(writer).print("line 2");\r
122                 verify(writer, times(1)).print(", ");\r
123         }\r
124 \r
125         @Test\r
126         public void testPstWithNoLines() throws IOException {\r
127                 when(hg.getWriter()).thenReturn(writer);\r
128                 when(hg.pushBack(any(Back.class))).thenReturn(3);\r
129                 JSGen gen = new JSGen(mark, hg);\r
130 \r
131                 gen.pst(jm);\r
132 \r
133                 verify(writer).append('(');\r
134         }\r
135 \r
136         @Test\r
137         public void testLi() throws IOException {\r
138                 when(hg.getWriter()).thenReturn(writer);\r
139                 when(writer.getIndent()).thenReturn(3);\r
140 \r
141                 JSGen gen = new JSGen(mark, hg);\r
142 \r
143                 gen.li("line 1", "line 2");\r
144 \r
145                 verify(writer).setIndent(3);\r
146                 verify(writer).inc();\r
147                 verify(writer).println();\r
148                 verify(writer).print("line 1");\r
149                 verify(writer).print("line 2");\r
150 \r
151                 hg.pretty = true;\r
152                 gen.li("line 1", "line 2");\r
153                 verify(writer, times(3)).println();\r
154         }\r
155 \r
156         @Test\r
157         public void testText() throws IOException {\r
158                 when(hg.getWriter()).thenReturn(writer);\r
159                 hg.pretty = true;\r
160                 JSGen gen = new JSGen(mark, hg);\r
161 \r
162                 gen.text("line 1");\r
163 \r
164                 verify(writer).append("line 1");\r
165                 verify(writer).println();\r
166 \r
167                 hg.pretty = false;\r
168                 gen.text("line 1");\r
169 \r
170                 verify(writer, times(2)).append("line 1");\r
171         }\r
172 \r
173         @Test\r
174         public void testFunction() throws IOException {\r
175                 when(hg.getWriter()).thenReturn(writer);\r
176                 when(hg.pushBack(any(Back.class))).thenReturn(3);\r
177                 hg.pretty = true;\r
178                 JSGen gen = new JSGen(mark, hg);\r
179 \r
180                 gen.function("line 1", "line 2", "line 3");\r
181 \r
182                 verify(writer).print("function ");\r
183                 verify(writer).print("line 1");\r
184                 verify(writer).print('(');\r
185 \r
186                 verify(writer).print("line 2");\r
187                 verify(writer).print("line 3");\r
188                 verify(writer, times(1)).print(", ");\r
189                 verify(writer).print(") {");\r
190                 verify(writer).inc();\r
191                 verify(writer).println();\r
192         }\r
193 \r
194         @Test\r
195         public void testFunctionWithMark() throws IOException {\r
196                 when(hg.getWriter()).thenReturn(writer);\r
197                 when(hg.pushBack(any(Back.class))).thenReturn(3);\r
198                 JSGen gen = new JSGen(mark, hg);\r
199 \r
200                 gen.function(jm, "line 1", "line 2", "line 3");\r
201 \r
202                 verify(writer).print("function ");\r
203                 verify(writer).print("line 1");\r
204                 verify(writer).print('(');\r
205 \r
206                 verify(writer).print("line 2");\r
207                 verify(writer).print("line 3");\r
208                 verify(writer, times(1)).print(", ");\r
209                 verify(writer).print(") {");\r
210                 verify(writer, times(0)).inc();\r
211                 verify(writer, times(0)).println();\r
212         }\r
213 \r
214 }\r