private String runCreateFileAndGetContent(String[] args) throws Exception { updater.parseCommandLine(args); File resultFile = updater.createUpdateList(); String content = FileUtil.getFileContent(resultFile); FileUtil.deleteFile(resultFile); return content; }
@Test public void shouldKnowIfAGivenDirectoryExists() throws Exception { File testFolder = new File("TestFolder"); testFolder.mkdir(); updater.parseCommandLine(new String[] {"TestFolder"}); assertTrue(updater.directoriesAreValid()); FileUtil.deleteFileSystemDirectory(testFolder); assertFalse(updater.directoriesAreValid()); }
@Test public void testMainUnhappyPath() throws Exception { String args[] = {"foo", "bar"}; UpdateFileList updaterMock = mock(UpdateFileList.class); UpdateFileList.testUpdater = updaterMock; when(updaterMock.directoriesAreValid()).thenReturn(false); UpdateFileList.main(args); verify(updaterMock).printMessage("Some directories are invalid."); verify(updaterMock).exit(); }
@Test public void testMainHappyPath() throws Exception { String args[] = {"foo", "bar"}; UpdateFileList updaterMock = mock(UpdateFileList.class); UpdateFileList.testUpdater = updaterMock; when(updaterMock.directoriesAreValid()).thenReturn(true); UpdateFileList.main(args); verify(updaterMock).parseCommandLine(args); verify(updaterMock).createUpdateList(); verify(updaterMock).createDoNotUpdateList(); }
@Test public void shouldPutSpecialFilesInDifferentList() throws Exception { String arg1 = "-doNotReplace:MasterFolder/TestFolder/fitnesse.css"; String arg2 = "-doNotReplace:MasterFolder/TestFolder/fitnesse_print.css"; updater.parseCommandLine(new String[] {arg1, arg2, "MasterFolder/TestFolder"}); File doNotUpdateFile = updater.createDoNotUpdateList(); String doNotUpdateContent = FileUtil.getFileContent(doNotUpdateFile); FileUtil.deleteFile(doNotUpdateFile); assertSubString("TestFolder/fitnesse.css", doNotUpdateContent); assertSubString("TestFolder/fitnesse_print.css", doNotUpdateContent); assertDoesntHaveRegexp("TestFolder/TestFile", doNotUpdateContent); }
@Test public void shouldHandleInvalidCommandLine() throws Exception { boolean validCommandLine = updater.parseCommandLine(new String[0]); assertFalse(validCommandLine); }
@Test public void canParseTheCommandLine() throws Exception { updater.parseCommandLine(new String[] {"testDir"}); assertEquals(1, updater.getDirectories().size()); assertEquals("testDir", updater.getDirectories().get(0)); }
@Test public void makeAnUpdateFileList() throws Exception { assertTrue(updater.getClass() == UpdateFileList.class); }
@Test public void shouldSplitUpWindowsLikePathNames() throws Exception { String args[] = {"-baseDirectory:C:\\FitNesse/Resources", "MasterFolder"}; updater.parseCommandLine(args); assertEquals(asList("C:\\FitNesse/Resources/MasterFolder"), updater.getDirectories()); }