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