12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // Copyright 2017 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 (
- "testing"
- "github.com/stretchr/testify/assert"
- )
- func TestSplitTag(t *testing.T) {
- var cases = []struct {
- tag string
- tags []string
- }{
- {"not null default '2000-01-01 00:00:00' TIMESTAMP", []string{"not", "null", "default", "'2000-01-01 00:00:00'", "TIMESTAMP"}},
- {"TEXT", []string{"TEXT"}},
- {"default('2000-01-01 00:00:00')", []string{"default('2000-01-01 00:00:00')"}},
- {"json binary", []string{"json", "binary"}},
- }
- for _, kase := range cases {
- tags := splitTag(kase.tag)
- if !sliceEq(tags, kase.tags) {
- t.Fatalf("[%d]%v is not equal [%d]%v", len(tags), tags, len(kase.tags), kase.tags)
- }
- }
- }
- func TestEraseAny(t *testing.T) {
- raw := "SELECT * FROM `table`.[table_name]"
- assert.EqualValues(t, raw, eraseAny(raw))
- assert.EqualValues(t, "SELECT * FROM table.[table_name]", eraseAny(raw, "`"))
- assert.EqualValues(t, "SELECT * FROM table.table_name", eraseAny(raw, "`", "[", "]"))
- }
- func TestQuoteColumns(t *testing.T) {
- cols := []string{"f1", "f2", "f3"}
- quoteFunc := func(value string) string {
- return "[" + value + "]"
- }
- assert.EqualValues(t, "[f1], [f2], [f3]", quoteColumns(cols, quoteFunc, ","))
- }
|