Package ru.org.linux.util.bbcode

Source Code of ru.org.linux.util.bbcode.MemberTagTest

package ru.org.linux.util.bbcode;

import org.apache.commons.httpclient.URI;
import org.junit.Before;
import org.junit.Test;
import ru.org.linux.spring.SiteConfig;
import ru.org.linux.user.User;
import ru.org.linux.user.UserDao;
import ru.org.linux.user.UserNotFoundException;
import ru.org.linux.util.formatter.ToHtmlFormatter;

import java.util.Set;

import static org.junit.Assert.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public class MemberTagTest {
  private User maxcom; // Администратор
  private User JB;     // Модератор
  private User isden;  // Заблокированный пользователь
  private LorCodeService lorCodeService;

  @Before
  public void initTest() throws Exception {
    UserDao userDao = mock(UserDao.class);
    User splinter = mock(User.class);

    maxcom = mock(User.class);
    JB = mock(User.class);
    isden = mock(User.class);

    when(maxcom.isBlocked()).thenReturn(false);
    when(JB.isBlocked()).thenReturn(false);
    when(isden.isBlocked()).thenReturn(true);
    when(maxcom.getNick()).thenReturn("maxcom");
    when(JB.getNick()).thenReturn("JB");
    when(isden.getNick()).thenReturn("isden");

    when(splinter.isBlocked()).thenReturn(false);
    when(splinter.getNick()).thenReturn("splinter");
    when(userDao.getUser("splinter")).thenReturn(splinter);

    when(userDao.getUser("maxcom")).thenReturn(maxcom);
    when(userDao.getUser("JB")).thenReturn(JB);
    when(userDao.getUser("isden")).thenReturn(isden);
    when(userDao.getUser("hizel")).thenThrow(new UserNotFoundException("hizel"));

    String mainUrl = "http://127.0.0.1:8080/";
    URI mainURI = new URI(mainUrl, true, "UTF-8");

    SiteConfig siteConfig = mock(SiteConfig.class);
    when(siteConfig.getMainURI()).thenReturn(mainURI);
    when(siteConfig.getMainUrl()).thenReturn(mainUrl);


    ToHtmlFormatter toHtmlFormatter = new ToHtmlFormatter();
    toHtmlFormatter.setSiteConfig(siteConfig);

    lorCodeService = new LorCodeService();
    lorCodeService.setUserDao(userDao);
    lorCodeService.setSiteConfig(siteConfig);
    lorCodeService.setToHtmlFormatter(toHtmlFormatter);
  }

  @Test
  public void testExtraLines() {
    //user
    assertEquals(lorCodeService.parseComment("[user]splinter[/user]", false, false),
            lorCodeService.parseComment("\n\n[user]\n\nsplinter\n\n[/user]\n\n", false, false));
  }

  @Test
  public void splinterTest1() { // http://www.linux.org.ru/forum/linux-org-ru/6448266
    assertEquals("<p><a href=\"http://www.fishing.org/\">http://www.fishing.org/</a> <span style=\"white-space: nowrap\"><img src=\"/img/tuxlor.png\"><a style=\"text-decoration: none\" href=\"http://127.0.0.1:8080/people/splinter/profile\">splinter</a></span></p>",
            lorCodeService.parseComment("[url=http://www.fishing.org/][user]splinter[/user][/url]", false, false));
  }

  @Test
  public void userTest() {
    assertEquals("<p> <span style=\"white-space: nowrap\"><img src=\"/img/tuxlor.png\"><a style=\"text-decoration: none\" href=\"http://127.0.0.1:8080/people/maxcom/profile\">maxcom</a></span></p>",
            lorCodeService.parseComment("[user]maxcom[/user]", false, false));
    assertEquals("<p> <span style=\"white-space: nowrap\"><img src=\"/img/tuxlor.png\"><s><a style=\"text-decoration: none\" href=\"http://127.0.0.1:8080/people/isden/profile\">isden</a></s></span></p>",
            lorCodeService.parseComment("[user]isden[/user]", false, false));
    assertEquals("<p> <s>hizel</s></p>",
            lorCodeService.parseComment("[user]hizel[/user]", false, false));
  }

  @Test
  public void parserResultTest() {
    String msg = "[user]hizel[/user][user]JB[/user][user]maxcom[/user]";
    Set<User> replier = lorCodeService.getReplierFromMessage(msg);

    assertTrue(replier.contains(maxcom));
    assertTrue(replier.contains(JB));
    assertFalse(replier.contains(isden));
  }

  @Test
  public void userTest2() {
    assertEquals("<p> <span style=\"white-space: nowrap\"><img src=\"/img/tuxlor.png\"><a style=\"text-decoration: none\" href=\"http://127.0.0.1:8080/people/maxcom/profile\">maxcom</a></span></p>",
            lorCodeService.parseComment("[user]maxcom[/USER]", false, false));
    assertEquals("<p> <span style=\"white-space: nowrap\"><img src=\"/img/tuxlor.png\"><s><a style=\"text-decoration: none\" href=\"http://127.0.0.1:8080/people/isden/profile\">isden</a></s></span></p>",
            lorCodeService.parseComment("[USER]isden[/USER]", false, false));
    assertEquals("<p> <s>hizel</s></p>",
            lorCodeService.parseComment("[user]hizel[/USER]", false, false));
  }

  @Test
  public void parserResultTest2() {
    String msg = "[user]hizel[/user][USER]JB[/user][user]maxcom[/USER]";
    Set<User> replier = lorCodeService.getReplierFromMessage(msg);

    assertTrue(replier.contains(maxcom));
    assertTrue(replier.contains(JB));
    assertFalse(replier.contains(isden));
  }
}
TOP

Related Classes of ru.org.linux.util.bbcode.MemberTagTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.