def test_squeeze_shrinks_an_image(): filename = join(TEST_FILES_DIR, 'nature.png') backup = diet.backup_file(filename, 'back') cmd = "optipng -force -o5 '{file}' " assert filecmp.cmp(filename, backup) diet.squeeze(cmd, filename, "") assert not filecmp.cmp(filename, backup) shutil.copyfile(backup, filename) os.remove(backup)
def test_squeeze_restores_file_if_it_fails(): orig_filename = join(TEST_FILES_DIR, 'nature.gif') backup = diet.backup_file(orig_filename, 'test') filename = ".".join([orig_filename, "test"]) backup = diet.backup_file(filename, 'back') # Screw up file with open(filename, 'w') as f: f.write(" ") assert not filecmp.cmp(filename, backup) # This will fail because of missing command AND broken image try: diet.squeeze('no_command', filename, backup) except diet.CompressFileDietException as e: assert e.msg == ("Squeezing failed. Likely because " "of missing required utilities.") assert filecmp.cmp(filename, backup) os.remove(backup) os.remove(filename)