File: quoted_test.clj

package info (click to toggle)
next-jdbc-clojure 1.3.955-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 876 kB
  • sloc: xml: 62; sh: 39; makefile: 13
file content (34 lines) | stat: -rw-r--r-- 1,099 bytes parent folder | download
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
;; copyright (c) 2019-2021 Sean Corfield, all rights reserved

(ns next.jdbc.quoted-test
  "Basic tests for quoting strategies. These are also tested indirectly
  via the next.jdbc.sql tests."
  (:require [clojure.test :refer [deftest are testing]]
            [next.jdbc.quoted :refer [ansi mysql sql-server oracle postgres
                                      schema]]))

(set! *warn-on-reflection* true)

(deftest basic-quoting
  (are [quote-fn quoted] (= (quote-fn "x") quoted)
    ansi       "\"x\""
    mysql      "`x`"
    sql-server "[x]"
    oracle     "\"x\""
    postgres   "\"x\""))

(deftest schema-quoting
  (testing "verify non-schema behavior"
    (are [quote-fn quoted] (= (quote-fn "x.y") quoted)
      ansi       "\"x.y\""
      mysql      "`x.y`"
      sql-server "[x.y]"
      oracle     "\"x.y\""
      postgres   "\"x.y\""))
  (testing "verify schema behavior"
    (are [quote-fn quoted] (= ((schema quote-fn) "x.y") quoted)
      ansi       "\"x\".\"y\""
      mysql      "`x`.`y`"
      sql-server "[x].[y]"
      oracle     "\"x\".\"y\""
      postgres   "\"x\".\"y\"")))