1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
| | ;;; test-org-table.el --- tests for org-table.el
;; Copyright (c) David Maus
;; Authors: David Maus
;; This file is not part of GNU Emacs.
;; 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/>.
;;;; Comments:
;; Template test file for Org-mode tests
;;; Code:
(ert-deftest test-org-table/align ()
"Align columns within Org buffer, depends on `org-table-number-regexp'."
(org-test-table-target-expect "
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| ab | 12 | 12.2 | 2.4e-08 | 2x10^12 | 4.034+-0.02 | 2.7(10) | >3.5 |
| ab | ab | ab | ab | ab | ab | ab | ab |
")
(org-test-table-target-expect "
| 0 | 0 | 0 | 0 | 0 | 0 |
| <-0x0ab.cf | >-36#0vw.yz | nan | uinf | -inf | inf |
| ab | ab | ab | ab | ab | ab |
"))
(ert-deftest test-org-table/org-table-convert-refs-to-an/1 ()
"Simple reference @1$1."
(should
(string= "A1" (org-table-convert-refs-to-an "@1$1"))))
;; TODO: Test broken
;; (ert-deftest test-org-table/org-table-convert-refs-to-an/2 ()
;; "Self reference @1$1."
;; (should
;; (string= "A1 = $0" (org-table-convert-refs-to-an "@1$1 = $0"))))
(ert-deftest test-org-table/org-table-convert-refs-to-an/3 ()
"Remote reference."
(should
(string= "C& = remote(FOO, @@#B&)" (org-table-convert-refs-to-an "$3 = remote(FOO, @@#$2)"))))
(ert-deftest test-org-table/org-table-convert-refs-to-rc/1 ()
"Simple reference @1$1."
(should
(string= "@1$1" (org-table-convert-refs-to-rc "A1"))))
(ert-deftest test-org-table/org-table-convert-refs-to-rc/2 ()
"Self reference $0."
(should
(string= "@1$1 = $0" (org-table-convert-refs-to-rc "A1 = $0"))))
;; TODO: Test Broken
;; (ert-deftest test-org-table/org-table-convert-refs-to-rc/3 ()
;; "Remote reference."
;; (should
;; (string= "$3 = remote(FOO, @@#$2)" (org-table-convert-refs-to-rc "C& = remote(FOO, @@#B&)"))))
(ert-deftest test-org-table/simple-formula ()
(org-test-with-temp-text-in-file "
* simple formula
:PROPERTIES:
:ID: 563523f7-3f3e-49c9-9622-9216cc9a5d95
:END:
#+tblname: simple-formula
| 1 |
| 2 |
| 3 |
| 4 |
|----|
| |
#+TBLFM: $1=vsum(@1..@-1)
"
(re-search-forward (regexp-quote "#+tblname: simple-formula") nil t)
(forward-line 1)
(should (org-at-table-p))
(should (org-table-recalculate 'all))
(should (string= "10" (first (nth 5 (org-table-to-lisp)))))))
(provide 'test-org-table)
;;; test-org-table.el ends here
|