File file = new File(WORKINGCOPY_DIR+"/statusTest/added.txt"); ISVNInfo info = svnClient.getInfo(file); assertEquals(SVNNodeKind.FILE,info.getNodeKind()); assertNull(info.getLastChangedRevision()); assertEquals(SVNScheduleKind.ADD,info.getSchedule()); assertEquals(file.getCanonicalFile(),info.getFile().getCanonicalFile());  file = new File("nonExistingFile"); info = svnClient.getInfo(file); assertEquals(null, info.getUrl());    file = new File(WORKINGCOPY_DIR+"/statusTest/nonManaged.dir/statusTest"); info = svnClient.getInfo(file); assertEquals(SVNNodeKind.DIR,info.getNodeKind());
    public void testStatus() throws Exception {        		executeTarget("testStatus");        ISVNStatus[] statuses;          // getStatus(File, boolean) does not have the same result with command line interface        // and svnjavahl for now. svnjavahl does not return ignored files for now         statuses = svnClient.getStatus(new File(WORKINGCOPY_DIR+"/statusTest"),false,true);        // let's verify we don't forget some files (ignored ones for example)//TODO some test are disabled ?       //        assertEquals(8,statuses.length);        //        statuses = svnClient.getStatus(new File(WORKINGCOPY_DIR+"/statusTest"),true);//        assertEquals(9,statuses.length);//        statuses = svnClient.getStatus(new File(WORKINGCOPY_DIR+"/statusTest/nonManaged.dir").getCanonicalFile(),false);//        assertEquals(1, statuses.length);                statuses = svnClient.getStatus( new File[] {            new File(WORKINGCOPY_DIR+"/statusTest/added.txt"),            new File(WORKINGCOPY_DIR+"/statusTest/managedDir/added in managed dir.txt"),            new File(WORKINGCOPY_DIR+"/statusTest/nonManaged.dir"),            new File("nonExistingFile"),            new File(WORKINGCOPY_DIR+"/statusTest/ignored.txt"),            new File(WORKINGCOPY_DIR+"/statusTest/nonManaged.dir/statusTest")            }        );        assertEquals(6,statuses.length);        assertEquals(new File(WORKINGCOPY_DIR+"/statusTest/added.txt").getCanonicalFile(), statuses[0].getFile());        assertTextStatus(statuses[0], SVNStatusKind.ADDED);                assertEquals(new File(WORKINGCOPY_DIR+"/statusTest/managedDir/added in managed dir.txt").getAbsoluteFile(), statuses[1].getFile());                assertManaged(statuses[1]);        assertEquals(SVNNodeKind.FILE,statuses[1].getNodeKind());                assertNotManaged(statuses[2]);        assertEquals(SVNNodeKind.UNKNOWN,statuses[2].getNodeKind());        assertNotManaged(statuses[3]);        assertEquals(SVNNodeKind.UNKNOWN,statuses[3].getNodeKind());                assertTextStatus(statuses[4], SVNStatusKind.IGNORED);        assertEquals(SVNNodeKind.UNKNOWN,statuses[4].getNodeKind()); // an ignored resource is a not versioned one, so its resource kind is UNKNOWN                // make sure that the top most directory is said to be versionned. It is in a directory where there is no        // .svn directory but it is versionned however.         assertManaged(statuses[5]);        assertNotNull(statuses[5].getUrl());                  // this test does not pass with command line interface : there is a problem with long        // usernames//      TODO some test are disabled ?       //        statuses = svnClient.getStatus(new File(WORKINGCOPY_DIR+"/statusTest/longUserName.dir"),true,true);//        assertEquals(2, statuses.length);//        assertEquals(new File(WORKINGCOPY_DIR+"/statusTest/longUserName.dir").getAbsoluteFile(), statuses[0].getFile());                ISVNStatus status = svnClient.getSingleStatus(new File(WORKINGCOPY_DIR+"/statusTest/committed.txt"));        assertEquals(status.getTextStatus().toString(), getProject().getProperty("testStatus.textStatus"));        assertEquals(status.getPropStatus().toString(), getProject().getProperty("testStatus.propStatus"));        assertEquals(status.getLastChangedRevision().toString(), getProject().getProperty("testStatus.lastCommitRevision"));        assertEquals(status.getRevision().toString(), getProject().getProperty("testStatus.revision"));        assertEquals(status.getLastCommitAuthor(), getProject().getProperty("testStatus.lastCommitAuthor"));        assertEquals(new SimpleDateFormat("yyyy/MM/dd HH:mm").format(status.getLastChangedDate()), getProject().getProperty("testStatus.lastChangedDate"));        assertEquals(status.getUrl().toString(), getProject().getProperty("testStatus.url"));    }