package com.twasyl.slideshowfx.content.extension.code; import com.twasyl.slideshowfx.markup.textile.TextileMarkup; import org.junit.BeforeClass; import org.junit.Test; import java.util.regex.Matcher; import java.util.regex.Pattern; import static com.twasyl.slideshowfx.content.extension.code.enums.SupportedLanguage.JAVA; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; /** * This class tests the {@link CodeContentExtension} class. * * @author Thierry Wasylczenko * @since SlideshowFX 1.0 * @version 1.1 */ public class TextileCodeContentExtensionTest extends BaseCodeContentExtensionTest { @BeforeClass public static void setUp() { extension = new CodeContentExtension(); markup = new TextileMarkup(); } @Test public void showLines() { extension.controller = mockController("private String s;", true, JAVA); final String content = extension.buildContentString(markup); final Pattern pattern = Pattern.compile("line\\-numbers"); final Matcher matcher = pattern.matcher(content); assertTrue(matcher.find()); } @Test public void dontShowLines() { extension.controller = mockController("private String s;", false, JAVA); final String content = extension.buildContentString(markup); final Pattern pattern = Pattern.compile("line\\-numbers"); final Matcher matcher = pattern.matcher(content); assertFalse(matcher.find()); } @Test public void javaLanguage() { extension.controller = mockController("private String s;", true, JAVA); final String content = extension.buildContentString(markup); final Pattern pattern = Pattern.compile(JAVA.getCssClass()); final Matcher matcher = pattern.matcher(content); assertTrue(matcher.find()); } @Test public void lineSpecifierCodeMultiLineWithoutEmptyLines() { extension.controller = mockController("private String s;\nprivate boolean b;", false, JAVA); final String content = extension.buildContentString(markup); assertTrue(content.startsWith("bc(" + JAVA.getCssClass() + "). ")); } @Test public void lineSpecifierCodeMultiLineWithEmptyLines() { extension.controller = mockController("private String s;\n\nprivate boolean b;", false, JAVA); final String content = extension.buildContentString(markup); assertTrue(content.startsWith("bc(" + JAVA.getCssClass() + ").. ")); } @Test public void lineSpecifierCodeMultiLineWithLinesContainingOnlySpaces() { extension.controller = mockController("private String s;\n \nprivate boolean b;", false, JAVA); final String content = extension.buildContentString(markup); assertTrue(content.startsWith("bc(" + JAVA.getCssClass() + ").. ")); } @Test public void lineSpecifierCodeSingleLineWithoutEmptyLines() { extension.controller = mockController("private String s;", false, JAVA); final String content = extension.buildContentString(markup); assertTrue(content.startsWith("bc(" + JAVA.getCssClass() + "). ")); } @Test public void withoutLanguageAndDontShowLines() { extension.controller = mockController("private String s;", false, null); final String content = extension.buildContentString(markup); assertTrue(content.startsWith("bc. ")); } }