diff --git a/.travis.yml b/.travis.yml index 2e00140..6ca85a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,11 @@ language: emacs-lisp sudo: false +env: + - EVM_EMACS=emacs-25.1-travis before_install: - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > x.sh && source ./x.sh - evm install $EVM_EMACS --use --skip - cask -env: -# - EVM_EMACS=emacs-24.5-travis - - EVM_EMACS=emacs-25.1-travis script: - emacs --version - make test diff --git a/Makefile b/Makefile index 457c389..e03d2a2 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ CASK ?= cask EMACS ?= emacs +CASK_DIR ?= `${CASK} package-directory` all: test @@ -15,4 +16,8 @@ unit: install: ${CASK} install +clean: + rm -Rf .emacs.d + rm -Rf .cask + .PHONY: all test unit ecukes install diff --git a/plantuml-mode.el b/plantuml-mode.el index ea6f880..176502f 100644 --- a/plantuml-mode.el +++ b/plantuml-mode.el @@ -7,7 +7,6 @@ ;; Maintainer: Carlo Sciolla (skuro) ;; Keywords: uml plantuml ascii ;; Version: 1.2.3 -;; Package-Requires: ((emacs "24")) ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -86,8 +85,9 @@ (defcustom plantuml-java-command "java" "The java command used to execute PlantUML.") -(defcustom plantuml-java-args '("-Djava.awt.headless=true" "-jar") - "The parameters passed to `plantuml-java-command' when executing PlantUML.") +(eval-and-compile + (defcustom plantuml-java-args '("-Djava.awt.headless=true" "-jar") + "The parameters passed to `plantuml-java-command' when executing PlantUML.")) (defcustom plantuml-suppress-deprecation-warning t "To silence the deprecation warning when `puml-mode' is found upon loading.") diff --git a/test/plantuml-mode-test.el b/test/plantuml-mode-test.el index 4c95184..afcff0c 100644 --- a/test/plantuml-mode-test.el +++ b/test/plantuml-mode-test.el @@ -12,6 +12,24 @@ (should (equal (expand-file-name "~/plantuml.jar") plantuml-jar-path))) +(ert-deftest can-unload-plantuml () + (unload-feature 'plantuml-mode t) + (should (eq nil (boundp 'plantuml-jar-path))) + (load-plantuml-mode) + (should (not (eq nil (boundp 'plantuml-jar-path))))) + +(ert-deftest debug-install-issues () + (unload-feature 'plantuml-mode t) + + (condition-case nil + (require 'package) + (add-to-list 'package-archives + '("melpa" . "https://melpa.milkbox.net/packages/")) + (package-install "plantuml-mode") + (unload-feature 'plantuml-mode t)) + + (load-plantuml-mode)) + (provide 'plantuml-mode-test) ;;; plantuml-mode-test.el ends here diff --git a/test/resources/init.el b/test/resources/init.el new file mode 100644 index 0000000..88be1a3 --- /dev/null +++ b/test/resources/init.el @@ -0,0 +1,27 @@ +;; Used to test `plantuml-mode' installations + +(setq user-emacs-directory "./.emacs.d") + +(require 'subr-x) +(setq local-repository + (concat + (string-trim (shell-command-to-string "cask package-directory")) + "/../testing")) +(custom-set-variables `(package-archive-upload-base ,local-repository)) + +(require 'package-x) +(defun -package-upload (file) + (with-temp-buffer + (insert-file-contents file) + (let ((pkg-desc (package-buffer-info))) + (package-upload-buffer-internal pkg-desc "el")))) +(-package-upload "plantuml-mode.el") + +(setq package-archives `(("local" . ,local-repository))) +(package-initialize) + +(package-install 'plantuml-mode) +(require 'plantuml-mode) + +(message + (concat "Successfully installed plantuml-mode v" plantuml-mode-version)) diff --git a/test/test-helper.el b/test/test-helper.el index 6e9026c..9fba3f7 100644 --- a/test/test-helper.el +++ b/test/test-helper.el @@ -32,6 +32,9 @@ (defun read-test-file (path) (f-read (f-join plantuml-test-resources-path path) 'utf-8)) -(require 'plantuml-mode (f-expand "plantuml-mode.el" package-code-path)) +(defun load-plantuml-mode () + (require 'plantuml-mode (f-expand "plantuml-mode.el" package-code-path))) + +(load-plantuml-mode) ;;; test-helper.el ends here