From d2e944c1032e1d0e7df3f37c1d7ed3c4988d7d7c Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Feb 2017 16:42:44 +0530 Subject: Move tests to separate directory. --- tests/el-exiftool-tests.el | 59 +++++++++++++++++++++++++++++++++++++++++++++ tests/test1.png | Bin 0 -> 1234 bytes tests/test2.jpg | Bin 0 -> 4704 bytes 3 files changed, 59 insertions(+) create mode 100644 tests/el-exiftool-tests.el create mode 100644 tests/test1.png create mode 100644 tests/test2.jpg (limited to 'tests') diff --git a/tests/el-exiftool-tests.el b/tests/el-exiftool-tests.el new file mode 100644 index 0000000..2ac588b --- /dev/null +++ b/tests/el-exiftool-tests.el @@ -0,0 +1,59 @@ +;;; el-exiftool.el --- Elisp wrapper around exiftool ;; -*- lexical-binding: t -*- + +;; Elisp wrapper around exiftool +;; Copyright (C) 2017 by Arun I +;; +;; Author: Arun I +;; Keywords: data +;; Homepage: https://git.systemreboot.net/el-exiftool + +;; This file is part of el-exiftool. + +;; el-exiftool is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; el-exiftool is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with el-exiftool. If not, see . + +;;; Commentary: +;; +;; Unit testing for el-exiftool + +;;; Code: + +(require 'el-exiftool) +(require 'ert) + +(defmacro with-temp-test-file (test-filename temp-filename &rest body) + (declare (indent defun)) + `(let ((,temp-filename (make-temp-file "el-exiftool-" + nil (concat "-" ,test-filename)))) + (copy-file ,test-filename ,temp-filename t) + ,@body + (delete-file ,temp-filename))) + +(ert-deftest read-write-test () + (with-temp-test-file "test1.png" temp-filename + (let ((tag-value-alist '(("Marked" . "True")))) + (apply 'el-exiftool-write temp-filename tag-value-alist) + (should (equal (el-exiftool-read temp-filename (caar tag-value-alist)) + tag-value-alist))))) + +(ert-deftest delete-test () + (with-temp-test-file "test1.png" temp-file + (el-exiftool-write temp-file '("Marked" . "True")) + (el-exiftool-write temp-file '("Marked" . "")) + (should (equal (el-exiftool-read temp-file "Marked") + '(("Marked" . "")))))) + + +(provide 'el-exiftool-tests) + +;;; el-exiftool-tests.el ends here diff --git a/tests/test1.png b/tests/test1.png new file mode 100644 index 0000000..7252cca Binary files /dev/null and b/tests/test1.png differ diff --git a/tests/test2.jpg b/tests/test2.jpg new file mode 100644 index 0000000..b027165 Binary files /dev/null and b/tests/test2.jpg differ -- cgit v1.2.3