diff --git a/default.go b/default.go index 433371b..a9589ed 100644 --- a/default.go +++ b/default.go @@ -88,10 +88,6 @@ func SetString(key string, value string) { defaultConfigManager.SetString(key, value) } -func Delete(key string) { - defaultConfigManager.Delete(key) -} - func Sub(key string) *ConfigManager { return defaultConfigManager.Sub(key) } diff --git a/jety_test.go b/jety_test.go index 8f68b6c..6271ad7 100644 --- a/jety_test.go +++ b/jety_test.go @@ -1555,81 +1555,6 @@ func TestPackageLevelGetInt64(t *testing.T) { } } -func TestDelete(t *testing.T) { - cm := NewConfigManager() - cm.SetDefault("keep", "yes") - cm.SetDefault("remove", "default") - cm.Set("remove", "override") - - if !cm.IsSet("remove") { - t.Fatal("remove should be set before delete") - } - - cm.Delete("remove") - - if cm.IsSet("remove") { - t.Error("remove should not be set after delete") - } - if cm.Get("remove") != nil { - t.Error("Get(remove) should return nil after delete") - } - if cm.GetString("keep") != "yes" { - t.Error("keep should be unaffected by deleting remove") - } -} - -func TestDeleteFromAllLayers(t *testing.T) { - dir := t.TempDir() - configFile := filepath.Join(dir, "config.toml") - if err := os.WriteFile(configFile, []byte(`filekey = "fromfile"`), 0o644); err != nil { - t.Fatal(err) - } - - cm := NewConfigManager() - cm.SetConfigFile(configFile) - if err := cm.SetConfigType("toml"); err != nil { - t.Fatal(err) - } - cm.SetDefault("filekey", "default") - if err := cm.ReadInConfig(); err != nil { - t.Fatal(err) - } - cm.Set("filekey", "override") - - if cm.GetString("filekey") != "override" { - t.Fatal("expected override value before delete") - } - - cm.Delete("filekey") - - if cm.IsSet("filekey") { - t.Error("filekey should not be set after delete from all layers") - } -} - -func TestDeleteCaseInsensitive(t *testing.T) { - cm := NewConfigManager() - cm.Set("MyKey", "value") - - cm.Delete("MYKEY") - - if cm.IsSet("mykey") { - t.Error("delete should be case-insensitive") - } -} - -func TestPackageLevelDelete(t *testing.T) { - defaultConfigManager = NewConfigManager() - Set("temp", "value") - if !IsSet("temp") { - t.Fatal("temp should be set") - } - Delete("temp") - if IsSet("temp") { - t.Error("temp should not be set after package-level Delete") - } -} - func TestSub(t *testing.T) { dir := t.TempDir() configFile := filepath.Join(dir, "config.toml") diff --git a/setters.go b/setters.go index 553ef66..ebaf3d9 100644 --- a/setters.go +++ b/setters.go @@ -28,19 +28,6 @@ func (c *ConfigManager) Set(key string, value any) { c.combinedConfig[lower] = ConfigMap{Key: key, Value: value} } -// Delete removes a key from all configuration layers (overrides, file, -// defaults) and rebuilds the combined configuration. Environment variables -// are not affected since they are loaded from the process environment. -func (c *ConfigManager) Delete(key string) { - c.mutex.Lock() - lower := strings.ToLower(key) - delete(c.overrideConfig, lower) - delete(c.fileConfig, lower) - delete(c.defaultConfig, lower) - delete(c.combinedConfig, lower) - c.mutex.Unlock() -} - func (c *ConfigManager) SetDefault(key string, value any) { c.mutex.Lock() defer c.mutex.Unlock()