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
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
17 ;; in case it hasn't been properly installed
18 (add-to-list 'exec-path
(expand-file-name "../bin"))
21 (defsuite augment-suite nil
)
24 (deftest layer-from-plist augment-suite
25 "The layer struct should populated from a plist."
26 (let ((layer (augment-layer-from-plist (list :message
"message" :color
"color"
27 :range
"221...226"))))
28 (assert-equal 221 (layer-begin layer
))
29 (assert-equal 226 (layer-end layer
))
30 (assert-equal "color" (layer-color layer
))
31 (assert-equal "message" (layer-message layer
))))
33 (deftest augment-file-path augment-suite
34 (assert-equal "/foo/bar/.augment/baz.rb" (augment-file-path "/foo/bar/baz.rb")))
36 (deftest render-layers augment-suite
37 "Rendering layers should create overlays in a buffer."
39 ;; Fill the buffer with some garbage
40 (dotimes (i 5) (insert "hello world.\n"))
41 (augment-render-layer (augment-layer-from-plist (list :message
"hello"
47 (deftest layer-message augment-suite
48 "Finding message at point should get the message of the layer the point is in."
49 (let* ((json-object-type 'plist
)
50 (json-array-type 'list
)
51 (layers (mapcar #'augment-layer-from-plist
52 (json-read-file "fixtures/layers.json"))))
53 (assert-equal "cons" (augment-show-message 5))
54 (assert-equal "car" (augment-show-message 16))
55 (assert-equal "cdr" (augment-show-message 29))))
57 (deftest augment-filter augment-suite
59 (make-local-variable 'layers
)
60 (dotimes (i 3) (insert "hello world\n"))
61 (augment-filter nil
(flymake-read-file-to-string "fixtures/augment-output.txt"))
64 (deftest no-problems-file augment-suite
66 (find-file "fixtures/working_test.rb")
69 (kill-buffer "working_test.rb")))
71 (deftest fix-all-problems augment-suite
73 (find-file "fixtures/fix_test.rb")
78 (replace-regexp "assert false" "assert true")
81 (assert-no-overlay 77)
82 (kill-buffer "fix_test.rb")))
84 (elunit "augment-suite")