fix test
This commit is contained in:
parent
7495ca7297
commit
2d194e4b63
|
@ -3,38 +3,9 @@ package dialects
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"xorm.io/xorm/schemas"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestQuoteFilter_Do(t *testing.T) {
|
||||
f := QuoteFilter{schemas.Quoter{'[', ']', schemas.AlwaysReserve}}
|
||||
var kases = []struct {
|
||||
source string
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
"SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ?",
|
||||
"SELECT [COLUMN_NAME] FROM [INFORMATION_SCHEMA].[COLUMNS] WHERE [TABLE_SCHEMA] = ? AND [TABLE_NAME] = ? AND [COLUMN_NAME] = ?",
|
||||
},
|
||||
{
|
||||
"SELECT 'abc```test```''', `a` FROM b",
|
||||
"SELECT 'abc```test```''', [a] FROM b",
|
||||
},
|
||||
{
|
||||
"UPDATE table SET `a` = ~ `a`, `b`='abc`'",
|
||||
"UPDATE table SET [a] = ~ [a], [b]='abc`'",
|
||||
},
|
||||
}
|
||||
|
||||
for _, kase := range kases {
|
||||
t.Run(kase.source, func(t *testing.T) {
|
||||
assert.EqualValues(t, kase.expected, f.Do(kase.source))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestSeqFilter(t *testing.T) {
|
||||
var kases = map[string]string{
|
||||
"SELECT * FROM TABLE1 WHERE a=? AND b=?": "SELECT * FROM TABLE1 WHERE a=$1 AND b=$2",
|
||||
|
|
|
@ -525,7 +525,7 @@ func (db *mssql) ForUpdateSQL(query string) string {
|
|||
}
|
||||
|
||||
func (db *mssql) Filters() []Filter {
|
||||
return []Filter{ /*&QuoteFilter{db.Quoter()}*/ }
|
||||
return []Filter{}
|
||||
}
|
||||
|
||||
type odbcDriver struct {
|
||||
|
|
|
@ -793,7 +793,6 @@ func (db *oracle) GetIndexes(ctx context.Context, tableName string) (map[string]
|
|||
|
||||
func (db *oracle) Filters() []Filter {
|
||||
return []Filter{
|
||||
/*&QuoteFilter{db.Quoter()},*/
|
||||
&SeqFilter{Prefix: ":", Start: 1},
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1231,7 +1231,7 @@ func (db *postgres) GetIndexes(ctx context.Context, tableName string) (map[strin
|
|||
}
|
||||
|
||||
func (db *postgres) Filters() []Filter {
|
||||
return []Filter{ /*&QuoteFilter{db.Quoter()}, */ &SeqFilter{Prefix: "$", Start: 1}}
|
||||
return []Filter{&SeqFilter{Prefix: "$", Start: 1}}
|
||||
}
|
||||
|
||||
type pqDriver struct {
|
||||
|
|
|
@ -146,3 +146,30 @@ func TestTrim(t *testing.T) {
|
|||
assert.EqualValues(t, dst, Quoter{'[', ']', AlwaysReserve}.Trim(src))
|
||||
}
|
||||
}
|
||||
|
||||
func TestReplace(t *testing.T) {
|
||||
q := Quoter{'[', ']', AlwaysReserve}
|
||||
var kases = []struct {
|
||||
source string
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
"SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ?",
|
||||
"SELECT [COLUMN_NAME] FROM [INFORMATION_SCHEMA].[COLUMNS] WHERE [TABLE_SCHEMA] = ? AND [TABLE_NAME] = ? AND [COLUMN_NAME] = ?",
|
||||
},
|
||||
{
|
||||
"SELECT 'abc```test```''', `a` FROM b",
|
||||
"SELECT 'abc```test```''', [a] FROM b",
|
||||
},
|
||||
{
|
||||
"UPDATE table SET `a` = ~ `a`, `b`='abc`'",
|
||||
"UPDATE table SET [a] = ~ [a], [b]='abc`'",
|
||||
},
|
||||
}
|
||||
|
||||
for _, kase := range kases {
|
||||
t.Run(kase.source, func(t *testing.T) {
|
||||
assert.EqualValues(t, kase.expected, q.Replace(kase.source))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue