* Tests embedding metadata then reading metadata to verify the results.
*
* @param isResultExpectedInOutput whether or not results are expected in command line output
*/
protected void embedInTempFile(InputStream sourceInputStream, boolean isResultExpectedInOutput) {
Embedder embedder = getEmbedder();
// TODO Move this check to ExternalEmbedder
String os = System.getProperty("os.name", "");
if (os.contains("Windows")) {
// Skip test on Windows
return;
}
Date timestamp = new Date();
Metadata metadataToEmbed = getMetadataToEmbed(timestamp);
try {
File tempOutputFile = tmp.createTemporaryFile();
FileOutputStream tempFileOutputStream = new FileOutputStream(tempOutputFile);
// Embed the metadata into a copy of the original output stream
embedder.embed(metadataToEmbed, sourceInputStream, tempFileOutputStream, null);
ParseContext context = new ParseContext();
Parser parser = getParser();
context.set(Parser.class, parser);