Fix subtle problems in tabulated-list-mode with line numbers
[emacs.git] / test / src / print-tests.el
blobb8f6c797daba02569215229d7ca1ba79233814ed
1 ;;; print-tests.el --- tests for src/print.c -*- lexical-binding: t; -*-
3 ;; Copyright (C) 2014-2017 Free Software Foundation, Inc.
5 ;; This file is part of GNU Emacs.
7 ;; This program is free software; you can redistribute it and/or modify
8 ;; it under the terms of the GNU General Public License as published by
9 ;; the Free Software Foundation, either version 3 of the License, or
10 ;; (at your option) any later version.
12 ;; This program is distributed in the hope that it will be useful,
13 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;; GNU General Public License for more details.
17 ;; You should have received a copy of the GNU General Public License
18 ;; along with this program. If not, see <https://www.gnu.org/licenses/>.
20 ;;; Code:
22 (require 'ert)
24 (ert-deftest print-hex-backslash ()
25 (should (string= (let ((print-escape-multibyte t)
26 (print-escape-newlines t))
27 (prin1-to-string "\u00A2\ff"))
28 "\"\\x00a2\\ff\"")))
30 (ert-deftest terpri ()
31 (should (string= (with-output-to-string
32 (princ 'abc)
33 (should (terpri nil t)))
34 "abc\n"))
35 (should (string= (with-output-to-string
36 (should-not (terpri nil t))
37 (princ 'xyz))
38 "xyz"))
39 (message nil)
40 (if noninteractive
41 (progn (should (terpri nil t))
42 (should-not (terpri nil t))
43 (princ 'abc)
44 (should (terpri nil t))
45 (should-not (terpri nil t)))
46 (should (string= (progn (should-not (terpri nil t))
47 (princ 'abc)
48 (should (terpri nil t))
49 (current-message))
50 "abc\n")))
51 (let ((standard-output
52 (with-current-buffer (get-buffer-create "*terpri-test*")
53 (insert "--------")
54 (point-max-marker))))
55 (should (terpri nil t))
56 (should-not (terpri nil t))
57 (should (string= (with-current-buffer (marker-buffer standard-output)
58 (buffer-string))
59 "--------\n"))))
61 (provide 'print-tests)
62 ;;; print-tests.el ends here