| #include "clar_libgit2.h" |
| |
| void test_refs_isvalidname__can_detect_invalid_formats(void) |
| { |
| cl_assert_equal_i(false, git_reference_is_valid_name("refs/tags/0.17.0^{}")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("TWO/LEVELS")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("ONE.LEVEL")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("HEAD/")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("NO_TRAILING_UNDERSCORE_")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("_NO_LEADING_UNDERSCORE")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("HEAD/aa")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("lower_case")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("/stupid/name/master")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("/")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("//")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("")); |
| cl_assert_equal_i(false, git_reference_is_valid_name("refs/heads/sub.lock/webmatrix")); |
| } |
| |
| void test_refs_isvalidname__wont_hopefully_choke_on_valid_formats(void) |
| { |
| cl_assert_equal_i(true, git_reference_is_valid_name("refs/tags/0.17.0")); |
| cl_assert_equal_i(true, git_reference_is_valid_name("refs/LEVELS")); |
| cl_assert_equal_i(true, git_reference_is_valid_name("HEAD")); |
| cl_assert_equal_i(true, git_reference_is_valid_name("ONE_LEVEL")); |
| cl_assert_equal_i(true, git_reference_is_valid_name("refs/stash")); |
| cl_assert_equal_i(true, git_reference_is_valid_name("refs/remotes/origin/bim_with_3d@11296")); |
| cl_assert_equal_i(true, git_reference_is_valid_name("refs/master{yesterday")); |
| cl_assert_equal_i(true, git_reference_is_valid_name("refs/master}yesterday")); |
| cl_assert_equal_i(true, git_reference_is_valid_name("refs/master{yesterday}")); |
| } |