73d8c116e25d83ee7273f0321ed020a16156b9a8
[sdc.git] / common-app-api / src / test / java / org / openecomp / sdc / common / test / CommonUtilsTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.common.test;
22
23 import org.junit.Test;
24 import org.openecomp.sdc.common.api.Constants;
25 import org.openecomp.sdc.common.util.GeneralUtility;
26 import org.openecomp.sdc.common.util.HtmlCleaner;
27 import org.openecomp.sdc.common.util.ValidationUtils;
28 import org.openecomp.sdc.common.util.YamlToObjectConverter;
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
31 import org.yaml.snakeyaml.DumperOptions;
32 import org.yaml.snakeyaml.Yaml;
33
34 import java.util.ArrayList;
35 import java.util.HashMap;
36 import java.util.List;
37 import java.util.Map;
38
39 import static org.junit.Assert.*;
40
41 public class CommonUtilsTest {
42         private static Logger log = LoggerFactory.getLogger(CommonUtilsTest.class.getName());
43
44         /*
45          * Validation utils start
46          */
47         @Test
48         public void testValidateServiceName() {
49
50                 assertTrue(ValidationUtils.validateComponentNamePattern("1111222"));
51                 assertTrue(ValidationUtils.validateComponentNamePattern("sfE4444"));
52                 assertTrue(ValidationUtils.validateComponentNamePattern("1111sfd222"));
53                 assertTrue(ValidationUtils.validateComponentNamePattern("11sdf 1124_22"));
54                 assertTrue(ValidationUtils.validateComponentNamePattern("111----1222"));
55                 assertTrue(ValidationUtils.validateComponentNamePattern("1111f .222"));
56                 assertTrue(ValidationUtils.validateComponentNamePattern("1111222"));
57                 assertFalse(ValidationUtils.validateComponentNamePattern("11!11222"));
58                 assertFalse(ValidationUtils.validateComponentNamePattern("111|`1222"));
59                 assertFalse(ValidationUtils.validateComponentNamePattern("."));
60                 assertFalse(ValidationUtils.validateComponentNamePattern(""));
61                 assertTrue(ValidationUtils.validateComponentNamePattern("s"));
62         }
63
64         @Test
65         public void validateServiceNameLengthTest() {
66                 assertTrue(ValidationUtils.validateComponentNameLength("fsdlfsdlksdsd;"));
67                 // assertFalse(ValidationUtils.validateComponentNameLength("ddddddddddddddddddddddsdfsddddddddddddddddddddddsdfs"));
68         }
69
70         @Test
71         public void testValidateIcon() {
72
73                 assertTrue(ValidationUtils.validateIcon("something"));
74                 assertTrue(ValidationUtils.validateIcon("sfE4444"));
75                 assertTrue(ValidationUtils.validateIcon("1111sfd222"));
76                 assertTrue(ValidationUtils.validateIcon("11sdf1124_22"));
77                 assertTrue(ValidationUtils.validateIcon("111----1222"));
78                 assertFalse(ValidationUtils.validateIcon("1111f.222"));
79                 assertTrue(ValidationUtils.validateIcon("1111222"));
80                 assertFalse(ValidationUtils.validateIcon("1111 222"));
81                 assertFalse(ValidationUtils.validateIcon("11!11222"));
82                 assertFalse(ValidationUtils.validateIcon("111|`1222"));
83
84         }
85
86
87         @Test
88         public void testValidateIconLength() {
89                 assertTrue(ValidationUtils.validateIconLength("fsdlfsdlksdsd"));
90                 assertFalse(ValidationUtils.validateIconLength("ddddddddddddddddddddddsdfsddddddddddddddddddddddsdfs"));
91         }
92
93         @Test
94         public void testValidateProjectCode() {
95
96                 assertTrue(ValidationUtils.validateProjectCode("15555"));
97                 assertTrue(ValidationUtils.validateProjectCode("12434501"));
98                 assertTrue(ValidationUtils.validateProjectCode("00000"));
99                 assertTrue(ValidationUtils.validateProjectCode("something"));
100                 assertTrue(ValidationUtils.validateProjectCode("som ething"));
101                 assertTrue(ValidationUtils.validateProjectCode("3255 656"));
102                 assertTrue(ValidationUtils.validateProjectCode("43535t636"));
103                 assertFalse(ValidationUtils.validateProjectCode("098&656"));
104         }
105
106         @Test
107         public void testValidateProjectCodeLength() {
108
109                 assertTrue(ValidationUtils.validateProjectCodeLegth("00000"));
110                 assertFalse(ValidationUtils.validateProjectCodeLegth("ddddddddddddddddddddddsdfsddddddddddddddddddddddsdfs"));
111
112         }
113
114         @Test
115         public void testValidateContactId() {
116
117                 assertTrue(ValidationUtils.validateContactId("ml7889"));
118                 assertTrue(ValidationUtils.validateContactId("Ml7889"));
119                 assertTrue(ValidationUtils.validateContactId("ml788r"));
120                 assertTrue(ValidationUtils.validateContactId("something"));
121                 assertTrue(ValidationUtils.validateContactId("mlk111"));
122                 assertTrue(ValidationUtils.validateContactId("12ml89"));
123                 assertFalse(ValidationUtils.validateContactId("!!78900"));
124         }
125
126         @Test
127         public void testRemoveHtml() {
128
129         assertEquals("gooboo", ValidationUtils.removeHtmlTags("<b>goo<b></b></b><b>boo</b>"));
130         assertEquals("goo&lt;boo", ValidationUtils.removeHtmlTags("<b>goo<b></b><</b><b>boo</b>"));
131         assertEquals("goo boo", ValidationUtils.removeHtmlTags("goo boo"));
132         assertEquals("goo# . boo12", ValidationUtils.removeHtmlTags("goo# . boo12"));
133         }
134
135         @Test
136         public void testnormaliseWhitespace() {
137
138         assertEquals("goo boo", ValidationUtils.normaliseWhitespace("goo boo"));
139         assertEquals("goo boo ", ValidationUtils.normaliseWhitespace("goo boo   "));
140         assertEquals("goo boo", ValidationUtils.normaliseWhitespace("goo    boo"));
141         }
142
143         @Test
144         public void teststripOctets() {
145         assertEquals("goo boo", ValidationUtils.stripOctets("goo%1F boo"));
146         assertEquals("goo boo ", ValidationUtils.stripOctets("goo boo %1F"));
147         assertEquals("goo boo", ValidationUtils.stripOctets("%1Fgoo boo"));
148         }
149
150         @Test
151         public void testRemoveNoneUtf8Chars() {
152         assertEquals("goo boo", ValidationUtils.removeNoneUtf8Chars("goo boo"));
153         assertEquals("goo boo!!._", ValidationUtils.removeNoneUtf8Chars("goo boo!!._"));
154         assertEquals("goo       boo", ValidationUtils.removeNoneUtf8Chars("goo  boo"));
155         assertEquals("goo  bo123o", ValidationUtils.removeNoneUtf8Chars("goo  bo123o"));
156         assertEquals("goo  bo123o", ValidationUtils.removeNoneUtf8Chars("goo  קקbo123oגכקק"));
157         assertEquals("goo  bo123o", ValidationUtils.removeNoneUtf8Chars("goo  bo1������23o"));
158         }
159
160         @Test
161         public void validateEnglishTest() {
162                 assertTrue(ValidationUtils.validateIsEnglish("ml7889"));
163                 assertFalse(ValidationUtils.validateIsEnglish("ml7889קר"));
164                 assertFalse(ValidationUtils.validateIsEnglish("ml7889文"));
165         }
166
167         @Test
168         public void removeDuplicateFromListTest() {
169                 List<String> tagsBefore = new ArrayList<>();
170                 tagsBefore.add("tag1");
171                 tagsBefore.add("tag7");
172                 tagsBefore.add("tag3");
173                 tagsBefore.add("tag4");
174                 tagsBefore.add("tag1");
175
176                 List<String> tagsAfter = new ArrayList<>();
177                 tagsAfter.add("tag1");
178                 tagsAfter.add("tag7");
179                 tagsAfter.add("tag3");
180                 tagsAfter.add("tag4");
181                 assertTrue(tagsAfter.containsAll(ValidationUtils.removeDuplicateFromList(tagsBefore)));
182                 tagsBefore = new ArrayList<>();
183                 tagsBefore.add("tag1");
184                 tagsBefore.add("tag7");
185                 tagsBefore.add("tag3");
186                 tagsBefore.add("tag4");
187                 tagsBefore.add("Tag1");
188
189                 tagsAfter = new ArrayList<>();
190                 tagsAfter.add("tag1");
191                 tagsAfter.add("tag7");
192                 tagsAfter.add("tag3");
193                 tagsAfter.add("tag4");
194                 tagsAfter.add("Tag1");
195                 assertTrue(tagsAfter.containsAll(ValidationUtils.removeDuplicateFromList(tagsBefore)));
196         }
197
198         @Test
199         public void validateTagLengthTest() {
200                 assertTrue(ValidationUtils.validateTagLength("fsdlfsdlkfjkljsdf"));
201                 // assertFalse(ValidationUtils.validateTagLength("ddddddddddddddddddddddsdfsddddddddddddddddddddddsdfs"));
202
203         }
204
205         @Test
206         public void validateTagListLengthTest() {
207                 assertTrue(ValidationUtils.validateTagListLength("fsdlfsdlkfjkljsdf,dsfsdfsdf".length()));
208                 StringBuilder sb = new StringBuilder();
209                 for (int i = 0; i <= 1024; i++) {
210                         sb.append("a");
211                 }
212                 assertFalse(ValidationUtils.validateTagListLength(sb.toString().length()));
213
214         }
215
216         @Test
217         public void validateDescriptionLengthTest() {
218                 assertTrue(ValidationUtils.validateDescriptionLength("fsdlfsdlkfjkljsddgfgdfgdfgdfgff"));
219                 StringBuilder sb = new StringBuilder();
220                 for (int i = 0; i <= 1024; i++) {
221                         sb.append("a");
222                 }
223                 assertFalse(ValidationUtils.validateDescriptionLength(sb.toString()));
224
225         }
226
227         @Test
228         public void validateStringNotEmptyTest() {
229                 assertTrue(ValidationUtils.validateStringNotEmpty("fsdlfsdlk"));
230                 assertFalse(ValidationUtils.validateStringNotEmpty(""));
231                 assertFalse(!ValidationUtils.validateStringNotEmpty("  "));
232                 assertFalse(!ValidationUtils.validateStringNotEmpty("   "));
233         }
234
235         @Test
236         public void validateVendorNameTest() {
237                 assertTrue(ValidationUtils.validateVendorName("fsdlfsdlk"));
238                 assertTrue(ValidationUtils.validateVendorName("fsdlfsdlk.sdsd;"));
239                 assertFalse(ValidationUtils.validateVendorName("sadf:"));
240                 assertFalse(ValidationUtils.validateVendorName("sadf/"));
241                 assertFalse(ValidationUtils.validateVendorName("sadf?"));
242         }
243
244         @Test
245         public void validateVendorNameLengthTest() {
246                 assertTrue(ValidationUtils.validateVendorNameLength("fsdlfsdlk.sdsd;"));
247                 assertFalse(ValidationUtils.validateVendorNameLength("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsdfs"));
248         }
249
250         @Test
251         public void validateVendorReleaseTest() {
252                 assertTrue(ValidationUtils.validateVendorRelease("fsdlfsdlk"));
253                 assertTrue(ValidationUtils.validateVendorRelease("fsdlfsdlk.sdsd;"));
254                 assertFalse(ValidationUtils.validateVendorRelease("sadf:"));
255                 assertFalse(ValidationUtils.validateVendorRelease("sadf/"));
256                 assertFalse(ValidationUtils.validateVendorRelease("sadf?"));
257         }
258
259         @Test
260         public void validateVendorReleaseLengthTest() {
261                 assertTrue(ValidationUtils.validateVendorReleaseLength("fsdlfsdlk.sdsd;"));
262                 assertFalse(ValidationUtils.validateVendorReleaseLength("ddddddddddddddddddddddsdfs"));
263         }
264
265         @Test
266         public void hasBeenCertifiedTest() {
267                 assertTrue(ValidationUtils.hasBeenCertified("1.2"));
268                 assertTrue(ValidationUtils.hasBeenCertified("2.2"));
269                 assertTrue(ValidationUtils.hasBeenCertified("1.0"));
270                 assertFalse(ValidationUtils.hasBeenCertified("0.1"));
271
272         }
273
274         @Test
275         public void normalizedNameTest() {
276                 String input = "MyNewSysName";
277                 String outputNorm = ValidationUtils.normaliseComponentName(input);
278                 String outputSys = ValidationUtils.convertToSystemName(input);
279                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
280
281                 input = "My New Sys Name";
282                 outputNorm = ValidationUtils.normaliseComponentName(input);
283                 outputSys = ValidationUtils.convertToSystemName(input);
284                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
285
286                 input = "My.New-Sys_Name";
287                 outputNorm = ValidationUtils.normaliseComponentName(input);
288                 outputSys = ValidationUtils.convertToSystemName(input);
289                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
290
291                 input = "My..New-Sys_Name";
292                 outputNorm = ValidationUtils.normaliseComponentName(input);
293                 outputSys = ValidationUtils.convertToSystemName(input);
294                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
295
296                 input = "My.New--sys_NAme";
297                 outputNorm = ValidationUtils.normaliseComponentName(input);
298                 outputSys = ValidationUtils.convertToSystemName(input);
299                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
300
301                 input = "Layer 3 Connectivity";
302                 outputNorm = ValidationUtils.normaliseComponentName(input);
303                 outputSys = ValidationUtils.convertToSystemName(input);
304                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
305
306                 input = "Layer 3 VPN";
307                 outputNorm = ValidationUtils.normaliseComponentName(input);
308                 outputSys = ValidationUtils.convertToSystemName(input);
309                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
310
311                 input = "Layer-3      Connectivity";
312                 outputNorm = ValidationUtils.normaliseComponentName(input);
313                 outputSys = ValidationUtils.convertToSystemName(input);
314                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
315
316                 input = "IP-connectivity";
317                 outputNorm = ValidationUtils.normaliseComponentName(input);
318                 outputSys = ValidationUtils.convertToSystemName(input);
319                 log.debug("{} <> {} <> {}", input, outputNorm, outputSys);
320
321         }
322
323         @Test
324         public void normalizeFileNameTest() {
325         assertEquals("too.jpeg", ValidationUtils.normalizeFileName("too.jpeg"));
326         assertEquals("too..jpeg", ValidationUtils.normalizeFileName("too..jpeg"));
327         assertEquals("too..jpeg", ValidationUtils.normalizeFileName("t*o:o..jpe<>g"));
328         assertEquals("goo.too..jpeg", ValidationUtils.normalizeFileName("goo.t*o:o..jpe<>g"));
329         assertEquals("goo.too..jpeg", ValidationUtils.normalizeFileName("   goo.t*o:o..jpe<>g  "));
330         assertEquals("goo-too-mo.jpeg", ValidationUtils.normalizeFileName("goo   too----mo.jpeg"));
331         assertEquals("goo-too-mo.jpeg", ValidationUtils.normalizeFileName(".\\..\\goo   too----mo.jpeg"));
332         assertEquals("goo-too-mo.jpeg", ValidationUtils.normalizeFileName("__--goo   too----mo.jpeg--__"));
333         assertEquals("goo-too-mo.jpeg", ValidationUtils.normalizeFileName("_ -goo   too----mo.jpeg _--  _-"));
334
335         }
336
337         @Test
338         public void validateUrlTest() {
339                 assertTrue(ValidationUtils.validateUrl("http://google.co.il/"));
340                 assertTrue(ValidationUtils.validateUrl("https://google.co.il/"));
341                 assertTrue(ValidationUtils.validateUrl("https://google.co.il/go/go"));
342                 assertTrue(ValidationUtils.validateUrl("https://google.co.il/go/go"));
343                 assertTrue(ValidationUtils.validateUrl("http://google.co.il/go/go"));
344                 assertFalse(ValidationUtils.validateUrl("google.co.il/go/go"));
345                 assertFalse(ValidationUtils.validateUrl("https://google.co.il/go/go!"));
346                 assertFalse(ValidationUtils.validateUrl("https://g;oogle.co.il/go/go"));
347
348         }
349
350         @Test
351         public void normalizeArtifactLabel() {
352                 assertEquals(ValidationUtils.normalizeArtifactLabel("Test--3    134++"), "test3134");
353         }
354
355         @Test
356         public void cleanArtifactLabel() {
357                 assertEquals(ValidationUtils.cleanArtifactDisplayName("Test--3    134++"), "Test-3 134+");
358         }
359
360         @Test
361         public void validateArtifactLabel() {
362                 assertTrue(ValidationUtils.validateArtifactLabel("dsflkjsdf345JKL"));
363                 assertTrue(ValidationUtils.validateArtifactLabel("dsfsd lkj  "));
364                 assertTrue(ValidationUtils.validateArtifactLabel("sdfdsf---+"));
365                 assertTrue(ValidationUtils.validateArtifactLabel("   -  +"));
366                 assertFalse(ValidationUtils.validateArtifactLabel("sfsdfhkj111="));
367                 assertFalse(ValidationUtils.validateArtifactLabel("sfsdfhkj111=dfsf%"));
368                 assertFalse(ValidationUtils.validateArtifactLabel("sdfsdfljghgklsdg908*"));
369
370         }
371
372         @Test
373         public void validateCategoryNameFormatTest() {
374                 assertTrue(ValidationUtils.validateCategoryDisplayNameFormat("Net           ele-2_3#456&+.'=:@@@@@#####"));
375                 // this will fail at length
376                 assertTrue(ValidationUtils.validateCategoryDisplayNameFormat(null));
377                 // * is not allowed
378                 assertFalse(ValidationUtils.validateCategoryDisplayNameFormat("Net ele-2_3#456&*+.'=:@"));
379                 assertFalse(ValidationUtils.validateCategoryDisplayNameFormat(""));
380                 // should start with alphanumeric
381                 assertFalse(ValidationUtils.validateCategoryDisplayNameFormat("#abcdef"));
382         }
383
384         @Test
385         public void validateCategoryNameLengthTest() {
386                 assertTrue(ValidationUtils.validateCategoryDisplayNameLength("Netele-2_3#456&+.'=:@@@@@"));
387                 assertTrue(ValidationUtils.validateCategoryDisplayNameLength("Nete"));
388                 assertFalse(ValidationUtils.validateCategoryDisplayNameLength("Netele-2_3#456&+.'=:@@@@@1"));
389                 assertFalse(ValidationUtils.validateCategoryDisplayNameLength("Ne"));
390                 assertFalse(ValidationUtils.validateCategoryDisplayNameLength(null));
391         }
392
393         @Test
394         public void normalizeCategoryNameTest() {
395                 assertEquals("NeteLE-2_3 of #456&+. & Goal a Abc'=:@ AT & T", ValidationUtils.normalizeCategoryName4Display(
396                                 "   neteLE---2___3 OF ###456&&&+++...     aNd goal A abc'''==::@@@@@     AT and T  "));
397                 assertEquals("The Bank of America", ValidationUtils.normalizeCategoryName4Display("The Bank OF America"));
398         }
399
400         @Test
401         public void normalizeCategoryLabelTest() {
402                 assertEquals("netele-2_3 of #456&+.&goal a abc'=:@ at&t",
403                                 ValidationUtils.normalizeCategoryName4Uniqueness("NeteLE-2_3 of #456&+.&Goal a Abc'=:@ AT&T"));
404         }
405
406         /*
407          * Validation utils end
408          */
409
410         /*
411          * General utility start
412          */
413
414         @Test
415         public void validateFileExtension() {
416                 assertEquals(Constants.EMPTY_STRING, GeneralUtility.getFilenameExtension("lalatru"));
417                 assertEquals(Constants.EMPTY_STRING, GeneralUtility.getFilenameExtension("aa."));
418                 assertEquals(Constants.EMPTY_STRING, GeneralUtility.getFilenameExtension(null));
419                 assertEquals("yaml", GeneralUtility.getFilenameExtension("lala.tru.yaml"));
420                 assertEquals("txt", GeneralUtility.getFilenameExtension("kuku.txt"));
421         }
422
423         @Test
424         public void yamlTest() {
425
426                 log.debug("\"kuku\"");
427                 DumperOptions options = new DumperOptions();
428                 // options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
429                 options.setDefaultScalarStyle(DumperOptions.ScalarStyle.FOLDED);
430                 Yaml yaml = new Yaml(options);
431
432                 Map<String, Object> parameters = new HashMap<>();
433                 parameters.put("k1", "val");
434                 parameters.put("k2", "\"val\"");
435
436                 String str = yaml.dump(parameters);
437                 log.debug(str);
438         }
439         
440         @Test
441         public void yamlValidTest() {
442
443                 StringBuilder sb = new StringBuilder();
444                 sb.append("key: \"!@;/?:&=+$,_.~*'()[]\"");
445                 byte[] payload = sb.toString().getBytes();
446
447                 YamlToObjectConverter yamlToObjectConverter = new YamlToObjectConverter();
448
449                 assertTrue(yamlToObjectConverter.isValidYaml(payload));
450         }
451
452         @Test
453         public void testRemoveOnlyHtmlTags() {
454
455                 assertEquals("gooboo", HtmlCleaner.stripHtml("<b>goo<b></b></b><b>boo</b>"));
456                 /*String str = HtmlCleaner.stripHtml("<esofer><b>goo<b></b><</b><b>boo</b>");*/
457
458                 String stripHtmlAndEscape = HtmlCleaner.stripHtml("<esofer><b>goo<b></b><</b><b>boo</b>");
459                 assertEquals("<esofer>goo<boo", stripHtmlAndEscape);
460
461                 stripHtmlAndEscape = HtmlCleaner.stripHtml("<esofer><b>goo<b></b><</b><b>boo</b>", true);
462                 assertEquals("&lt;esofer&gt;goo&lt;boo", stripHtmlAndEscape);
463
464                 stripHtmlAndEscape = HtmlCleaner.stripHtml("<esofer><b>goo<b></b><&</b><b>boo</b>dvc&", true);
465                 assertEquals("&lt;esofer&gt;goo&lt;&amp;boodvc&amp;", stripHtmlAndEscape);
466
467                 assertEquals("esofer&gt;&gt;&lt;&lt;", HtmlCleaner.stripHtml("esofer>><<", true));
468                 assertEquals("esofer>><<", HtmlCleaner.stripHtml("esofer>><<", false));
469
470                 assertEquals("<esofer1>><<esofer2>", HtmlCleaner.stripHtml("<esofer1>><<esofer2>"));
471
472                 assertEquals("<esofer1 a= b>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 a= b><h1>><<esofer2><br>"));
473
474                 assertEquals("&lt;esofer1 a= 'b'&gt;&gt;&lt;&lt;esofer2&gt;",
475                                 HtmlCleaner.stripHtml("<esofer1 a= 'b'>><<esofer2>", true));
476                 assertEquals("<esofer1 a= 'b'>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 a= 'b'>><H6><<esofer2>"));
477
478                 assertEquals("<esofer1 a= b>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 a= b>><<esofer2>"));
479
480                 assertEquals("<esofer1 sd sa= b>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 sd sa= b>><<esofer2>"));
481
482                 assertEquals("&lt;esofer1 sd sa= b&gt;&gt;&lt;&lt;esofer2&gt;",
483                                 HtmlCleaner.stripHtml("<esofer1 sd sa= b>><<esofer2>", true));
484                 assertEquals("<esofer1 sd sa= b>><<esofer2>", HtmlCleaner.stripHtml("<esofer1 sd sa= b>><<esofer2>", false));
485                 assertEquals("&lt;esofer1 sd sa= b&gt;&gt;&lt;&lt;esofer2&gt;",
486                                 HtmlCleaner.stripHtml("<esofer1 sd sa= b>><<esofer2>", true));
487                 assertEquals("<esofer1 sd sa= b>><<esofer2>",
488                                 HtmlCleaner.stripHtml("<esofer1 sd sa= b>><br><H1><<esofer2>", false));
489                 assertEquals("&lt;esofer&gt;goo&lt;&amp;boodvc&amp;",
490                                 HtmlCleaner.stripHtml("<esofer><b>goo<b></b><&</b><b>boo</b>dvc&", true));
491                 assertEquals("<esofer>goo<&boodvc&", HtmlCleaner.stripHtml("<esofer><b>goo<b></b><&</b><b>boo</b>dvc&", false));
492                 assertEquals("<<<>>>;\"", HtmlCleaner.stripHtml("<<<>>>;\"", false));
493                 assertEquals("&lt;&lt;&lt;&gt;&gt;&gt;;&quot;", HtmlCleaner.stripHtml("<<<>>>;\"", true));
494                 assertEquals("<<<>>>;\"", HtmlCleaner.stripHtml("<<<>>>;\"", false));
495                 assertEquals("abc ab a", HtmlCleaner.stripHtml("abc ab a", true));
496                 assertEquals("abc ab a", HtmlCleaner.stripHtml("abc ab a", false));
497                 assertEquals("< esofer1 sd &<>sa= b>><<esofer2>",
498                                 HtmlCleaner.stripHtml("< esofer1 sd &<>sa= b>><br><H1><<esofer2>", false));
499                 assertEquals("sa= b>><<esofer2>", HtmlCleaner.stripHtml("<br sd &<>sa= b>><br><H1><<esofer2>", false));
500                 assertEquals("< br sd &<>sa= b>><<esofer2>",
501                                 HtmlCleaner.stripHtml("< br sd &<>sa= b>><br><H1><<esofer2>", false));
502                 assertEquals("sa= b>><<esofer2>", HtmlCleaner.stripHtml("</br sd &<>sa= b>><br><H1><<esofer2>", false));
503                 assertEquals("sa= b>><<esofer2>", HtmlCleaner.stripHtml("<br sd &</>sa= b>><br><H1><<esofer2>", false));
504
505         }
506
507         /*
508          * General utility end
509          */
510 }