package command import ( "reflect" "testing" ) func TestMetaColorize(t *testing.T) { var m *Meta var args, args2 []string // Test basic, color m = new(Meta) m.Color = true args = []string{"foo", "bar"} args2 = []string{"foo", "bar"} args = m.process(args, false) if !reflect.DeepEqual(args, args2) { t.Fatalf("bad: %#v", args) } if m.Colorize().Disable { t.Fatal("should not be disabled") } // Test basic, no change m = new(Meta) args = []string{"foo", "bar"} args2 = []string{"foo", "bar"} args = m.process(args, false) if !reflect.DeepEqual(args, args2) { t.Fatalf("bad: %#v", args) } if !m.Colorize().Disable { t.Fatal("should be disabled") } // Test disable #1 m = new(Meta) m.Color = true args = []string{"foo", "-no-color", "bar"} args2 = []string{"foo", "bar"} args = m.process(args, false) if !reflect.DeepEqual(args, args2) { t.Fatalf("bad: %#v", args) } if !m.Colorize().Disable { t.Fatal("should be disabled") } } func TestMetaInput(t *testing.T) { m := new(Meta) args := []string{} fs := m.flagSet("foo") if err := fs.Parse(args); err != nil { t.Fatalf("err: %s", err) } if !m.Input() { t.Fatal("should input") } } func TestMetaInput_disable(t *testing.T) { m := new(Meta) args := []string{"-input=false"} fs := m.flagSet("foo") if err := fs.Parse(args); err != nil { t.Fatalf("err: %s", err) } if m.Input() { t.Fatal("should not input") } } func TestMetaInput_vars(t *testing.T) { m := new(Meta) args := []string{"-var", "foo=bar"} fs := m.flagSet("foo") if err := fs.Parse(args); err != nil { t.Fatalf("err: %s", err) } if m.Input() { t.Fatal("should not input") } }