@Test
public void testJPEG() throws Exception {

    Metadata metadata = new Metadata();
    metadata.set(Metadata.CONTENT_TYPE, "image/jpeg");
    try (InputStream stream = getClass().getResourceAsStream("/test-documents/testJPEG.jpg")) {
        parser.parse(stream, new DefaultHandler(), metadata, new ParseContext());
    }
    assertEquals("75", metadata.get("height"));
    assertEquals("100", metadata.get("width"));
    assertEquals("0.35277778", metadata.get("Dimension VerticalPixelSize"));
    assertEquals("false", metadata.get("Compression Lossless"));
    assertEquals("class=0, htableId=0", metadata.get("markerSequence dht dhtable"));
    assertEquals("majorVersion=1, minorVersion=1, resUnits=1, Xdensity=72, Ydensity=72, thumbWidth=0, thumbHeight=0", metadata.get("JPEGvariety app0JFIF"));
    assertEquals("225", metadata.get("markerSequence unknown"));
    assertEquals("componentSelector=1, dcHuffTable=0, acHuffTable=0", metadata.get("markerSequence sos scanComponentSpec"));
    assertEquals("normal", metadata.get("Dimension ImageOrientation"));
    assertEquals("1.0", metadata.get("Dimension PixelAspectRatio"));
    assertEquals("elementPrecision=0, qtableId=0", metadata.get("markerSequence dqt dqtable"));
    assertEquals("numScanComponents=3, startSpectralSelection=0, endSpectralSelection=63, approxHigh=0, approxLow=0", metadata.get("markerSequence sos"));
    assertEquals("componentId=1, HsamplingFactor=1, VsamplingFactor=1, QtableSelector=0", metadata.get("markerSequence sof componentSpec"));
    assertEquals("JPEG", metadata.get("Compression CompressionTypeName"));
    assertEquals("0.35277778", metadata.get("Dimension HorizontalPixelSize"));
    assertEquals("Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.", metadata.get("markerSequence com"));
    assertEquals("3", metadata.get("Chroma NumChannels"));
    assertEquals("1", metadata.get("Compression NumProgressiveScans"));
    assertEquals("YCbCr", metadata.get("Chroma ColorSpaceType"));
    assertEquals("keyword=comment, value=Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.", metadata.get("Text TextEntry"));
    assertEquals("image/jpeg", metadata.get("Content-Type"));
    assertEquals("process=0, samplePrecision=8, numLines=75, samplesPerLine=100, numFrameComponents=3", metadata.get("markerSequence sof"));
    assertEquals("100", metadata.get(Metadata.IMAGE_WIDTH));
    assertEquals("75", metadata.get(Metadata.IMAGE_LENGTH));
    assertEquals("Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.", metadata.get(TikaCoreProperties.COMMENTS));
}