From 4bff4910b512b364105ab0c2dbfba1998d43c015 Mon Sep 17 00:00:00 2001
From: Stephen J Day <stephen.day@docker.com>
Date: Thu, 4 Jun 2015 16:12:35 -0700
Subject: [PATCH] Add more repository name validation test cases

Signed-off-by: Stephen J Day <stephen.day@docker.com>
---
 registry/api/v2/names_test.go | 36 +++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/registry/api/v2/names_test.go b/registry/api/v2/names_test.go
index d1dd2b48..0975fb7c 100644
--- a/registry/api/v2/names_test.go
+++ b/registry/api/v2/names_test.go
@@ -73,6 +73,42 @@ func TestRepositoryNameRegexp(t *testing.T) {
 			input: strings.Repeat("a", 256),
 			err:   ErrRepositoryNameLong,
 		},
+		{
+			input: "-foo/bar",
+			err:   ErrRepositoryNameComponentInvalid,
+		},
+		{
+			input: "foo/bar-",
+			err:   ErrRepositoryNameComponentInvalid,
+		},
+		{
+			input: "foo-/bar",
+			err:   ErrRepositoryNameComponentInvalid,
+		},
+		{
+			input: "foo/-bar",
+			err:   ErrRepositoryNameComponentInvalid,
+		},
+		{
+			input: "_foo/bar",
+			err:   ErrRepositoryNameComponentInvalid,
+		},
+		{
+			input: "foo/bar_",
+			err:   ErrRepositoryNameComponentInvalid,
+		},
+		{
+			input: "____/____",
+			err:   ErrRepositoryNameComponentInvalid,
+		},
+		{
+			input: "_docker/_docker",
+			err:   ErrRepositoryNameComponentInvalid,
+		},
+		{
+			input: "docker_/docker_",
+			err:   ErrRepositoryNameComponentInvalid,
+		},
 	} {
 
 		failf := func(format string, v ...interface{}) {