Index: logdog/common/types/streamaddr_test.go |
diff --git a/logdog/common/types/streamaddr_test.go b/logdog/common/types/streamaddr_test.go |
index f58be1d23ec86e73b413c6263b50a9b5e17924a1..1f8a9b2dec21fa07b06d281397ccd70d8db64cd7 100644 |
--- a/logdog/common/types/streamaddr_test.go |
+++ b/logdog/common/types/streamaddr_test.go |
@@ -5,6 +5,7 @@ |
package types |
import ( |
+ "flag" |
"fmt" |
"net/url" |
"testing" |
@@ -57,4 +58,25 @@ func TestStreamAddr(t *testing.T) { |
}) |
} |
}) |
+ |
+ Convey(`StreamAddr is a flag.Value`, t, func() { |
+ fs := flag.NewFlagSet("testing", flag.ContinueOnError) |
+ a := &StreamAddr{} |
+ |
+ fs.Var(a, "addr", "its totally an address of a thing") |
+ |
+ Convey(`good`, func() { |
+ So(fs.Parse([]string{"-addr", "logdog://host/project/a/+/b"}), ShouldBeNil) |
+ So(a, ShouldResemble, &StreamAddr{ |
+ "host", |
+ "project", |
+ "a/+/b", |
+ }) |
+ }) |
+ |
+ Convey(`bad`, func() { |
+ So(fs.Parse([]string{"-addr", "://host/project/a/+/b"}), ShouldErrLike, |
+ "failed to parse URL") |
+ }) |
+ }) |
} |