Hey,
here is something tricky I think :
on the 5th test, you have a file name which is ".gif", I was thinking that a filename was like "xxx.gif" with at least an "x", it's rare but it exists without "x", I'm ok with it, but maybe this test can be made on the 3rd test and not on the 5th (which is very long, so it's hard to find where it isn't working)
I hope I have been clear 
Simon