Skip to content

Commit

Permalink
prefix-overload tests and minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
bmag committed Oct 3, 2016
1 parent d0ee034 commit c77e166
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 5 deletions.
1 change: 1 addition & 0 deletions tests/test-config.el
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
;; -*- lexical-binding: t -*-
(require 'buttercup-init)

(defvar test-config-purpose-config
Expand Down
10 changes: 5 additions & 5 deletions tests/test-layout.el
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@
(expect 'purpose-set-window-layout :to-have-been-called-with expected-layout))
(it "throws error when file doesn't exist"
(spy-on 'purpose-set-window-layout)
(expect (lambda () (purpose-load-window-layout-file "this-file-does-not-exist"))
(expect (apply-partially 'purpose-load-window-layout-file "this-file-does-not-exist")
:to-throw 'error))
(it "uses filename inputted by the user"
(insert-user-input "tests/layouts1/test-dired2.window-layout")
Expand Down Expand Up @@ -418,7 +418,7 @@
(concat (file-name-as-directory layout-dir) layout-name ".window-layout")))
(it "throws error when called interactively with null `purpose-layout-dirs'"
(let ((purpose-layout-dirs nil))
(expect (lambda () (call-interactively #'purpose-save-window-layout))
(expect (apply-partially 'call-interactively #'purpose-save-window-layout)
:to-throw 'user-error))))

(describe "purpose-load-window-layout"
Expand Down Expand Up @@ -517,7 +517,7 @@
(expect 'purpose-set-frame-layout :to-have-been-called-with expected-layout))
(it "throws error when file doesn't exist"
(spy-on 'purpose-set-frame-layout)
(expect (lambda () (purpose-load-frame-layout-file "this-file-does-not-exist"))
(expect (apply-partially 'purpose-load-frame-layout-file "this-file-does-not-exist")
:to-throw 'error))
(it "uses filename inputted by the user"
(insert-user-input testfile)
Expand Down Expand Up @@ -557,7 +557,7 @@
(concat (file-name-as-directory layout-dir) layout-name ".frame-layout")))
(it "throws error when called interactively with null `purpose-layout-dirs'"
(let ((purpose-layout-dirs nil))
(expect (lambda () (call-interactively #'purpose-save-frame-layout))
(expect (apply-partially 'call-interactively #'purpose-save-frame-layout)
:to-throw 'user-error))))

(describe "purpose-load-frame-layout"
Expand Down Expand Up @@ -660,7 +660,7 @@
(describe "purpose-delete-window* Functions"
(describe "purpose--delete-window-at"
(it "throws error when window not found"
(expect (lambda () (purpose--delete-window-at #'ignore))
(expect (apply-partially 'purpose--delete-window-at #'ignore)
:to-throw 'error)))

(describe "purpose-delete-window-at-top"
Expand Down
24 changes: 24 additions & 0 deletions tests/test-prefix-overload.el
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
;; -*- lexical-binding: t -*-
(require 'buttercup-init)

(describe "define-purpose-prefix-overload"
(before-all
(define-purpose-prefix-overload --purpose-prefix-test
'((lambda () (interactive) 0)
(lambda () (interactive) 1)
(lambda () (interactive) 2)
(lambda () (interactive) 3))))
(it "defines all numeric prefix args correctly"
(expect (purpose-call-with-prefix-arg nil '--purpose-prefix-test) :to-be 0)
(expect (purpose-call-with-prefix-arg 0 '--purpose-prefix-test) :to-be 0)
(expect (purpose-call-with-prefix-arg 1 '--purpose-prefix-test) :to-be 1)
(expect (purpose-call-with-prefix-arg 2 '--purpose-prefix-test) :to-be 2)
(expect (purpose-call-with-prefix-arg 3 '--purpose-prefix-test) :to-be 3))
(it "throws error on undefined numeric prefix arg"
(expect (apply-partially 'purpose-call-with-prefix-arg 4 '--purpose-prefix-test) :to-throw))
(it "defines all C-u prefix args correctly"
(expect (purpose-call-with-prefix-arg '(4) '--purpose-prefix-test) :to-be 1)
(expect (purpose-call-with-prefix-arg '(16) '--purpose-prefix-test) :to-be 2)
(expect (purpose-call-with-prefix-arg '(64) '--purpose-prefix-test) :to-be 3))
(it "throws error on undefined C-u prefix arg"
(expect (apply-partially 'purpose-call-with-prefix-arg '(256) '--purpose-prefix-test) :to-throw)))

0 comments on commit c77e166

Please sign in to comment.