quicksilver/Quicksilver — pull request #713 by HenningJ (2012-02-21 22:10:39+00:00)
Title: Wildcard resolving in paths + Unit testing

This fixes #633.
Before this, when it had to resolve a directory, it would just use the last file in that directory. Even if the rest of the path then wouldn't lead to a file. For example the path to resolve would be `~/Library/Application Support/Firefox/Profiles/*/places.sqlite` and `~/Library/Application Support/Firefox/Profiles/` would contain one actual profiles folder (`aaa.default`) and some other file ('yyy.txt´), it would resolve to `/Users/X/Library/Application Support/Firefox/Profiles/yyy.txt/places.sqlite`, even though that file obviously doesn't exist.

Now it uses the first file instead, but only, if the final file actually exists.

But the more interesting part of this pull request is that I set up a unit testing environment for Quicksilver. I'm sure using unit testing would greatly benefit Quicksilver development. But I'll try to write more about that on the dev-list soon(ish). For now I have just set up tests for the `QSFoundation.framework` and added some tests for the changes in this pull request. Check out anything in the `Tests` group and the `FoundationTests` target. Just building that target should compile the `QSFoundation.framework` and run the corresponding tests.