0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-07-15 23:16:27 +00:00
org-mode/testing/lisp/test-ob-sqlite.el
Eduardo Bellani 6edec1bef5 Fix table variable with commas in ob-sqlite
* lisp/ob-sqlite.el (org-babel-sqlite-expand-vars): Stop interfering
  with the 'orgtbl-to-csv' default formatting.

* testing/lisp/test-ob-sqlite.el: New file.

The problem here was that ob-sqlite was providing a format to the
`orgtbl-to-csv' that actually overwrote the default format in that
function, and in the case where there were commas in the content of
the table, broke the table as argument mechanism.

TINYCHANGE
2017-09-06 13:18:30 +02:00

46 lines
1.6 KiB
EmacsLisp

;;; test-ob-sqlite.el --- tests for ob-sqlite.el
;; Copyright (C) 2017 Eduardo Bellani
;; Author: Eduardo Bellani <ebellani@gmail.com>
;; Keywords: lisp
;; This program 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.
;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
;;; Code:
(org-test-for-executable "sqlite")
(unless (featurep 'ob-sqlite)
(signal 'missing-test-dependency "Support for sqlite code blocks"))
(ert-deftest ob-sqlite/table-variables-with-commas ()
"Test of a table variable that contains commas. This garantees that this code path results in a valid CSV."
(should
(equal '(("Mr Test A. Sql"
"Minister for Science, Eternal Happiness, and Finance"))
(org-test-with-temp-text
"#+name: test_table1
| \"Mr Test A. Sql\" | Minister for Science, Eternal Happiness, and Finance |
#+begin_src sqlite :db /tmp/test.db :var tb=test_table1
drop table if exists TestTable;
create table TestTable(person, job);
.mode csv TestTable
.import $tb TestTable
select * from TestTable;
#+end_src"
(org-babel-next-src-block)
(org-babel-execute-src-block)))))
;;; test-ob-sqlite.el ends here