Prefer HTTPS to FTP and HTTP in documentation
[emacs.git] / test / lisp / progmodes / sql-tests.el
blobad22906ecf18655081cddaea247c6dfa39e4f5dd
1 ;;; sql-tests.el --- Tests for sql.el -*- lexical-binding: t; -*-
3 ;; Copyright (C) 2016-2017 Free Software Foundation, Inc.
5 ;; Author: Simen Heggestøyl <simenheg@gmail.com>
6 ;; Keywords:
8 ;; This file is part of GNU Emacs.
10 ;; GNU Emacs is free software: you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation, either version 3 of the License, or
13 ;; (at your option) any later version.
15 ;; GNU Emacs is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;; GNU General Public License for more details.
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
23 ;;; Commentary:
27 ;;; Code:
29 (require 'cl-lib)
30 (require 'ert)
31 (require 'sql)
33 (ert-deftest sql-tests-postgres-list-databases ()
34 "Test that output from `psql -ltX' is parsed correctly."
35 (cl-letf
36 (((symbol-function 'executable-find)
37 (lambda (_command) t))
38 ((symbol-function 'process-lines)
39 (lambda (_program &rest _args)
40 '(" db-name-1 | foo-user | UTF8 | en_US.UTF-8 | en_US.UTF-8 | "
41 " db_name_2 | foo-user | UTF8 | en_US.UTF-8 | en_US.UTF-8 | "
42 ""))))
43 (should (equal (sql-postgres-list-databases)
44 '("db-name-1" "db_name_2")))))
46 (ert-deftest sql-tests-postgres-list-databases-error ()
47 "Test that nil is returned when `psql -ltX' fails."
48 (cl-letf
49 (((symbol-function 'executable-find)
50 (lambda (_command) t))
51 ((symbol-function 'process-lines)
52 (lambda (_program &rest _args)
53 (error))))
54 (should-not (sql-postgres-list-databases))))
56 (provide 'sql-tests)
57 ;;; sql-tests.el ends here