package gutenberg.pygments;
import com.google.common.base.Optional;
import org.junit.Test;
import org.python.core.PyObject;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
public class LexersTest {
private PyGateway gateway = new PyGateway();
@Test
public void lookup_with_known_alias__java() {
Lexers lexers = new Lexers();
Optional<Object> found = lexers.lookupLexer(gateway, "java");
assertThat(found).isNotNull();
assertThat(found.isPresent()).isTrue();
assertThat(found.get()).isInstanceOf(PyObject.class);
PyObject actual = (PyObject) found.get();
assertThat(actual.getType().toString()).isEqualTo("<class 'pygments.lexers.jvm.JavaLexer'>");
}
@Test
public void lookup_with_unknown_alias__Kaboom() {
Lexers lexers = new Lexers();
Optional<Object> found = lexers.lookupLexer(gateway, "kaboom");
assertThat(found).isNotNull();
assertThat(found.isPresent()).isFalse();
}
@Test
public void loadAvailableLexers() {
Lexers lexers = new Lexers();
List<LexerInfo> lexerInfos = lexers.loadAvailableLexers(gateway);
assertThat(lexerInfos).contains(new LexerInfo("Java", "java"));
assertThat(lexerInfos).contains(new LexerInfo("Clojure", "clojure", "clj"));
}
}