implemented flog backend
[augment.git] / spec / emacs-frontend-test.el
blob030880b11b640fdfd5196a8c8c7cefde1d83a8bf
1 ;;; augment.el --- Display metadata about code
3 ;; Copyright (C) 2007 Phil Hagelberg
5 ;; Author: Phil Hagelberg <technomancy@gmail.com>
6 ;; Created: 19 Oct 2007
7 ;; Version: 0.1
8 ;; Keywords: augment testing metadata
10 ;; This file is part of the Augment system:
11 ;; http://augment.rubyforge.org
13 (require 'elunit) ;; See http://www.emacswiki.org/cgi-bin/wiki/ElUnit
14 (require 'augment)
15 (require 'flymake)
17 ;; in case it hasn't been properly installed
18 (add-to-list 'exec-path (expand-file-name "../bin"))
20 (elunit-clear-suites)
21 (defsuite augment-suite nil)
23 (deftest layer-from-plist augment-suite
24 "The layer struct should populated from a plist."
25 (let ((layer (augment-layer-from-plist (list :message "message" :color "color"
26 :range "221...226"))))
27 (assert-equal 221 (layer-begin layer))
28 (assert-equal 226 (layer-end layer))
29 (assert-equal "color" (layer-color layer))
30 (assert-equal "message" (layer-message layer))))
32 (deftest augment-file-path augment-suite
33 (assert-equal "/foo/bar/.augment/baz.rb" (augment-file-path "/foo/bar/baz.rb")))
35 (deftest render-layers augment-suite
36 "Rendering layers should create overlays in a buffer."
37 (with-test-buffer
38 ;; Fill the buffer with some garbage
39 (dotimes (i 5) (insert "hello world.\n"))
40 (augment-render-layer (augment-layer-from-plist (list :message "hello"
41 :color "red"
42 :range "0...10")))
43 (assert-overlay 1)
44 (assert-overlay 9)))
46 (deftest layer-message augment-suite
47 "Finding message at point should get the message of the layer the point is in."
48 (let* ((json-object-type 'plist)
49 (json-array-type 'list)
50 (layers (mapcar #'augment-layer-from-plist
51 (json-read-file "fixtures/layers.json"))))
52 (assert-equal "cons" (augment-show-message 5))
53 (assert-equal "car" (augment-show-message 16))
54 (assert-equal "cdr" (augment-show-message 29))))
56 (deftest augment-filter augment-suite
57 (with-test-buffer
58 (make-local-variable 'layers)
59 (dotimes (i 3) (insert "hello world\n"))
60 (augment-filter nil (flymake-read-file-to-string "fixtures/augment-output.txt"))
61 (assert-overlay 2)))
63 (elunit "augment-suite")