summaryrefslogtreecommitdiff
path: root/test/lisp/progmodes/sql-tests.el
diff options
context:
space:
mode:
authorMichael R. Mauger <michael@mauger.com>2019-04-20 20:13:56 -0400
committerMichael R. Mauger <michael@mauger.com>2019-04-21 00:05:42 -0400
commit23d8cfb9ce950f12b80314a9840a637177178e29 (patch)
tree8f2d9b233d40b50d199ddb3265e1d70d46e69181 /test/lisp/progmodes/sql-tests.el
parent21db386ac0df26f0b1a549e0bd4f83c5bbce6361 (diff)
downloademacs-23d8cfb9ce950f12b80314a9840a637177178e29.tar.gz
* lisp/progmodes.sql.el
(sql-product-alist): Corrected :terminator defns. (sql-debug-send): New variable. (sql-send-string): Use it and correct buffer context. (sql-send-magic-terminator): Use `sql-input-sender'. (sql-placeholders-filter): Bug#11481 Don't recursively replace placeholders * test/lisp/progmodes/sql-tests.el (sql-test-placeholder-filter): Test placeholder functionality.
Diffstat (limited to 'test/lisp/progmodes/sql-tests.el')
-rw-r--r--test/lisp/progmodes/sql-tests.el34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/lisp/progmodes/sql-tests.el b/test/lisp/progmodes/sql-tests.el
index 7a11f762eb0..5ac34907c2d 100644
--- a/test/lisp/progmodes/sql-tests.el
+++ b/test/lisp/progmodes/sql-tests.el
@@ -270,5 +270,39 @@ Perform ACTION and validate results"
(sql-test-product-feature-harness
(should-not (sql-get-product-feature 'd :Z))))
+;;; SQL Oracle SCAN/DEFINE
+(ert-deftest sql-tests-placeholder-filter ()
+ "Test that placeholder relacement is as expected."
+ (let ((syntab (syntax-table))
+ (sql-oracle-scan-on t)
+ (placeholder-value ""))
+ (set-syntax-table sql-mode-syntax-table)
+
+ (cl-letf
+ (((symbol-function 'read-from-minibuffer)
+ (lambda (&rest _) placeholder-value)))
+
+ (setq placeholder-value "XX")
+ (should (equal
+ (sql-placeholders-filter "select '&x' from dual;")
+ "select 'XX' from dual;"))
+
+ (setq placeholder-value "&Y")
+ (should (equal
+ (sql-placeholders-filter "select '&x' from dual;")
+ "select '&Y' from dual;"))
+ (should (equal
+ (sql-placeholders-filter "select '&x' from dual;")
+ "select '&Y' from dual;"))
+ (should (equal
+ (sql-placeholders-filter "select '&x.' from dual;")
+ "select '&Y' from dual;"))
+ (should (equal
+ (sql-placeholders-filter "select '&x.y' from dual;")
+ "select '&Yy' from dual;")))
+
+ (set-syntax-table syntab)))
+
+
(provide 'sql-tests)
;;; sql-tests.el ends here