From 0596869e3e1936bc547237e7d7638c86deaef24a Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Mon, 21 Mar 2022 23:12:37 +0000 Subject: [PATCH] fix(update): expand supported GOLDEN_UPDATE env var values --- update.go | 7 ++- update_test.go | 115 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+), 2 deletions(-) diff --git a/update.go b/update.go index e7d7ce9..d655613 100644 --- a/update.go +++ b/update.go @@ -1,6 +1,9 @@ package golden -import "os" +import ( + "os" + "strings" +) var truthyStrings = []string{"1", "y", "t", "yes", "on", "true"} @@ -14,7 +17,7 @@ type UpdateFunc func() bool func EnvUpdateFunc() bool { env := os.Getenv("GOLDEN_UPDATE") for _, v := range truthyStrings { - if env == v { + if strings.ToLower(env) == v { return true } } diff --git a/update_test.go b/update_test.go index 26937a7..0523e8a 100644 --- a/update_test.go +++ b/update_test.go @@ -41,56 +41,171 @@ var envUpdateFuncTestCases = []struct { env: map[string]string{"GOLDEN_UPDATE": "y"}, want: true, }, + { + name: "GOLDEN_UPDATE set to Y", + env: map[string]string{"GOLDEN_UPDATE": "Y"}, + want: true, + }, { name: "GOLDEN_UPDATE set to n", env: map[string]string{"GOLDEN_UPDATE": "n"}, want: false, }, + { + name: "GOLDEN_UPDATE set to N", + env: map[string]string{"GOLDEN_UPDATE": "N"}, + want: false, + }, { name: "GOLDEN_UPDATE set to t", env: map[string]string{"GOLDEN_UPDATE": "t"}, want: true, }, + { + name: "GOLDEN_UPDATE set to T", + env: map[string]string{"GOLDEN_UPDATE": "T"}, + want: true, + }, { name: "GOLDEN_UPDATE set to f", env: map[string]string{"GOLDEN_UPDATE": "f"}, want: false, }, + { + name: "GOLDEN_UPDATE set to F", + env: map[string]string{"GOLDEN_UPDATE": "F"}, + want: false, + }, { name: "GOLDEN_UPDATE set to yes", env: map[string]string{"GOLDEN_UPDATE": "yes"}, want: true, }, + { + name: "GOLDEN_UPDATE set to Yes", + env: map[string]string{"GOLDEN_UPDATE": "Yes"}, + want: true, + }, + { + name: "GOLDEN_UPDATE set to YeS", + env: map[string]string{"GOLDEN_UPDATE": "YeS"}, + want: true, + }, + { + name: "GOLDEN_UPDATE set to YES", + env: map[string]string{"GOLDEN_UPDATE": "YES"}, + want: true, + }, { name: "GOLDEN_UPDATE set to no", env: map[string]string{"GOLDEN_UPDATE": "no"}, want: false, }, + { + name: "GOLDEN_UPDATE set to No", + env: map[string]string{"GOLDEN_UPDATE": "No"}, + want: false, + }, + { + name: "GOLDEN_UPDATE set to nO", + env: map[string]string{"GOLDEN_UPDATE": "nO"}, + want: false, + }, + { + name: "GOLDEN_UPDATE set to NO", + env: map[string]string{"GOLDEN_UPDATE": "NO"}, + want: false, + }, { name: "GOLDEN_UPDATE set to on", env: map[string]string{"GOLDEN_UPDATE": "on"}, want: true, }, + { + name: "GOLDEN_UPDATE set to oN", + env: map[string]string{"GOLDEN_UPDATE": "oN"}, + want: true, + }, + { + name: "GOLDEN_UPDATE set to On", + env: map[string]string{"GOLDEN_UPDATE": "On"}, + want: true, + }, + { + name: "GOLDEN_UPDATE set to ON", + env: map[string]string{"GOLDEN_UPDATE": "ON"}, + want: true, + }, { name: "GOLDEN_UPDATE set to off", env: map[string]string{"GOLDEN_UPDATE": "off"}, want: false, }, + { + name: "GOLDEN_UPDATE set to Off", + env: map[string]string{"GOLDEN_UPDATE": "Off"}, + want: false, + }, + { + name: "GOLDEN_UPDATE set to oFF", + env: map[string]string{"GOLDEN_UPDATE": "oFF"}, + want: false, + }, + { + name: "GOLDEN_UPDATE set to OFF", + env: map[string]string{"GOLDEN_UPDATE": "OFF"}, + want: false, + }, { name: "GOLDEN_UPDATE set to true", env: map[string]string{"GOLDEN_UPDATE": "true"}, want: true, }, + { + name: "GOLDEN_UPDATE set to True", + env: map[string]string{"GOLDEN_UPDATE": "True"}, + want: true, + }, + { + name: "GOLDEN_UPDATE set to TruE", + env: map[string]string{"GOLDEN_UPDATE": "TruE"}, + want: true, + }, + { + name: "GOLDEN_UPDATE set to TRUE", + env: map[string]string{"GOLDEN_UPDATE": "TRUE"}, + want: true, + }, { name: "GOLDEN_UPDATE set to false", env: map[string]string{"GOLDEN_UPDATE": "false"}, want: false, }, + { + name: "GOLDEN_UPDATE set to False", + env: map[string]string{"GOLDEN_UPDATE": "False"}, + want: false, + }, + { + name: "GOLDEN_UPDATE set to FaLsE", + env: map[string]string{"GOLDEN_UPDATE": "FaLsE"}, + want: false, + }, + { + name: "GOLDEN_UPDATE set to FALSE", + env: map[string]string{"GOLDEN_UPDATE": "FALSE"}, + want: false, + }, { name: "GOLDEN_UPDATE set to foobarnopebbq", env: map[string]string{"GOLDEN_UPDATE": "foobarnopebbq"}, want: false, }, + { + name: "GOLDEN_UPDATE set to FOOBARNOPEBBQ", + env: map[string]string{"GOLDEN_UPDATE": "FOOBARNOPEBBQ"}, + want: false, + }, } func TestEnvUpdateFunc(t *testing.T) {