;;; page-tests.el --- Tests for page.el -*- lexical-binding: t; -*- ;; Copyright (C) 2019 Free Software Foundation, Inc. ;; Author: Stefan Kangas ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see . ;;; Commentary: ;;; Code: (require 'ert) (require 'page) (defvar page-tests-page-1 "Page 1/3" "Example text used to test page.el.") (defvar page-tests-page-2 "\nPage 2/3" "Example text used to test page.el.") (defvar page-tests-page-3 "\nPage 3/3\nLast line" "Example text used to test page.el.") (defvar page-tests-break "\n " "Page break used to test page.el.") (defvar page-tests-example-text (concat page-tests-page-1 page-tests-break page-tests-page-2 page-tests-break page-tests-page-3) "Example text used to test page.el.") (ert-deftest page-tests-forward-page () (with-temp-buffer (insert page-tests-example-text) (goto-char (point-min)) (forward-page) (should (looking-at page-tests-page-2)) (forward-page) (should (looking-at page-tests-page-3)) (forward-page) (should (equal (point) (point-max))))) (ert-deftest page-tests-backward-page () (with-temp-buffer (insert page-tests-example-text) (goto-char (point-max)) (backward-page) (should (looking-at page-tests-page-3)) (backward-page) (should (looking-at page-tests-page-2)) (backward-page) (should (looking-at page-tests-page-1)) (should (equal (point) (point-min))))) (ert-deftest page-tests-mark-page () (with-temp-buffer (insert page-tests-example-text) (goto-char (point-min)) (mark-page) (should (looking-at page-tests-page-1)) (should mark-active) (should (equal (mark) 11)))) (ert-deftest page-tests-narrow-to-page () (with-temp-buffer (insert page-tests-example-text) (goto-char (point-min)) (narrow-to-page) (should (equal (buffer-string) (concat page-tests-page-1 "\n"))))) (ert-deftest page-tests-count-lines-page () (with-temp-buffer (insert page-tests-example-text) (goto-char (point-min)) (should (equal (count-lines-page) "Page has 1 lines (0 + 1)")) (goto-char (point-max)) (should (equal (count-lines-page) "Page has 3 lines (3 + 0)")))) (ert-deftest page-tests-what-page () (with-temp-buffer (insert page-tests-example-text) (goto-char (point-min)) (should (equal (what-page) "Page 1, line 1")) (forward-page) (should (equal (what-page) "Page 2, line 2")) (forward-page) (should (equal (what-page) "Page 3, line 4")))) (provide 'page-tests) ;;; page-tests.el ends here