@Test
  public void all_files_with_given_extension_should_be_returned_recursively() {

    File pathToWalk = classpath.getResource("src");
    DirectoryWalker globDirectoryWalker =
        new GlobDirectoryWalker(pathToWalk.getPath(), "**/*.adoc");
    List<File> asciidocFiles = globDirectoryWalker.scan();

    assertThat(
        asciidocFiles,
        containsInAnyOrder(
            classpath.getResource("src/documents/_sample.adoc"),
            classpath.getResource("src/documents/sample.adoc")));
  }
  @Ignore(
      "Test is ignored because currently it is not possible to register two block extensions in same instance. This may require deep changes on Asciidoctor Extensions API")
  @Test
  public void extensions_should_be_correctly_added() throws IOException {

    Asciidoctor asciidoctor = JRubyAsciidoctor.create();

    // To avoid registering the same extension over and over for all tests, service is instantiated
    // manually.
    new ArrowsAndBoxesExtension().register(asciidoctor);

    Options options =
        options()
            .inPlace(false)
            .toFile(new File(testFolder.getRoot(), "rendersample.html"))
            .safe(SafeMode.UNSAFE)
            .get();

    asciidoctor.renderFile(classpath.getResource("arrows-and-boxes-example.ad"), options);

    File renderedFile = new File(testFolder.getRoot(), "rendersample.html");
    Document doc = Jsoup.parse(renderedFile, "UTF-8");

    Element arrowsJs =
        doc.select("script[src=http://www.headjump.de/javascripts/arrowsandboxes.js").first();
    assertThat(arrowsJs, is(notNullValue()));

    Element arrowsCss =
        doc.select("link[href=http://www.headjump.de/stylesheets/arrowsandboxes.css").first();
    assertThat(arrowsCss, is(notNullValue()));

    Element arrowsAndBoxes = doc.select("pre[class=arrows-and-boxes").first();
    assertThat(arrowsAndBoxes, is(notNullValue()));
  }
  @Test
  public void no_should_be_returned_if_glob_expression_does_not_match() {

    File pathToWalk = classpath.getResource("src");
    DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(pathToWalk.getPath(), "**/*.a");
    List<File> asciidocFiles = globDirectoryWalker.scan();

    assertThat(asciidocFiles, is(empty()));
  }