/**
   * Test the use of default text.
   *
   * @throws Exception
   */
  @Test
  public void canWriteChangeLogToEmptyChangeLogButWithSomeDefaultContent() throws Exception {
    // set GNU formatter
    clogWriter.setFormatter(new GNUFormat());

    // Open up a new ChangeLog file at newPathToChangeLog with empty content
    // and get the IEditorPart
    InputStream newFileInputStream = new ByteArrayInputStream("".getBytes()); // no content
    String destinationPath = "/this/is/some/random/path";
    IFile emptyChangeLogFile =
        project.addFileToProject(destinationPath, CHANGELOG_FILE_NAME, newFileInputStream);
    IEditorPart editorContent = EditorHelper.openEditor(emptyChangeLogFile);
    clogWriter.setChangelog(editorContent);

    String authorName = "Test Author";
    String email = "*****@*****.**";
    clogWriter.setDateLine(clogWriter.getFormatter().formatDateLine(authorName, email));
    clogWriter.setChangelogLocation(destinationPath + "/" + CHANGELOG_FILE_NAME);

    // Set some default content
    String defaultContent = "Removed.";
    clogWriter.setDefaultContent(defaultContent);

    String relativePathOfChangedFile = "path/to/file/for/new/entry/test.c";
    clogWriter.setEntryFilePath(destinationPath + "/" + relativePathOfChangedFile);

    clogWriter.setGuessedFName("");

    // Write changelog to buffer - need to save for persistence
    clogWriter.writeChangeLog();

    // above written content is not persistent yet; save it to make it persistent
    clogWriter.getChangelog().doSave(null);

    // Construct the changelog entry by hand and match it with what has been written
    String expectedChangeLogEntry = new GNUFormat().formatDateLine(authorName, email);
    expectedChangeLogEntry += "\t* " + relativePathOfChangedFile + ": " + defaultContent + "\n";

    // Read in content written to file
    StringBuffer actualContent = new StringBuffer();
    try (BufferedReader br =
        new BufferedReader(
            new InputStreamReader(
                new FileInputStream(emptyChangeLogFile.getLocation().toFile())))) {
      String line;
      while ((line = br.readLine()) != null) {
        actualContent.append(line + "\n");
      }
    }
    // Assert proper content has been added
    assertEquals(expectedChangeLogEntry, actualContent.toString());
    EditorHelper.closeEditor(editorContent);
  }
 /** @throws java.lang.Exception */
 @Before
 public void setUp() throws Exception {
   clogWriter = new ChangeLogWriter();
   // create a testproject and add a file to it
   project = new ChangeLogTestProject("changelogWriterProject");
   // Generate full path to ChangeLog file
   changelogFilePath = CHANGELOG_FILE_PATH + CHANGELOG_FILE_NAME;
   // add a ChangeLog file to the project at the path specified by
   // CHANGELOG_FILE_PATH_SEGMENTS
   InputStream newFileInputStream = new ByteArrayInputStream(changeLogContent.getBytes());
   changelogFile =
       project.addFileToProject(
           CHANGELOG_FILE_PATH + CHANGELOG_FILE_NAME, CHANGELOG_FILE_NAME, newFileInputStream);
 }
 /** @throws java.lang.Exception */
 @After
 public void tearDown() throws CoreException {
   // dispose testproject
   project.getTestProject().delete(true, null);
 }