/* * 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.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import ru.org.linux.util.bbcode.nodes.RootNode; import java.util.Arrays; import java.util.Collection; /** * Тесты для {@link Parser}. */ @RunWith(value = Parameterized.class) public class ParserTest { private final String inputString; private final String expectedResult; Parser parser; RootNode rootNode; public ParserTest(String inputString, String expectedResult) { this.expectedResult = expectedResult; this.inputString = inputString; } @Before public void setUp() { parser = new Parser(new DefaultParserParameters()); rootNode = new RootNode(new DefaultParserParameters()); } @Test public void parse() { // given // when parser.parseRoot(rootNode, inputString); // then String actualResult = rootNode.renderXHtml(); Assert.assertEquals(expectedResult, actualResult); } @Parameters public static Collection<Object[]> data() { Object[][] data = new Object[][]{ {"[list][*]fdfdddfd[/list][[raw]]", "<ul><li>fdfdddfd</li></ul><p>[[raw]]</p>"}, {"[list][*]fdfdddfd[list][[raw]]", "<ul><li>fdfdddfd[[raw]]</li></ul>"}, { "[code][list][*]fdfdddfd[list][[raw]][/code][/code]", "<div class=\"code\"><pre class=\"no-highlight\"><code>[list][*]fdfdddfd[list][[raw]]</code></pre></div>" }, }; return Arrays.asList(data); } }