@Override public int render(Renderer renderer, ContentStore db, JBakeConfiguration config) throws RenderingException { if (config.getRenderArchive()) { try { renderer.renderArchive(config.getArchiveFileName()); return 1; } catch (Exception e) { throw new RenderingException(e); } } else { return 0; } }
@Test(expected = RenderingException.class) public void propogatesRenderingException() throws Exception { ArchiveRenderer renderer = new ArchiveRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderArchive()).thenReturn(true); when(configuration.getArchiveFileName()).thenReturn("mockarchive.html"); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); doThrow(new Exception()).when(mockRenderer).renderArchive(anyString()); renderer.render(mockRenderer, contentStore, configuration); verify(mockRenderer, never()).renderArchive("random string"); }
@Test public void doesNotRenderWhenConfigDoesNotRenderArchives() throws Exception { ArchiveRenderer renderer = new ArchiveRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderArchive()).thenReturn(false); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); renderer.render(mockRenderer, contentStore, configuration); verify(mockRenderer, never()).renderArchive(anyString()); }
@Test public void renderArchive() throws Exception { renderer.renderArchive("archive.html"); File outputFile = new File(destinationFolder, "archive.html"); Assert.assertTrue(outputFile.exists()); // verify String output = FileUtils.readFileToString(outputFile, Charset.defaultCharset()); for (String string : getOutputStrings("archive")) { assertThat(output).contains(string); } }
@Test public void doesRenderWhenConfigDoesRenderArchives() throws Exception { ArchiveRenderer renderer = new ArchiveRenderer(); JBakeConfiguration configuration = mock(DefaultJBakeConfiguration.class); when(configuration.getRenderArchive()).thenReturn(true); when(configuration.getArchiveFileName()).thenReturn("mockarchive.html"); ContentStore contentStore = mock(ContentStore.class); Renderer mockRenderer = mock(Renderer.class); renderer.render(mockRenderer, contentStore, configuration); verify(mockRenderer, times(1)).renderArchive(anyString()); }
@Override public int render(Renderer renderer, ContentStore db, JBakeConfiguration config) throws RenderingException { if (config.getRenderArchive()) { try { renderer.renderArchive(config.getArchiveFileName()); return 1; } catch (Exception e) { throw new RenderingException(e); } } else { return 0; } }