three tests pass now; even better
[augment.git] / spec / augment-emacs.el
blobd49f971dfcd11f0786accdbaa620d108c2bfbf0f
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)
16 (elunit-clear-suites)
17 (defsuite augment-suite nil)
19 (deftest layer-from-json augment-suite
20 "The layer struct should populated from JSON."
21 (let ((layer (augment-layer-from-plist (list :message "message" :color "color"
22 :range "221...226"))))
23 (assert-equal 221 (layer-begin layer))
24 (assert-equal 226 (layer-end layer))
25 (assert-equal "color" (layer-color layer))
26 (assert-equal "message" (layer-message layer))))
28 (deftest layer-file-load augment-suite
29 "Ensure that a whole layer file loads properly."
30 (let ((layers (augment-layers-from-file "fixtures/layers.json")))
31 (assert-equal 3 (length layers))
32 (assert-equal "cons" (layer-message (pop layers)))
33 (assert-equal "car" (layer-message (pop layers)))
34 (assert-equal "cdr" (layer-message (pop layers)))))
36 (deftest render-layers augment-suite
37 "Rendering layers should create overlays in a buffer."
38 (with-output-to-temp-buffer "*augment-test*"
39 ;; Fill the buffer with some garbage
40 (dotimes (i 5) (princ "hello world.\n"))
41 (augment-render-layer (augment-layer-from-plist (list :message "hello"
42 :color "red"
43 :range "0...10")))
44 (assert-overlay 1)
45 (assert-overlay 9))
46 (kill-buffer "*augment-test*"))
48 ;; (deftest layer-message augment-suite
49 ;; "Finding message at point should get the message of the layer the point is in."
50 ;; (with-output-to-temp-buffer "*augment-test*"
51 ;; ;; Fill the buffer with some garbage
52 ;; (dotimes (i 5) (princ "hello world.\n"))
53 ;; (augment-render-layers (augment-layers-from-file "fixtures/layers.json"))
54 ;; (goto-char 30)
55 ;; (assert-equal "cons" (augment-message-at-point))))
57 ;; (deftest watching augment-suite
58 ;; (let ((original-file "fixtures/drinks/lib/drink.rb")
59 ;; (layer-file "fixtures/drinks/lib/.augment/drink.rb"))
60 ;; (shell-command (concat "../bin/augment color " original-file))))
62 (elunit "augment-suite")