package writers import "testing" func TestQuoteDefaultValue(t *testing.T) { t.Parallel() tests := []struct { name string value string sqlType string want string }{ { name: "text default is quoted", value: "active", sqlType: "text", want: "'active'", }, { name: "array default from bare literal is quoted once", value: "{}", sqlType: "text[]", want: "'{}'", }, { name: "array default from quoted literal is preserved", value: "'{}'", sqlType: "text[]", want: "'{}'", }, { name: "array default from double quoted literal is normalized", value: "''{}''", sqlType: "text[]", want: "'{}'", }, { name: "function default is left alone", value: "now()", sqlType: "timestamptz", want: "now()", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got := QuoteDefaultValue(tt.value, tt.sqlType) if got != tt.want { t.Fatalf("QuoteDefaultValue(%q, %q) = %q, want %q", tt.value, tt.sqlType, got, tt.want) } }) } }