| #!/bin/sh | 
 |  | 
 | test_description='test case insensitive pathspec limiting' | 
 | . ./test-lib.sh | 
 |  | 
 | if test_have_prereq CASE_INSENSITIVE_FS | 
 | then | 
 | 	skip_all='skipping case sensitive tests - case insensitive file system' | 
 | 	test_done | 
 | fi | 
 |  | 
 | test_expect_success 'create commits with glob characters' ' | 
 | 	test_commit bar bar && | 
 | 	test_commit bAr bAr && | 
 | 	test_commit BAR BAR && | 
 | 	mkdir foo && | 
 | 	test_commit foo/bar foo/bar && | 
 | 	test_commit foo/bAr foo/bAr && | 
 | 	test_commit foo/BAR foo/BAR && | 
 | 	mkdir fOo && | 
 | 	test_commit fOo/bar fOo/bar && | 
 | 	test_commit fOo/bAr fOo/bAr && | 
 | 	test_commit fOo/BAR fOo/BAR && | 
 | 	mkdir FOO && | 
 | 	test_commit FOO/bar FOO/bar && | 
 | 	test_commit FOO/bAr FOO/bAr && | 
 | 	test_commit FOO/BAR FOO/BAR | 
 | ' | 
 |  | 
 | test_expect_success 'tree_entry_interesting matches bar' ' | 
 | 	echo bar >expect && | 
 | 	git log --format=%s -- "bar" >actual && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_expect_success 'tree_entry_interesting matches :(icase)bar' ' | 
 | 	cat <<-EOF >expect && | 
 | 	BAR | 
 | 	bAr | 
 | 	bar | 
 | 	EOF | 
 | 	git log --format=%s -- ":(icase)bar" >actual && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_expect_success 'tree_entry_interesting matches :(icase)bar with prefix' ' | 
 | 	cat <<-EOF >expect && | 
 | 	fOo/BAR | 
 | 	fOo/bAr | 
 | 	fOo/bar | 
 | 	EOF | 
 | 	( cd fOo && git log --format=%s -- ":(icase)bar" ) >actual && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_expect_success 'tree_entry_interesting matches :(icase)bar with empty prefix' ' | 
 | 	cat <<-EOF >expect && | 
 | 	FOO/BAR | 
 | 	FOO/bAr | 
 | 	FOO/bar | 
 | 	fOo/BAR | 
 | 	fOo/bAr | 
 | 	fOo/bar | 
 | 	foo/BAR | 
 | 	foo/bAr | 
 | 	foo/bar | 
 | 	EOF | 
 | 	( cd fOo && git log --format=%s -- ":(icase)../foo/bar" ) >actual && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_expect_success 'match_pathspec matches :(icase)bar' ' | 
 | 	cat <<-EOF >expect && | 
 | 	BAR | 
 | 	bAr | 
 | 	bar | 
 | 	EOF | 
 | 	git ls-files ":(icase)bar" >actual && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_expect_success 'match_pathspec matches :(icase)bar with prefix' ' | 
 | 	cat <<-EOF >expect && | 
 | 	fOo/BAR | 
 | 	fOo/bAr | 
 | 	fOo/bar | 
 | 	EOF | 
 | 	( cd fOo && git ls-files --full-name ":(icase)bar" ) >actual && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_expect_success 'match_pathspec matches :(icase)bar with empty prefix' ' | 
 | 	cat <<-EOF >expect && | 
 | 	bar | 
 | 	fOo/BAR | 
 | 	fOo/bAr | 
 | 	fOo/bar | 
 | 	EOF | 
 | 	( cd fOo && git ls-files --full-name ":(icase)bar" ../bar ) >actual && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_expect_success '"git diff" can take magic :(icase) pathspec' ' | 
 | 	echo FOO/BAR >expect && | 
 | 	git diff --name-only HEAD^ HEAD -- ":(icase)foo/bar" >actual && | 
 | 	test_cmp expect actual | 
 | ' | 
 |  | 
 | test_done |