|
|
@@ -0,0 +1,41 @@ |
|
|
|
// Copyright 2019 The Xorm Authors. All rights reserved. |
|
|
|
// Use of this source code is governed by a BSD-style |
|
|
|
// license that can be found in the LICENSE file. |
|
|
|
|
|
|
|
package xorm |
|
|
|
|
|
|
|
import ( |
|
|
|
"strings" |
|
|
|
"testing" |
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert" |
|
|
|
) |
|
|
|
|
|
|
|
func TestQuoteTo(t *testing.T) { |
|
|
|
|
|
|
|
test := func(t *testing.T, expected string, value string) { |
|
|
|
buf := &strings.Builder{} |
|
|
|
quoteTo(buf, "[]", value) |
|
|
|
assert.EqualValues(t, expected, buf.String()) |
|
|
|
} |
|
|
|
|
|
|
|
test(t, "[mytable]", "mytable") |
|
|
|
test(t, "[mytable]", "`mytable`") |
|
|
|
test(t, "[mytable]", `[mytable]`) |
|
|
|
|
|
|
|
test(t, `["mytable"]`, `"mytable"`) |
|
|
|
|
|
|
|
test(t, "[myschema].[mytable]", "myschema.mytable") |
|
|
|
test(t, "[myschema].[mytable]", "`myschema`.mytable") |
|
|
|
test(t, "[myschema].[mytable]", "myschema.`mytable`") |
|
|
|
test(t, "[myschema].[mytable]", "`myschema`.`mytable`") |
|
|
|
test(t, "[myschema].[mytable]", `[myschema].mytable`) |
|
|
|
test(t, "[myschema].[mytable]", `myschema.[mytable]`) |
|
|
|
test(t, "[myschema].[mytable]", `[myschema].[mytable]`) |
|
|
|
|
|
|
|
test(t, `["myschema].[mytable"]`, `"myschema.mytable"`) |
|
|
|
|
|
|
|
buf := &strings.Builder{} |
|
|
|
quoteTo(buf, "", "noquote") |
|
|
|
assert.EqualValues(t, "noquote", buf.String()) |
|
|
|
} |