summaryrefslogtreecommitdiff
path: root/tests/libgit2/network/remote/isvalidname.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/libgit2/network/remote/isvalidname.c')
-rw-r--r--tests/libgit2/network/remote/isvalidname.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/libgit2/network/remote/isvalidname.c b/tests/libgit2/network/remote/isvalidname.c
new file mode 100644
index 000000000..a3080f67c
--- /dev/null
+++ b/tests/libgit2/network/remote/isvalidname.c
@@ -0,0 +1,24 @@
+#include "clar_libgit2.h"
+
+static int is_valid_name(const char *name)
+{
+ int valid = 0;
+ cl_git_pass(git_remote_name_is_valid(&valid, name));
+ return valid;
+}
+
+void test_network_remote_isvalidname__can_detect_invalid_formats(void)
+{
+ cl_assert_equal_i(false, is_valid_name("/"));
+ cl_assert_equal_i(false, is_valid_name("//"));
+ cl_assert_equal_i(false, is_valid_name(".lock"));
+ cl_assert_equal_i(false, is_valid_name("a.lock"));
+ cl_assert_equal_i(false, is_valid_name("/no/leading/slash"));
+ cl_assert_equal_i(false, is_valid_name("no/trailing/slash/"));
+}
+
+void test_network_remote_isvalidname__wont_hopefully_choke_on_valid_formats(void)
+{
+ cl_assert_equal_i(true, is_valid_name("webmatrix"));
+ cl_assert_equal_i(true, is_valid_name("yishaigalatzer/rules"));
+}