Feature: Provides extensive information Calling `allmytoes` with the `--extensive` option makes `allmytoes` print out more information than just the path to the thumb. The provided information is * The path to the thumb * The URI-hash of the input file that is used for the XDG-thumb name * All meta data (key-value pairs) stored in the thumb It does not matter if the thumb did already exist or if it has just been created by `allmytoes`. All data is printed as a list of key-value pairs, each tuple in one line. The key is separated from the value by `: `. Key-value pairs which represent meta data from the thumbnail file are preceeded with a colon and are printed in alphabetical order. Scenario: Get extensive information for existing thumb Given a JPEG image as input And thumbs exists for the input in standard DB When allmytoes is started with arguments --extensive Then stdout was """ Thumb path: {path-to-large-thumb} Thumb hash: {hash-of-thumb} :Thumb::MTime: \d+ """ Scenario: Get extensive information for newly created thumb # This scenario requests the thumb twice. # # The first time, the thumb must be created. # This is important to test as AMT's logic does not read back # the thumb's meta data and all information potentailly comes from other # sources than for a scenario with an existing thumb. # # The second time, the thumb will already exist. # This is tested here to assure that both output's are completely equal. # # This test also serves as a test for the expected meta-fields. # It does not test the values though, except for some cases which are trivial # in this test case. Given a JPEG image as input And no thumbs exist When allmytoes is started with arguments --extensive Then stdout was """ Thumb path: {path-to-large-thumb} Thumb hash: {hash-of-thumb} :Software: allmytoes :Software::Version: \d+\.\d+\.\d+ :Thumb::Image::Dimensions: \d+x\d+ :Thumb::Image::Height: \d+ :Thumb::Image::Reorientation: Rotated 0 degrees, not flipped :Thumb::Image::Width: \d+ :Thumb::MTime: \d+ :Thumb::Mimetype: image/jpeg :Thumb::Size: \d+ :Thumb::URI: file://{input-path} """ When allmytoes is started with arguments --extensive Then stdout was """ Thumb path: {path-to-large-thumb} Thumb hash: {hash-of-thumb} :Software: allmytoes :Software::Version: \d+\.\d+\.\d+ :Thumb::Image::Dimensions: \d+x\d+ :Thumb::Image::Height: \d+ :Thumb::Image::Reorientation: Rotated 0 degrees, not flipped :Thumb::Image::Width: \d+ :Thumb::MTime: \d+ :Thumb::Mimetype: image/jpeg :Thumb::Size: \d+ :Thumb::URI: file://{input-path} """