@Test public void shouldPrefixWithOutputBasedirWhenUsingOutputBasedir() { when(mojo.getOutputBasedir()).thenReturn(OUTPUT_BASE_DIR); when(mojo.getOutputDir()).thenReturn(OUTPUT_DIR); String output = builder.buildFrom(INPUT_FILE, mojo); assertThat(output, equalTo(fileUtils.createFullPath(OUTPUT_BASE_DIR, OUTPUT_DIR, "input"))); }
@Test public void shouldPreservePathWhenPreserveIsEnabled() { when(mojo.isPreserveDir()).thenReturn(true); when(mojo.getOutputDir()).thenReturn(OUTPUT_DIR); String output = builder.buildFrom(INPUT_FILE, mojo); assertThat(output, equalTo(fileUtils.createFullPath(BASE_DIR, OUTPUT_DIR, INPUT_FILE))); }
@Test public void shouldPrefixBasedirWhenNotPreservingPath() { when(mojo.isPreserveDir()).thenReturn(false); when(mojo.getOutputDir()).thenReturn(OUTPUT_DIR); String output = builder.buildFrom(INPUT_FILE, mojo); assertThat(output, equalTo(fileUtils.createFullPath(BASE_DIR, OUTPUT_DIR, "input"))); }
@Test public void shouldReturnIgnoreBaseDirForOutputFileWhenStartsWithAbsolutePath() { String os = System.getProperty("os.name").toLowerCase(); if (os.indexOf("windows") < 0) { when(mojo.getOutputFile()).thenReturn(File.separator + "output"); String output = builder.buildFrom(INPUT_FILE, mojo); assertThat(output, equalTo(File.separator + "output")); } else { when(mojo.getOutputFile()).thenReturn("C:" + File.separator + "output"); String output = builder.buildFrom(INPUT_FILE, mojo); assertThat(output, equalTo("C:" + File.separator + "output")); } }
@Test public void shouldWriteToOutputFileWhenNotUsingOutputDirAndIsSet() { when(mojo.getOutputFile()).thenReturn(OUTPUT_FILE); String output = builder.buildFrom(INPUT_FILE, mojo); assertThat(output, equalTo(fileUtils.createFullPath(BASE_DIR, OUTPUT_FILE))); }
@Before public void setUp() { mojo = mock(ReplacerMojo.class); when(mojo.getBasedir()).thenReturn(BASE_DIR); fileUtils = new FileUtils(); builder = new OutputFilenameBuilder(); }