From 3cf173d5c3bbc516f5de2acde0b312b141365596 Mon Sep 17 00:00:00 2001 From: mrkkrp Date: Sun, 25 Feb 2018 16:15:43 +0700 Subject: [PATCH] Start test suite --- .ert-runner | 1 + .travis.yml | 7 +---- Cask | 4 ++- README.md | 1 + test/test.txt | 52 +++++++++++++++++++++++++++++++++++++ test/vimish-fold-test.el | 56 ++++++++++++++++++++++++++++++++++++++++ 6 files changed, 114 insertions(+), 7 deletions(-) create mode 100644 .ert-runner create mode 100644 test/test.txt create mode 100644 test/vimish-fold-test.el diff --git a/.ert-runner b/.ert-runner new file mode 100644 index 0000000..e35e9c9 --- /dev/null +++ b/.ert-runner @@ -0,0 +1 @@ +-L . diff --git a/.travis.yml b/.travis.yml index 8f1b447..5169463 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,11 +4,6 @@ env: matrix: - EVM_EMACS=emacs-24.5-travis - EVM_EMACS=emacs-25.2-travis - - EVM_EMACS=emacs-git-snapshot-travis - -matrix: - allow_failures: - - env: EVM_EMACS=emacs-git-snapshot-travis before_install: - git clone https://github.com/rejeep/evm.git $HOME/.evm @@ -22,7 +17,7 @@ install: - cask install script: - - cask build 2>&1 >/dev/null | grep "Error" | wc -l | grep "0" + - cask exec ert-runner notifications: email: false diff --git a/Cask b/Cask index c208f94..9ff2274 100644 --- a/Cask +++ b/Cask @@ -6,4 +6,6 @@ (package-file "vimish-fold.el") (development - (depends-on "f")) + (depends-on "f") + (depends-on "ert-runner") + (depends-on "undercover")) diff --git a/README.md b/README.md index b197291..b45acf2 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ [![License GPL 3](https://img.shields.io/badge/license-GPL_3-green.svg)](http://www.gnu.org/licenses/gpl-3.0.txt) [![MELPA](https://melpa.org/packages/vimish-fold-badge.svg)](https://melpa.org/#/vimish-fold) [![Build Status](https://travis-ci.org/mrkkrp/vimish-fold.svg?branch=master)](https://travis-ci.org/mrkkrp/vimish-fold) +[![Coverage Status](https://coveralls.io/repos/mrkkrp/vimish-fold/badge.svg?branch=master&service=github)](https://coveralls.io/github/mrkkrp/vimish-fold?branch=master) ![Vimish Fold](https://raw.githubusercontent.com/mrkkrp/vimish-fold/gh-pages/vimish-fold.png) diff --git a/test/test.txt b/test/test.txt new file mode 100644 index 0000000..0a12ae5 --- /dev/null +++ b/test/test.txt @@ -0,0 +1,52 @@ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam id iaculis ex. +Vestibulum tincidunt orci ligula, viverra blandit turpis laoreet in. Ut dui +quam, facilisis non vulputate et, congue at mi. Cras convallis gravida +ullamcorper. Nunc efficitur porta lacus vel laoreet. Vivamus vestibulum erat +et libero tincidunt placerat. Nunc sit amet sem placerat, lobortis nisi id, +consectetur lacus. Ut quis nulla vitae nulla imperdiet tempus non eu ligula. +Suspendisse convallis nibh ut dignissim feugiat. Nam maximus sem id ipsum +semper, pharetra vestibulum est eleifend. Aenean bibendum turpis at mi +tempus, in facilisis eros finibus. + +Nam metus leo, venenatis at suscipit at, accumsan at dui. In at aliquet +dolor. Sed porta libero et metus dictum interdum. Curabitur in mattis sem. +Quisque convallis malesuada nulla ut volutpat. Aenean sit amet felis sed +metus ullamcorper tempor non ultricies odio. Proin sodales nisi nec +condimentum tristique. In hac habitasse platea dictumst. Suspendisse blandit +sem et lorem scelerisque, eget dapibus ligula tempus. Duis tincidunt blandit +diam, quis viverra lectus. Integer viverra mauris nisl, vel commodo velit +cursus quis. Vestibulum dictum sollicitudin velit in hendrerit. Nunc et +tincidunt lectus, ut ornare urna. Quisque eu nibh sit amet diam pellentesque +tempor eget eget purus. + +Sed finibus neque sed semper bibendum. Integer semper odio nec lacus aliquet +posuere. Donec et felis mattis, condimentum nisl at, ultrices nibh. Mauris +vehicula, ligula sed dictum pretium, odio ligula auctor neque, at commodo +lectus metus eget est. Cras auctor odio non sollicitudin dictum. Quisque +eros odio, egestas nec odio ac, accumsan feugiat purus. Donec sollicitudin +aliquam turpis sit amet tincidunt. Proin eleifend sem a tempus venenatis. +Fusce et semper enim, et congue diam. Vivamus consequat ex arcu, et +vestibulum ante mollis non. + +Nunc elit augue, volutpat ut placerat eleifend, viverra vitae sem. Donec +accumsan velit at arcu venenatis, sed eleifend neque convallis. Aenean +eleifend sodales felis eget pharetra. Fusce maximus dui at fringilla +volutpat. Mauris molestie neque nunc, in aliquam risus imperdiet sit amet. +Phasellus odio lorem, cursus ac sapien eget, viverra pretium elit. Nulla +libero risus, sodales sed consectetur vitae, commodo ac eros. Sed +condimentum justo sem, at lobortis metus pharetra vitae. Etiam ac facilisis +massa. Vestibulum scelerisque felis non pharetra accumsan. + +Nullam condimentum nec ligula ut luctus. Pellentesque pharetra commodo elit, +ut gravida odio luctus a. Curabitur hendrerit, odio quis facilisis +sollicitudin, nisl augue mollis ligula, nec ultrices augue sapien a orci. +Proin at aliquam magna. Proin ut ipsum in felis mollis elementum ac in diam. +In justo nisi, condimentum at erat nec, efficitur dapibus risus. Phasellus +pretium, nisl nec pretium sodales, dui est finibus mi, in porta orci orci eu +massa. Quisque faucibus facilisis neque. Vivamus imperdiet velit quis urna +laoreet porta. Donec finibus fringilla ex vitae pretium. Sed a sem et dui +convallis volutpat. Cras vehicula, ante eu suscipit imperdiet, purus erat +convallis lectus, eget luctus dui felis eu eros. Nunc eget orci quis turpis +aliquet sollicitudin. Proin in ligula quis tellus ultrices venenatis ut in +nulla. Morbi maximus sit amet leo id eleifend. Pellentesque erat urna, +rutrum in nulla ac, tincidunt iaculis metus. diff --git a/test/vimish-fold-test.el b/test/vimish-fold-test.el new file mode 100644 index 0000000..d7df58d --- /dev/null +++ b/test/vimish-fold-test.el @@ -0,0 +1,56 @@ +;;; vimish-fold-test.el --- Tests for Vimish Fold -*- lexical-binding: t; -*- +;; +;; Copyright © 2018 Mark Karpov +;; +;; Author: Mark Karpov +;; URL: https://github.com/ +;; Version: 0.1.0 +;; Package-Requires: ((emacs "24.4")) +;; Keywords: convenience +;; +;; This file is not part of GNU Emacs. +;; +;; This program 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. +;; +;; This program 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 this program. If not, see . + +;;; Commentary: + +;;; Code: + +(require 'undercover) + +(undercover "vimish-fold.el") + +(require 'cl-lib) +(require 'vimish-fold) + +(defmacro with-test-file (&rest body) + "Run BODY in a temporary buffer with test file loaded." + `(with-temp-buffer + (insert-file-contents "test/test.txt") + ,@body)) + +(ert-deftest vimish-fold-vimish-fold/successful () + (with-test-file + (vimish-fold 666 1324) + (let* ((os (vimish-fold--folds-in (point-min) (point-max))) + (o (car os))) + (should-not (null o)) + (should (eq (overlay-get o 'type) + 'vimish-fold--folded)) + (should (= (overlay-start o) 635)) + (should (= (overlay-end o) 1323))))) + +(provide 'vimish-fold-test) + +;;; vimish-fold-test.el ends here