| 26 | } |
| 27 | |
| 28 | func TestWindowsFileMapper(t *testing.T) { |
| 29 | type CLI struct { |
| 30 | File *os.File `arg:""` |
| 31 | } |
| 32 | var cli CLI |
| 33 | p := mustNew(t, &cli) |
| 34 | _, err := p.Parse([]string{"testdata\\file.txt"}) |
| 35 | assert.NoError(t, err) |
| 36 | assert.NotZero(t, cli.File, "File should not be nil") |
| 37 | _ = cli.File.Close() |
| 38 | _, err = p.Parse([]string{"testdata\\missing.txt"}) |
| 39 | assert.Error(t, err) |
| 40 | assert.Contains(t, err.Error(), "missing.txt:") |
| 41 | assert.IsError(t, err, os.ErrNotExist) |
| 42 | _, err = p.Parse([]string{"-"}) |
| 43 | assert.NoError(t, err) |
| 44 | assert.Equal(t, os.Stdin, cli.File) |
| 45 | } |