utils_test.go 1.3 KB

1234567891011121314151617181920212223
  1. package schema
  2. import (
  3. "reflect"
  4. "testing"
  5. )
  6. func TestRemoveSettingFromTag(t *testing.T) {
  7. tags := map[string]string{
  8. `gorm:"before:value;column:db;after:value" other:"before:value;column:db;after:value"`: `gorm:"before:value;after:value" other:"before:value;column:db;after:value"`,
  9. `gorm:"before:value;column:db;" other:"before:value;column:db;after:value"`: `gorm:"before:value;" other:"before:value;column:db;after:value"`,
  10. `gorm:"before:value;column:db" other:"before:value;column:db;after:value"`: `gorm:"before:value;" other:"before:value;column:db;after:value"`,
  11. `gorm:"column:db" other:"before:value;column:db;after:value"`: `gorm:"" other:"before:value;column:db;after:value"`,
  12. `gorm:"before:value;column:db ;after:value" other:"before:value;column:db;after:value"`: `gorm:"before:value;after:value" other:"before:value;column:db;after:value"`,
  13. `gorm:"before:value;column:db; after:value" other:"before:value;column:db;after:value"`: `gorm:"before:value; after:value" other:"before:value;column:db;after:value"`,
  14. }
  15. for k, v := range tags {
  16. if string(removeSettingFromTag(reflect.StructTag(k), "column")) != v {
  17. t.Errorf("%v after removeSettingFromTag should equal %v, but got %v", k, v, removeSettingFromTag(reflect.StructTag(k), "column"))
  18. }
  19. }
  20. }