Torsten Bögershausen [off-list ref] writes:
My personal favorite would be to spell out what we expect and run a diff.
When it fails, we can see what fails, and the function would look
like this:
I'd rather not to have the "sort" there; output from ls-files is
meant to be stable; passing it through sort would miss breakages. I
agree that comparison between "expect" and "actual" is a good idea
nevertheless.
Speaking of styles, I'd prefer to reserve use of "touch" to cases
where resulting timestamp matters, and not "make sure it exists".
Thanks.
test_expect_success CASE_INSENSITIVE_FS 'add directory (with different case)' '
git reset --hard initial &&
mkdir -p dir1 &&
mkdir -p dir1/dir2 &&
touch dir1/dir2/a &&
touch dir1/dir2/b &&
git add dir1/dir2/a &&
git add dir1/DIR2/b &&
git ls-files | grep dir2 | sort >actual &&
cat >expected <<-\EOF &&
dir1/dir2/a
dir1/dir2/b
EOF
test_cmp expected actual
'