@Test
public void shouldNotGenerateHTMLonEditorSaveIfOffline() throws Exception {
LOGGER.info("");
assertThat(MarkdownViewBot.isPresent(), is(false));
MarkdownViewBot markdownViewBot = MarkdownViewBot.open();
assertThat(MarkdownViewBot.isPresent(), is(true));
SWTBotToolbarButton onlineButton = markdownViewBot.getOnlineButton();
SWTBotToolbarButton reloadButton = markdownViewBot.getReloadButton();
ProjectBot project = ProjectBot.createSimpleProject();
ProjectFileBot fileBot = project.newFile("file1.md");
EditorBot editorBot = EditorBot.findByName("file1.md");
String textMd1 = "sample text 1, timestamp: " + System.currentTimeMillis() + ".";
editorBot.typeText(textMd1 + "\r");
editorBot.save();
onlineButton.click(); // set offline
String textMd2 = "sample text 2, timestamp: " + System.currentTimeMillis() + ".";
editorBot.typeText(textMd2 + "\r");
editorBot.save();
SWTUtils.sleep(2000);
File fileMd = fileBot.toFile();
File fileHt = new File(fileMd.getParentFile(), ".file1.md.html");
assertThat("not found: " + fileHt, fileHt.exists(), is(true));
assertThat(markdownViewBot.getTitle(), is("*file1"));
String textHt1 = IOUtils.toString(new FileInputStream(fileHt));
assertThat(textHt1, containsString(textMd1));
assertThat(textHt1, not(containsString(textMd2)));
reloadButton.click();
SWTUtils.sleep(2000);
assertThat(markdownViewBot.getTitle(), is("*file1"));
String textHt2 = IOUtils.toString(new FileInputStream(fileHt));
assertThat(textHt2, containsString(textMd1));
assertThat(textHt2, not(containsString(textMd2)));
onlineButton.click(); // set online
reloadButton.click();
SWTUtils.sleep(2000);
assertThat(markdownViewBot.getTitle(), is("file1"));
String textHt3 = IOUtils.toString(new FileInputStream(fileHt));
assertThat(textHt3, containsString(textMd1));
assertThat(textHt3, containsString(textMd2));
editorBot.close();
markdownViewBot.close();
project.delete();
}