/** * @see SpecificationRunnerExecutor#outputFile(File) */ private String determineDestination(String source) { String destination; if (specificationRunner instanceof SuiteRunner) { // A suite does not have any specific output file. The output files // are generated by the child document runners in the output // directory. destination = ""; } else if (outputFile == null) { // No output file given: // LivingDoc's old // info.novatec.testit.livingdoc.runner.CommandLineRunner has // only flatten the filename // if a specific repository was set. But in our case it's okay if we // place the reports // always into one single directory with no sub directories. destination = flatten(source); } else { // Single file destination destination = outputFile.getName(); } return destination; }
@Override public void run(String source, String destination) { List<String> names = listDocumentsAt(source); if (names.isEmpty()) { monitor.testRunning(source); monitor.testDone(0, 0, 0, 0); return; } for (String name : names) { runner.run(name, flatten(name)); } }
@Test public void testFlatteningStripsLeadingPathSeparator() { assertEquals("path-to-file", flatten("/path/to/file")); }
private String destination() { if (optionSpecified(RUNNER_SUITE_OPTION)) { return ""; } return output() != null ? fileName(output()) : optionSpecified("repository") ? flatten(input()) : fileName(input()); }
private String destination() { if (isOptionSpecified(RUNNER_SUITE_OPTION)) { return ""; } return isOutputSpecified() ? fileName(getOutput()) : isOptionSpecified(RUNNER_REPOSITORY_OPTION) ? flatten(getInput()) : fileName(getInput()); }
@Test public void testFlatteningReplacesPathSeparatorsWithDashes() { assertEquals("path-to-my_file", flatten(joinAsString(toArray("path", "to", "my_file"), File.separator))); }
@Test public void testOperationsCanBeCombined() { String filePath = joinAsString(toArray("c:", "path", "to", "dir", "sub dir", "my file.html"), File.separator); String dirPath = joinAsString(toArray("c:", "path", "to"), File.separator); assertEquals("dir-sub dir-my file.html", flatten(relativize(dirPath, filePath))); }