Mass removal of all Tabs (Style Warnings)
[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