refactor Factory make it interface

This commit is contained in:
AdoHe 2016-10-13 08:09:26 +08:00
parent 06c1f2ba2c
commit 593d8e0d7c
2 changed files with 639 additions and 587 deletions

File diff suppressed because it is too large Load Diff

View File

@ -55,7 +55,7 @@ import (
func TestNewFactoryDefaultFlagBindings(t *testing.T) { func TestNewFactoryDefaultFlagBindings(t *testing.T) {
factory := NewFactory(nil) factory := NewFactory(nil)
if !factory.flags.HasFlags() { if !factory.FlagSet().HasFlags() {
t.Errorf("Expected flags, but didn't get any") t.Errorf("Expected flags, but didn't get any")
} }
} }
@ -64,8 +64,8 @@ func TestNewFactoryNoFlagBindings(t *testing.T) {
clientConfig := clientcmd.NewDefaultClientConfig(*clientcmdapi.NewConfig(), &clientcmd.ConfigOverrides{}) clientConfig := clientcmd.NewDefaultClientConfig(*clientcmdapi.NewConfig(), &clientcmd.ConfigOverrides{})
factory := NewFactory(clientConfig) factory := NewFactory(clientConfig)
if factory.flags.HasFlags() { if factory.FlagSet().HasFlags() {
t.Errorf("Expected zero flags, but got %v", factory.flags) t.Errorf("Expected zero flags, but got %v", factory.FlagSet())
} }
} }
@ -229,12 +229,12 @@ func TestCanBeExposed(t *testing.T) {
func TestFlagUnderscoreRenaming(t *testing.T) { func TestFlagUnderscoreRenaming(t *testing.T) {
factory := NewFactory(nil) factory := NewFactory(nil)
factory.flags.SetNormalizeFunc(flag.WordSepNormalizeFunc) factory.FlagSet().SetNormalizeFunc(flag.WordSepNormalizeFunc)
factory.flags.Bool("valid_flag", false, "bool value") factory.FlagSet().Bool("valid_flag", false, "bool value")
// In case of failure of this test check this PR: spf13/pflag#23 // In case of failure of this test check this PR: spf13/pflag#23
if factory.flags.Lookup("valid_flag").Name != "valid-flag" { if factory.FlagSet().Lookup("valid_flag").Name != "valid-flag" {
t.Fatalf("Expected flag name to be valid-flag, got %s", factory.flags.Lookup("valid_flag").Name) t.Fatalf("Expected flag name to be valid-flag, got %s", factory.FlagSet().Lookup("valid_flag").Name)
} }
} }