Source File: go-coreutils/tested/cat/cat_test.go
package main
import (
"testing"
"os"
)
func WithArgs(args []string, test func ()) {
old_args := os.Args
defer (func() { os.Args = old_args })()
os.Args = args
test()
}
func TestParseOpts(t *testing.T) {
args := []string{"cat", "-n", "main.go"}
WithArgs(args, func () {
opts := ParseOpts()
if opts.Number != true {
t.Errorf("opts.Number should be true, not: %v", opts.Number)
}
})
/*
// This fails because flag can't be run more than once
args = []string{"cat.exe", "-s", "main.go"}
WithArgs(args, func () {
opts := ParseOpts()
if opts.Number != true {
t.Errorf("opts.Number should be true, not: %v", opts.Number)
}
})
*/
}