@@ -0,0 +1,1682 @@
+package com.googlecode.jslint4java.ant;%0A%0Aimport com.googlecode.jslint4java.Issue;%0Aimport com.googlecode.jslint4java.Issue.IssueBuilder;%0Aimport java.io.ByteArrayOutputStream;%0Aimport java.io.File;%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0Aimport static org.junit.Assert.*;%0Aimport static org.hamcrest.CoreMatchers.*;%0A%0Apublic class PlainResultFormatterTest %7B%0A%0A    private final PlainResultFormatter rf = new PlainResultFormatter();%0A    private final List%3CIssue%3E issues = new ArrayList%3CIssue%3E();%0A    private final ByteArrayOutputStream out = new ByteArrayOutputStream();%0A%0A    /**%0A     *  Run the formatter over the current set of issues.  The File as input%0A     * is just a convenient way of passing a name & path together.%0A     */%0A    private void runFormatter(File file) %7B%0A        rf.begin();%0A        rf.output(file.getName(), file.toString(), issues);%0A        rf.end();%0A    %7D%0A%0A    @Before%0A    public void setUpOutputStream() %7B%0A        rf.setOut(out);%0A    %7D%0A%0A    @Test%0A    public void testExpectedOutputNoIssues() %7B%0A        File file = new File(%22foo/bar.js%22);%0A        runFormatter(file);%0A        assertThat(out.size(), is(0));%0A    %7D%0A%0A    @Test%0A    public void testExpectedOutputOneIssue() %7B%0A        File file = new File(%22foo/bar.js%22);%0A        Issue issue = new IssueBuilder(file.getName(), 1, 1, %22no clucking%22).evidence(%22cluck()%22).build();%0A        issues.add(issue);%0A        runFormatter(file);%0A        String expected = %22bar.js:1:1:no clucking%5Cncluck()%5Cn%5E%5Cn%22;%0A        // NB: We use platform encoding here, as that's what we expect the%0A        // formatter to produce.%0A        assertThat(out.toString(), is(expected));%0A    %7D%0A%0A%7D%0A

Add a test for PlainResultFormatter.