Package br.com.caelum.tubaina.parser.latex

Source Code of br.com.caelum.tubaina.parser.latex.GistTagTest

package br.com.caelum.tubaina.parser.latex;

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

import java.util.Scanner;

import org.junit.Test;

import br.com.caelum.tubaina.chunk.GistChunk;
import br.com.caelum.tubaina.gists.GistConnector;
import br.com.caelum.tubaina.gists.GistRequest;
import br.com.caelum.tubaina.gists.GistResultRetriever;
import br.com.caelum.tubaina.gists.JsonToGistResultConverter;
import br.com.caelum.tubaina.parser.SimpleIndentator;

public class GistTagTest extends AbstractTagTest {

  @Test
  public void gistedCodeIsRetrievedAndUsed() throws Exception {
    GistResultRetriever retriever = new GistResultRetriever(new GistConnector(new JsonToGistResultConverter(),
        new GistRequest()));

    String options = "417835";
    @SuppressWarnings("unused")
    // code to be retrieved, we can only assert parts of it
    String gistedCode = "javascript:(function() {window.frames[3][0].document.getElementById('frameplugin').style.display='none'})()";

    GistChunk chunk = new GistChunk(options);
    String output = new GistTag(new SimpleIndentator(4), retriever).parse(chunk);

    assertPygmentsRan(output);
    assertTrue(output.contains("javascript"));
    assertTrue(output.contains("function"));
  }

  @Test
  public void gistedCodeIsParsedWithLineNumbers() throws Exception {
    String options = "417835 #";
    long gistId = 417835;

    String json = new Scanner(JsonToGistResultConverter.class.getResourceAsStream("/gist.json"))
        .useDelimiter("\\Z").next();

    GistRequest mockedGistRequest = mock(GistRequest.class);
    when(mockedGistRequest.get(gistId)).thenReturn(json);

    GistConnector connector = new GistConnector(new JsonToGistResultConverter(), mockedGistRequest);

    GistResultRetriever retriever = new GistResultRetriever(connector);

    GistChunk chunk = new GistChunk(options);
    String output = new GistTag(new SimpleIndentator(4), retriever).parse(chunk);

    assertPygmentsRan(output);
    assertTrue(output.contains("GivenCode"));
  }

  private void assertPygmentsRan(String output) {
    assertTrue(output.contains("\\begin{Verbatim}[commandchars="));
    assertTrue(output.contains("\\end{Verbatim}"));
  }

}
TOP

Related Classes of br.com.caelum.tubaina.parser.latex.GistTagTest

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.