1package flags 2 3import ( 4 "testing" 5) 6 7func TestPassDoubleDash(t *testing.T) { 8 var opts = struct { 9 Value bool `short:"v"` 10 }{} 11 12 p := NewParser(&opts, PassDoubleDash) 13 ret, err := p.ParseArgs([]string{"-v", "--", "-v", "-g"}) 14 15 if err != nil { 16 t.Fatalf("Unexpected error: %v", err) 17 return 18 } 19 20 if !opts.Value { 21 t.Errorf("Expected Value to be true") 22 } 23 24 assertStringArray(t, ret, []string{"-v", "-g"}) 25} 26 27func TestPassAfterNonOption(t *testing.T) { 28 var opts = struct { 29 Value bool `short:"v"` 30 }{} 31 32 p := NewParser(&opts, PassAfterNonOption) 33 ret, err := p.ParseArgs([]string{"-v", "arg", "-v", "-g"}) 34 35 if err != nil { 36 t.Fatalf("Unexpected error: %v", err) 37 return 38 } 39 40 if !opts.Value { 41 t.Errorf("Expected Value to be true") 42 } 43 44 assertStringArray(t, ret, []string{"arg", "-v", "-g"}) 45} 46