This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/core/tests/core-spacemacs-buffer-ftest.el
syl20bnr 63f9e72495 New functions to display some text in a frame
spacemacs/insert-framed-text-to-buffer
spacemacs/insert-framed-text-from-file-to-buffer
2015-04-05 20:59:55 -04:00

120 lines
7.8 KiB
EmacsLisp

;;; core-spacemacs-buffer-ftest.el --- Spacemacs Unit Test File
;;
;; Copyright (c) 2012-2014 Sylvain Benner
;; Copyright (c) 2014-2015 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
(require 'core-spacemacs-buffer)
(setq-default fill-column 80)
;; ---------------------------------------------------------------------------
;; spacemacs//render-framed-text
;; ---------------------------------------------------------------------------
(defvar test-text
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")
(ert-deftest test-render-framed-text--msg-width-caption-and-padding ()
(should (equal (spacemacs//render-framed-text test-text 32 "Caption" 4)
"╭─Caption────────────────────────────╮
│ │
│ Lorem ipsum dolor sit amet, │
│ consectetur adipiscing elit, │
│ sed do eiusmod tempor │
│ incididunt ut labore et │
│ dolore magna aliqua. │
│ │
╰────────────────────────────────────╯
")))
(ert-deftest test-render-framed-text--msg-width-caption-no-padding ()
(should (equal (spacemacs//render-framed-text test-text 32 "Caption")
"╭─Caption─────────────────────────╮
│ │
│ Lorem ipsum dolor sit amet, │
│ consectetur adipiscing elit, │
│ sed do eiusmod tempor │
│ incididunt ut labore et dolore │
│ magna aliqua. │
│ │
╰─────────────────────────────────╯
")))
(ert-deftest test-render-framed-text--msg-width-no-caption-no-padding ()
(should (equal (spacemacs//render-framed-text test-text 32)
"╭─────────────────────────────────╮
│ │
│ Lorem ipsum dolor sit amet, │
│ consectetur adipiscing elit, │
│ sed do eiusmod tempor │
│ incididunt ut labore et dolore │
│ magna aliqua. │
│ │
╰─────────────────────────────────╯
")))
(ert-deftest test-render-framed-text--msg-no-width-no-caption-no-padding ()
(should (equal (spacemacs//render-framed-text test-text)
"╭──────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor │
│ incididunt ut labore et dolore magna aliqua. │
│ │
╰──────────────────────────────────────────────────────────────────────────────────╯
")))
(ert-deftest test-render-framed-text--msg-short-text ()
(should (equal (spacemacs//render-framed-text "Short content.")
"╭──────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Short content. │
│ │
╰──────────────────────────────────────────────────────────────────────────────────╯
")))
(ert-deftest test-render-framed-text--msg-several-paragraphs ()
(should (equal (spacemacs//render-framed-text
(concat "\n"
test-text "\n\n\n"
test-text "\n\n"
test-text "\n"))
"╭──────────────────────────────────────────────────────────────────────────────────╮
│ │
│ │
│ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor │
│ incididunt ut labore et dolore magna aliqua. │
│ │
│ │
│ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor │
│ incididunt ut labore et dolore magna aliqua. │
│ │
│ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor │
│ incididunt ut labore et dolore magna aliqua. │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────────╯
")))
(ert-deftest test-render-framed-text--file-caption-and-padding ()
(should (equal (spacemacs//render-framed-text
(concat spacemacs-core-directory "tests/data/framed-text.txt")
62 "Caption" 4)
"╭─Caption──────────────────────────────────────────────────────────╮
│ │
│ Lorem ipsum dolor sit amet, consectetur adipiscing elit, │
│ sed do eiusmod tempor incididunt ut labore et dolore magna │
│ aliqua. Ut enim ad minim veniam, quis nostrud exercitation │
│ ullamco laboris nisi ut aliquip ex ea commodo consequat. │
│ Duis aute irure dolor in reprehenderit in voluptate velit │
│ esse cillum dolore eu fugiat nulla pariatur. Excepteur │
│ sint occaecat cupidatat non proident, sunt in culpa qui │
│ officia deserunt mollit anim id est laborum. │
│ │
╰──────────────────────────────────────────────────────────────────╯
")))