|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
diff -up viper-1.7.1/viper_test.go.orig viper-1.7.1/viper_test.go
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
--- viper-1.7.1/viper_test.go.orig 2020-07-31 23:39:06.000000000 +0200
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
+++ viper-1.7.1/viper_test.go 2020-08-10 20:17:26.459993195 +0200
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
@@ -859,96 +859,6 @@ func TestBindPFlags(t *testing.T) {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
}
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
}
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-func TestBindPFlagsStringSlice(t *testing.T) {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- tests := []struct {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- Expected []string
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- Value string
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }{
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- {nil, ""},
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- {[]string{"jeden"}, "jeden"},
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- {[]string{"dwa", "trzy"}, "dwa,trzy"},
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- {[]string{"cztery", "piec , szesc"}, "cztery,\"piec , szesc\""},
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- v := New() // create independent Viper object
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- defaultVal := []string{"default"}
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- v.SetDefault("stringslice", defaultVal)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- for _, testValue := range tests {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- flagSet := pflag.NewFlagSet("test", pflag.ContinueOnError)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- flagSet.StringSlice("stringslice", testValue.Expected, "test")
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- for _, changed := range []bool{true, false} {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- flagSet.VisitAll(func(f *pflag.Flag) {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- f.Value.Set(testValue.Value)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- f.Changed = changed
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- })
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- err := v.BindPFlags(flagSet)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- if err != nil {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- t.Fatalf("error binding flag set, %v", err)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- type TestStr struct {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- StringSlice []string
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- val := &TestStr{}
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- if err := v.Unmarshal(val); err != nil {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- t.Fatalf("%+#v cannot unmarshal: %s", testValue.Value, err)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- if changed {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- assert.Equal(t, testValue.Expected, val.StringSlice)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- } else {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- assert.Equal(t, defaultVal, val.StringSlice)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-}
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-func TestBindPFlagsIntSlice(t *testing.T) {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- tests := []struct {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- Expected []int
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- Value string
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }{
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- {nil, ""},
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- {[]int{1}, "1"},
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- {[]int{2, 3}, "2,3"},
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- v := New() // create independent Viper object
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- defaultVal := []int{0}
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- v.SetDefault("intslice", defaultVal)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- for _, testValue := range tests {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- flagSet := pflag.NewFlagSet("test", pflag.ContinueOnError)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- flagSet.IntSlice("intslice", testValue.Expected, "test")
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- for _, changed := range []bool{true, false} {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- flagSet.VisitAll(func(f *pflag.Flag) {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- f.Value.Set(testValue.Value)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- f.Changed = changed
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- })
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- err := v.BindPFlags(flagSet)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- if err != nil {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- t.Fatalf("error binding flag set, %v", err)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- type TestInt struct {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- IntSlice []int
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- val := &TestInt{}
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- if err := v.Unmarshal(val); err != nil {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- t.Fatalf("%+#v cannot unmarshal: %s", testValue.Value, err)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- if changed {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- assert.Equal(t, testValue.Expected, val.IntSlice)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- } else {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- assert.Equal(t, defaultVal, val.IntSlice)
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
- }
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
-}
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
func TestBindPFlag(t *testing.T) {
|
|
![](https://seccdn.libravatar.org/avatar/d39b265ba4de0763d7a95d149ca7ee52cc5ff3e3a3dc13eecee1652927748f2b?s=16&d=retro) |
1d5ebdd |
var testString = "testing"
|