* [PATCH] some minimal refactoring for the sake of unit-testing, and a, couple of tests.
@ 2020-06-02 20:51 Mario Frasca
2020-06-03 15:13 ` Mario Frasca
0 siblings, 1 reply; 2+ messages in thread
From: Mario Frasca @ 2020-06-02 20:51 UTC (permalink / raw)
To: emacs-orgmode
From 0ee824cccf793734fa18d42b67d44dae2a2e136e Mon Sep 17 00:00:00 2001
From: mfrasca <mario@anche.no>
Date: Tue, 2 Jun 2020 15:48:46 -0500
Subject: [PATCH] some minimal refactoring for the sake of unit-testing,
and a
couple of tests.
---
lisp/org-plot.el | 18 ++-
testing/lisp/test-org-plot.el | 207 ++++++++++++++++++++++++++++++++++
2 files changed, 220 insertions(+), 5 deletions(-)
create mode 100644 testing/lisp/test-org-plot.el
diff --git a/lisp/org-plot.el b/lisp/org-plot.el
index a23195d2a..f4526db13 100644
--- a/lisp/org-plot.el
+++ b/lisp/org-plot.el
@@ -91,8 +91,8 @@ Return value is the point at the beginning of the table."
(while (not (or (org-at-table-p) (< 0 (forward-line 1)))))
(goto-char (org-table-begin)))
-(defun org-plot/collect-options (&optional params)
- "Collect options from an org-plot `#+Plot:' line.
+(defun org-plot/collect-line-options (&optional params)
+ "Collect options from the org-plot `#+Plot:' line at point.
Accepts an optional property list PARAMS, to which the options
will be added. Returns the resulting property list."
(interactive)
@@ -101,6 +101,16 @@ will be added. Returns the resulting property list."
(org-plot/add-options-to-plist params (match-string 1 line))
params)))
+(defun org-plot/collect-table-options (&optional params)
+ "Collect options from the `#+Plot:' lines preceding the current table.
+Point must immediately after last `#+Plot:' line.
+Accepts an optional property list PARAMS, to which the options will be
added.
+Returns the accumulated property list."
+ (save-excursion (while (and (equal 0 (forward-line -1))
+ (looking-at "[[:space:]]*#\\+"))
+ (setq params (org-plot/collect-line-options params))))
+ params)
+
(defun org-plot-quote-timestamp-field (s)
"Convert field S from timestamp to Unix time and export to gnuplot."
(format-time-string org-plot-timestamp-fmt (org-time-string-to-time s)))
@@ -299,9 +309,7 @@ line directly before or after the table."
(plist-put params :labels (nth 0 table))) ; headers to labels
(setf table (delq 'hline (cdr table)))) ; clean non-data from table
;; Collect options.
- (save-excursion (while (and (equal 0 (forward-line -1))
- (looking-at "[[:space:]]*#\\+"))
- (setf params (org-plot/collect-options params))))
+ (setq params (org-plot/collect-table-options params))
;; Dump table to datafile (very different for grid).
(pcase (plist-get params :plot-type)
(`2d (org-plot/gnuplot-to-data table data-file params))
diff --git a/testing/lisp/test-org-plot.el b/testing/lisp/test-org-plot.el
new file mode 100644
index 000000000..b23075050
--- /dev/null
+++ b/testing/lisp/test-org-plot.el
@@ -0,0 +1,207 @@
+;;; test-org-plot.el --- Tests for Org Plot library -*-
lexical-binding: t; -*-
+
+;; Copyright (C) 2020 Mario Frasca
+
+;; Author: Mario Frasca <mario at anche dot no>
+
+;; 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 <https://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'org-test)
+(require 'org-plot)
+
+\f
+;; General auxiliaries
+
+
+(ert-deftest test-org-plot/collect-line-options ()
+ "Test `org-plot/collect-line-options' specifications."
+ ;; no options specified in table, no defaults
+ (should
+ (equal nil
+ (org-test-with-temp-text
+ "| 1 |"
+ (org-plot/collect-line-options))))
+ ;; no options specified in table, keeps all defaults
+ (should
+ (equal '(:ind 1 :deps 2 3)
+ (org-test-with-temp-text
+ "| 1 |"
+ (org-plot/collect-line-options '(:ind 1 :deps 2 3)))))
+ ;; the independent column
+ (should
+ (equal '(:ind 1)
+ (org-test-with-temp-text
+ "#+PLOT: ind:1\n| 1 |"
+ (org-plot/collect-line-options))))
+ ;; overruling default
+ (should
+ (equal '(:ind 2)
+ (org-test-with-temp-text
+ "#+PLOT: ind:2\n| 1 | 2 |"
+ (org-plot/collect-line-options '(:ind 1)))))
+ ;; appends to already collected
+ (should
+ (equal '(:deps (1 3) :ind 2 )
+ (org-test-with-temp-text
+ "#+PLOT: ind:2\n| 1 | 2 | 3 |"
+ (org-plot/collect-line-options '(:deps (1 3))))))
+ ;; appends to already collected
+ (should
+ (equal '(:ind 2 :deps (1 3) )
+ (org-test-with-temp-text
+ "#+PLOT: ind:2\n| 1 | 2 | 3 |"
+ (org-plot/collect-line-options '(:ind 1 :deps (1 3))))))
+ ;; multiple options from single line
+ (should ; `op' in add-options-to-plist defines order of options
+ (equal '(:plot-type 2d :title "example table" :ind 1 :deps (2 3)
:with (lines points))
+ (org-test-with-temp-text
+ "#+PLOT: title:\"example table\" ind:1 deps:(2 3) type:2d
with:(lines points)"
+ (org-plot/collect-line-options))))
+ ;; with, as a single string
+ (should
+ (equal '(:with lines)
+ (org-test-with-temp-text
+ "#+PLOT: with:lines\n| 1 | 2 | 3 |"
+ (org-plot/collect-line-options))))
+ ;; with, as a list
+ (should
+ (equal '(:with (lines hist))
+ (org-test-with-temp-text
+ "#+PLOT: with:(lines hist)\n| 1 | 2 | 3 |"
+ (org-plot/collect-line-options)))))
+
+
+(ert-deftest test-org-plot/collect-table-options ()
+ "Test `org-plot/collect-table-options' specifications."
+ ;; all options on a single lines
+ (should ; `op' in add-options-to-plist defines order of options
+ (equal '(:plot-type 2d :title "example table" :ind 1 :deps (2 3)
:with (lines points))
+ (org-test-with-temp-text
+ "#+PLOT: title:\"example table\" ind:1 deps:(2 3) type:2d
with:(lines points)\n"
+ (goto-char (point-max)) ; point must be on line after last
options line
+ (org-plot/collect-table-options))))
+ ;; multiple options from multiple lines
+ (should ; `op' in add-options-to-plist defines order of options
+ (equal '(:plot-type 2d :with (lines points) :title "example table"
:ind 1 :deps (2 3))
+ (org-test-with-temp-text
+ "#+PLOT: title:\"example table\" ind:1 deps:(2
3)\n#+PLOT: type:2d with:(lines points)\n"
+ (goto-char (point-max)) ; point must be on line after last
options line
+ (org-plot/collect-table-options))))
+ ;; one option per line, several lines (collected going up)
+ (should
+ (equal '(:with (lines points) :plot-type 2d :deps (2 3) :ind 1
:title "example table")
+ (org-test-with-temp-text
+ "#+PLOT: title:\"example table\"\n#+PLOT: ind:1\n#+PLOT:
deps:(2 3)\n#+PLOT: type:2d\n#+PLOT: with:(lines points)\n"
+ (goto-char (point-max)) ; point must be on line after last
options line
+ (org-plot/collect-table-options)))))
+
+
+(ert-deftest test-org-plot/goto-nearest-table ()
+ "Test `org-plot/goto-nearest-table' specifications."
+ ;; at table beginning stays put
+ (should
+ (= 1
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |"
+ (org-plot/goto-nearest-table))))
+ ;; anywhere within the table moves back to table beginning
+ (should
+ (= 1
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |"
+ (goto-char 4)
+ (org-plot/goto-nearest-table))))
+ ;; on newline at end of table, goes back to table beginning
+ (should
+ (= 1
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n"
+ (goto-char (point-max))
+ (org-plot/goto-nearest-table))))
+ ;; farther away than newline at end of last table, moves to end of buffer
+ (should
+ (= 44
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n\n"
+ (goto-char (point-max))
+ (org-plot/goto-nearest-table))))
+ ;; moves to beginning of data, not metadata
+ (should
+ (= 26
+ (org-test-with-temp-text
+ "#+PLOT: ind:1 deps:(2 3)\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2
| 3 |"
+ (org-plot/goto-nearest-table))))
+ ;; in case there's two tables
+ (should
+ (= 30
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n\n| 1 | 2 | 3 |"
+ (goto-char (point-max))
+ (org-plot/goto-nearest-table)))))
+
+
+(ert-deftest test-org-plot/gnuplot-script ()
+ "Regression Test for `org-plot/gnuplot-script'."
+ (should
+ (equal "reset
+set datafile separator \"\\t\"
+plot FILENAME using 1:2 with points title '2',\\
+ FILENAME using 1:3 with points title '3'"
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |"
+ (let ((data-file (make-temp-file "org-plot"))
+ (table (org-table-to-lisp))
+ (params '(:ind 1 :deps (2 3) :plot-type 2d :with points)))
+ (org-plot/gnuplot-to-data table data-file params)
+ (org-plot/gnuplot-script data-file 3 params t)
+ (replace-regexp-in-string (concat "'" (regexp-quote
data-file) "'")
+ "FILENAME"
+ (org-plot/gnuplot-script data-file 3 params)
+ nil 'LITERAL)))))
+ (should
+ (equal "reset
+set title 'example table'
+set datafile separator \"\\t\"
+plot FILENAME using 1:2 with lines title 'ylab',\\
+ FILENAME using 1:3 with lines title 'zlab'"
+ (org-test-with-temp-text
+ "\
+#+PLOT: title:\"example table\" ind:1 deps:(2 3) type:2d with:lines
+#+PLOT: labels:(\"xlab\" \"ylab\" \"zlab\")
+#+TBLNAME:org-plot-example-1
+| x | y | z |
+|-----+------+------|
+| 0.1 | 0.42 | 0.37 |
+| 0.2 | 0.31 | 0.33 |
+| 0.3 | 0.24 | 0.28 |
+| 0.4 | 0.27 | 0.23 |
+"
+ (org-plot/goto-nearest-table)
+ (let ((data-file (make-temp-file "org-plot"))
+ (table (org-table-to-lisp))
+ params)
+ (setq params (org-plot/collect-table-options params))
+ (org-plot/gnuplot-to-data table data-file params)
+ (org-plot/gnuplot-script data-file 3 params t)
+ (replace-regexp-in-string (concat "'" (regexp-quote
data-file) "'")
+ "FILENAME"
+ (org-plot/gnuplot-script data-file 3 params)
+ nil 'LITERAL))))))
+\f
+(provide 'test-org-plot)
+;;; test-org-plot.el end here
--
2.20.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] some minimal refactoring for the sake of unit-testing, and a, couple of tests.
2020-06-02 20:51 [PATCH] some minimal refactoring for the sake of unit-testing, and a, couple of tests Mario Frasca
@ 2020-06-03 15:13 ` Mario Frasca
0 siblings, 0 replies; 2+ messages in thread
From: Mario Frasca @ 2020-06-03 15:13 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 15 bytes --]
see attachment
[-- Attachment #2: 0001-org-plot.el-adding-unit-tests.patch --]
[-- Type: text/x-patch, Size: 11081 bytes --]
From 065ee9e35e71b0b7c0c0c2a8842909830225d962 Mon Sep 17 00:00:00 2001
From: mfrasca <mario@anche.no>
Date: Tue, 2 Jun 2020 15:48:46 -0500
Subject: [PATCH] org-plot.el: adding unit tests
this patch contains some minimal refactoring for the sake of
unit-testing, and a couple of tests in the (new) file
`testing/lisp/test-org-plot.el'.
---
lisp/org-plot.el | 18 ++-
testing/lisp/test-org-plot.el | 207 ++++++++++++++++++++++++++++++++++
2 files changed, 220 insertions(+), 5 deletions(-)
create mode 100644 testing/lisp/test-org-plot.el
diff --git a/lisp/org-plot.el b/lisp/org-plot.el
index a23195d2a..f4526db13 100644
--- a/lisp/org-plot.el
+++ b/lisp/org-plot.el
@@ -91,8 +91,8 @@ Return value is the point at the beginning of the table."
(while (not (or (org-at-table-p) (< 0 (forward-line 1)))))
(goto-char (org-table-begin)))
-(defun org-plot/collect-options (&optional params)
- "Collect options from an org-plot `#+Plot:' line.
+(defun org-plot/collect-line-options (&optional params)
+ "Collect options from the org-plot `#+Plot:' line at point.
Accepts an optional property list PARAMS, to which the options
will be added. Returns the resulting property list."
(interactive)
@@ -101,6 +101,16 @@ will be added. Returns the resulting property list."
(org-plot/add-options-to-plist params (match-string 1 line))
params)))
+(defun org-plot/collect-table-options (&optional params)
+ "Collect options from the `#+Plot:' lines preceding the current table.
+Point must immediately after last `#+Plot:' line.
+Accepts an optional property list PARAMS, to which the options will be added.
+Returns the accumulated property list."
+ (save-excursion (while (and (equal 0 (forward-line -1))
+ (looking-at "[[:space:]]*#\\+"))
+ (setq params (org-plot/collect-line-options params))))
+ params)
+
(defun org-plot-quote-timestamp-field (s)
"Convert field S from timestamp to Unix time and export to gnuplot."
(format-time-string org-plot-timestamp-fmt (org-time-string-to-time s)))
@@ -299,9 +309,7 @@ line directly before or after the table."
(plist-put params :labels (nth 0 table))) ; headers to labels
(setf table (delq 'hline (cdr table)))) ; clean non-data from table
;; Collect options.
- (save-excursion (while (and (equal 0 (forward-line -1))
- (looking-at "[[:space:]]*#\\+"))
- (setf params (org-plot/collect-options params))))
+ (setq params (org-plot/collect-table-options params))
;; Dump table to datafile (very different for grid).
(pcase (plist-get params :plot-type)
(`2d (org-plot/gnuplot-to-data table data-file params))
diff --git a/testing/lisp/test-org-plot.el b/testing/lisp/test-org-plot.el
new file mode 100644
index 000000000..b23075050
--- /dev/null
+++ b/testing/lisp/test-org-plot.el
@@ -0,0 +1,207 @@
+;;; test-org-plot.el --- Tests for Org Plot library -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2020 Mario Frasca
+
+;; Author: Mario Frasca <mario at anche dot no>
+
+;; 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 <https://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(require 'org-test)
+(require 'org-plot)
+
+\f
+;; General auxiliaries
+
+
+(ert-deftest test-org-plot/collect-line-options ()
+ "Test `org-plot/collect-line-options' specifications."
+ ;; no options specified in table, no defaults
+ (should
+ (equal nil
+ (org-test-with-temp-text
+ "| 1 |"
+ (org-plot/collect-line-options))))
+ ;; no options specified in table, keeps all defaults
+ (should
+ (equal '(:ind 1 :deps 2 3)
+ (org-test-with-temp-text
+ "| 1 |"
+ (org-plot/collect-line-options '(:ind 1 :deps 2 3)))))
+ ;; the independent column
+ (should
+ (equal '(:ind 1)
+ (org-test-with-temp-text
+ "#+PLOT: ind:1\n| 1 |"
+ (org-plot/collect-line-options))))
+ ;; overruling default
+ (should
+ (equal '(:ind 2)
+ (org-test-with-temp-text
+ "#+PLOT: ind:2\n| 1 | 2 |"
+ (org-plot/collect-line-options '(:ind 1)))))
+ ;; appends to already collected
+ (should
+ (equal '(:deps (1 3) :ind 2 )
+ (org-test-with-temp-text
+ "#+PLOT: ind:2\n| 1 | 2 | 3 |"
+ (org-plot/collect-line-options '(:deps (1 3))))))
+ ;; appends to already collected
+ (should
+ (equal '(:ind 2 :deps (1 3) )
+ (org-test-with-temp-text
+ "#+PLOT: ind:2\n| 1 | 2 | 3 |"
+ (org-plot/collect-line-options '(:ind 1 :deps (1 3))))))
+ ;; multiple options from single line
+ (should ; `op' in add-options-to-plist defines order of options
+ (equal '(:plot-type 2d :title "example table" :ind 1 :deps (2 3) :with (lines points))
+ (org-test-with-temp-text
+ "#+PLOT: title:\"example table\" ind:1 deps:(2 3) type:2d with:(lines points)"
+ (org-plot/collect-line-options))))
+ ;; with, as a single string
+ (should
+ (equal '(:with lines)
+ (org-test-with-temp-text
+ "#+PLOT: with:lines\n| 1 | 2 | 3 |"
+ (org-plot/collect-line-options))))
+ ;; with, as a list
+ (should
+ (equal '(:with (lines hist))
+ (org-test-with-temp-text
+ "#+PLOT: with:(lines hist)\n| 1 | 2 | 3 |"
+ (org-plot/collect-line-options)))))
+
+
+(ert-deftest test-org-plot/collect-table-options ()
+ "Test `org-plot/collect-table-options' specifications."
+ ;; all options on a single lines
+ (should ; `op' in add-options-to-plist defines order of options
+ (equal '(:plot-type 2d :title "example table" :ind 1 :deps (2 3) :with (lines points))
+ (org-test-with-temp-text
+ "#+PLOT: title:\"example table\" ind:1 deps:(2 3) type:2d with:(lines points)\n"
+ (goto-char (point-max)) ; point must be on line after last options line
+ (org-plot/collect-table-options))))
+ ;; multiple options from multiple lines
+ (should ; `op' in add-options-to-plist defines order of options
+ (equal '(:plot-type 2d :with (lines points) :title "example table" :ind 1 :deps (2 3))
+ (org-test-with-temp-text
+ "#+PLOT: title:\"example table\" ind:1 deps:(2 3)\n#+PLOT: type:2d with:(lines points)\n"
+ (goto-char (point-max)) ; point must be on line after last options line
+ (org-plot/collect-table-options))))
+ ;; one option per line, several lines (collected going up)
+ (should
+ (equal '(:with (lines points) :plot-type 2d :deps (2 3) :ind 1 :title "example table")
+ (org-test-with-temp-text
+ "#+PLOT: title:\"example table\"\n#+PLOT: ind:1\n#+PLOT: deps:(2 3)\n#+PLOT: type:2d\n#+PLOT: with:(lines points)\n"
+ (goto-char (point-max)) ; point must be on line after last options line
+ (org-plot/collect-table-options)))))
+
+
+(ert-deftest test-org-plot/goto-nearest-table ()
+ "Test `org-plot/goto-nearest-table' specifications."
+ ;; at table beginning stays put
+ (should
+ (= 1
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |"
+ (org-plot/goto-nearest-table))))
+ ;; anywhere within the table moves back to table beginning
+ (should
+ (= 1
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |"
+ (goto-char 4)
+ (org-plot/goto-nearest-table))))
+ ;; on newline at end of table, goes back to table beginning
+ (should
+ (= 1
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n"
+ (goto-char (point-max))
+ (org-plot/goto-nearest-table))))
+ ;; farther away than newline at end of last table, moves to end of buffer
+ (should
+ (= 44
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n\n"
+ (goto-char (point-max))
+ (org-plot/goto-nearest-table))))
+ ;; moves to beginning of data, not metadata
+ (should
+ (= 26
+ (org-test-with-temp-text
+ "#+PLOT: ind:1 deps:(2 3)\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |"
+ (org-plot/goto-nearest-table))))
+ ;; in case there's two tables
+ (should
+ (= 30
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n\n| 1 | 2 | 3 |"
+ (goto-char (point-max))
+ (org-plot/goto-nearest-table)))))
+
+
+(ert-deftest test-org-plot/gnuplot-script ()
+ "Regression Test for `org-plot/gnuplot-script'."
+ (should
+ (equal "reset
+set datafile separator \"\\t\"
+plot FILENAME using 1:2 with points title '2',\\
+ FILENAME using 1:3 with points title '3'"
+ (org-test-with-temp-text
+ "| 1 | 2 | 3 |\n| 1 | 2 | 3 |\n| 1 | 2 | 3 |"
+ (let ((data-file (make-temp-file "org-plot"))
+ (table (org-table-to-lisp))
+ (params '(:ind 1 :deps (2 3) :plot-type 2d :with points)))
+ (org-plot/gnuplot-to-data table data-file params)
+ (org-plot/gnuplot-script data-file 3 params t)
+ (replace-regexp-in-string (concat "'" (regexp-quote data-file) "'")
+ "FILENAME"
+ (org-plot/gnuplot-script data-file 3 params)
+ nil 'LITERAL)))))
+ (should
+ (equal "reset
+set title 'example table'
+set datafile separator \"\\t\"
+plot FILENAME using 1:2 with lines title 'ylab',\\
+ FILENAME using 1:3 with lines title 'zlab'"
+ (org-test-with-temp-text
+ "\
+#+PLOT: title:\"example table\" ind:1 deps:(2 3) type:2d with:lines
+#+PLOT: labels:(\"xlab\" \"ylab\" \"zlab\")
+#+TBLNAME:org-plot-example-1
+| x | y | z |
+|-----+------+------|
+| 0.1 | 0.42 | 0.37 |
+| 0.2 | 0.31 | 0.33 |
+| 0.3 | 0.24 | 0.28 |
+| 0.4 | 0.27 | 0.23 |
+"
+ (org-plot/goto-nearest-table)
+ (let ((data-file (make-temp-file "org-plot"))
+ (table (org-table-to-lisp))
+ params)
+ (setq params (org-plot/collect-table-options params))
+ (org-plot/gnuplot-to-data table data-file params)
+ (org-plot/gnuplot-script data-file 3 params t)
+ (replace-regexp-in-string (concat "'" (regexp-quote data-file) "'")
+ "FILENAME"
+ (org-plot/gnuplot-script data-file 3 params)
+ nil 'LITERAL))))))
+\f
+(provide 'test-org-plot)
+;;; test-org-plot.el end here
--
2.20.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-06-03 15:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-02 20:51 [PATCH] some minimal refactoring for the sake of unit-testing, and a, couple of tests Mario Frasca
2020-06-03 15:13 ` Mario Frasca
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).